Burada neler olup bittiğini öğrenmeme yardımcı olan var mı? İzleme paketi sayılarını ayarlayan bazı kurallar var. Aşağıdaki komut dosyasını root olarak çalıştırdığımda:
#!/bin/bash
iptables -t mangle -xnvL
Beklediğim çıktıyı alıyorum:
//snip
233203 199929802 MARK //blah blah blah
//snip
Ancak, bunu apache olarak çalışan kaktüslerin bir parçası olarak çalıştırmak istiyorum. Şimdi apache iptables çalıştıramaz, bu yüzden senaryo var. SUID kökü olarak ayarladım :
-rwsr-sr-x 1 root root 37 May 14 23:06 iptables_packet_report.sh
Ama sonra bu çıktıyı alıyorum:
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.
Açıkçası benim çekirdeğim gayet iyi ve kök olmayan olarak çalıştırdığım bir şeyi karıştırıyor, ama nedenini anlamıyorum. SUID'yi [gösteri] ( http://en.wikipedia.org/wiki/Setuid#Demonstration) ile iki kez kontrol ettim ve çalıştığını doğruladım.
server # sudo -u apache ./printid
Real UID = 81
Effective UID = 0
Real GID = 81
Effective GID = 0
Son hedefim, apache olarak çalışırken iptables -t mangle -xnvL çıktısını almak, böylece hepsini güzelce grafiklemek için kaktüsler kullanabilirim.