จะให้สิทธิ์ sudo กับไฟล์สคริปต์เฉพาะได้อย่างไร


17

ฉันต้องการให้ผู้ใช้มีสิทธิ์ sudo (โดยไม่ตรวจสอบรหัสผ่าน) ให้กับเชลล์สคริปต์สองสามตัวภายใต้ไดเรกทอรีเฉพาะ (ในกรณีของฉัน/usr/local/tomcat7/bin) และไปที่อื่น วิธีที่ง่ายที่สุดในการทำสิ่งนี้ให้สำเร็จคืออะไร?

ดูเหมือนว่าสิ่งนี้/etc/sudoersจะไม่ทำงาน:

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin

คำตอบ:


22

ฉันคิดว่าคุณเกือบจะอยู่ที่นั่น ใส่/ท้ายไดเรกทอรีสเป็คของคุณ

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/

จากหน้า man sudoers

ไดเรกทอรีคือชื่อเส้นทางแบบเต็มซึ่งลงท้ายด้วย '/' เมื่อคุณระบุไดเรกทอรีใน Cmnd_List ผู้ใช้จะสามารถเรียกใช้ไฟล์ใด ๆ ภายในไดเรกทอรีนั้น (แต่ไม่ได้อยู่ในไดเรกทอรีย่อยใด ๆ )


ขอบคุณ (สำหรับผู้ตอบทั้งสองคน) เข้าใจแล้ว! หมายเหตุตนเอง: จำเป็นต้องเรียกใช้สคริปต์โดยตรง (เช่นsudo catalina.sh stop) - sudo sh catalina.sh stopนี้ไม่ได้ทำงาน:
Jonik

7

เพิ่มเครื่องหมายทับ '/' ที่ส่วนท้ายของเส้นทาง

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.