กำลังพยายามจัดการเว็บอินเตอร์เฟส IPtables
สร้างไฟล์ test.php
$output = shell_exec('sudo bash /usr/bin/iptables.sh 2>&1');
เสียงสะท้อน $output;
ให้ /usr/bin/iptables.sh NOPASSWD เพื่อให้ฉันสามารถรันไฟล์ด้วย sudo ผ่าน apache โดยไม่ต้องใช้รหัสผ่าน
sudo iptables -L
ไฟล์ sudoers :
apache ALL=(รูท) NOPASSWD: /usr/bin/iptables.sh
แต่ฉันยังคงได้รับข้อผิดพลาด
เราเชื่อว่าคุณได้รับการบรรยายตามปกติจากระบบท้องถิ่น
ผู้ดูแลระบบ โดยปกติแล้วจะสรุปเป็นสามสิ่งนี้: #1)
เคารพความเป็นส่วนตัวของผู้อื่น #2) คิดก่อนพิมพ์ #3) ด้วย
พลังอันยิ่งใหญ่มาพร้อมกับความรับผิดชอบอันยิ่งใหญ่ sudo: จำเป็นต้องมีเทอร์มินัล
เพื่ออ่านรหัสผ่าน ใช้ตัวเลือก -S เพื่ออ่านจากมาตรฐาน
ป้อนหรือกำหนดค่าตัวช่วย askpass{"mode":"full","isActive":false}
แต่ถ้าผมใช้
apache ALL=(รูท) NOPASSWD: ALL
ทุกอย่างทำงานได้ดี
ฉันตรวจสอบไดเร็กทอรีของฉันอีกครั้งแล้วใช้เส้นทางที่แน่นอน
[root@CentOS bin]# readlink -f iptables.sh
/usr/bin/iptables.sh
ไร้เดียงสาสุด ๆ ที่นี่ใครสามารถช่วยฉันด้วยทิศทาง? :'(