এখানে কি চলছে তা জানতে কেউ আমাকে সহায়তা করতে পারেন? আমার ট্র্যাকিংয়ের প্যাকেট গণনার কয়েকটি বিধি রয়েছে। আমি যখন নিম্নলিখিত স্ক্রিপ্টটি রুট হিসাবে চালিত করি:
#!/bin/bash
iptables -t mangle -xnvL
আমি প্রত্যাশিত আউটপুটটি পেয়েছি:
//snip
233203 199929802 MARK //blah blah blah
//snip
যাইহোক, আমি এটি ক্যাকটির অংশ হিসাবে চালাতে চাই, যা অ্যাপাচি হিসাবে চলে। এখন অ্যাপাচি iptables চালাতে পারে না, এ কারণেই আমার স্ক্রিপ্ট আছে। আমি এটিকে SID মূল হিসাবে সেট আপ করেছি :
-rwsr-sr-x 1 root root 37 May 14 23:06 iptables_packet_report.sh
তবে আমি এই আউটপুট পেতে:
server # sudo -u apache ./iptables_packet_report.sh
iptables v1.4.2: can't initialize iptables table `mangle': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
স্পষ্টতই আমার কর্নেলটি ভাল, এবং আমি একে অ-মূল হিসাবে চালিয়ে যাচ্ছি এমন কিছু গোলমাল করছে, তবে কেন তা বুঝতে পারছি না। আমি [বিক্ষোভের] সাথে এসইউডিটি ডাবল চেক করেছি ( http://en.wikedia.org/wiki/Setuid# প্রদর্শনী এবং নিশ্চিত হয়ে গেছে যে এটি কাজ করছে)।
server # sudo -u apache ./printid
Real UID = 81
Effective UID = 0
Real GID = 81
Effective GID = 0
আমার শেষ লক্ষ্যটি হ'ল এপাচি হিসাবে চালানোর সময় iptables -t mangle -xnvL এর আউটপুট পাওয়া যাতে আমি এটিকে সমস্ত সুন্দরভাবে গ্রাফ করতে ক্যাকটি ব্যবহার করতে পারি।