ทุกครั้งที่ฉันต้องการเรียกใช้บางสิ่งบางอย่างที่ต้องใช้ฉันเป็นsudoerจำนวนมากเกินไปฉันต้อง google เพื่อจัดรูปแบบ/etc/sudoersเพื่อเตือนฉันอีกครั้งว่าวิธีที่เหมาะสมในการเขียนคืออะไร
ตอนนี้ฉันเห็นสไตล์การเขียนที่แตกต่างกันในsudoersไฟล์ของฉันซึ่งเป็นผลมาจากผลการค้นหา google ที่แตกต่างกันในช่วงหลายเดือนที่ผ่านมา ฉันยังสังเกตเห็นว่าตัวอย่างที่สอง (ด้านล่าง) ดูเหมือนว่าจะทำงานใน XFCE แต่ไม่ใช่ใน Cinnamon (Gnome 3) สิ่งนี้อาจไม่เกี่ยวข้องกันโดยสิ้นเชิง แต่ถึงกระนั้นฉันอยากรู้เพียงครั้งเดียวไวยากรณ์ที่ถูกต้องของสาย sudoer คืออะไรและอะไรคือความแตกต่างระหว่างตัวอย่างที่ให้มา
redsandro ALL=NOPASSWD:/path/to/commandredsandro ALL=(ALL) NOPASSWD:/path/to/commandredsandro ALL=(ALL:ALL) NOPASSWD:/path/to/command
นอกจากนี้ยังมีไว้ALLเพื่ออะไร? ผู้ใช้หนึ่งคนหนึ่งคำสั่ง แต่ฉันต้องใช้ALLคำหลักมากถึงสามครั้ง? ฉันทำสิ่งนี้ผิดหรือเปล่า?
แน่นอนถนัดNOPASSWD:ทำให้คุณใส่รหัสผ่านของคุณก่อนที่คุณจะได้รับอนุญาตให้ใช้คำสั่ง แต่จุดหนึ่งของความสับสนคือการใช้งานของ=และ:สำหรับคำสั่งสุดท้ายที่เป็นเรื่องของสายที่สามารถใช้ได้โดยทั้ง=, :, หรือ), ไวยากรณ์ทำให้สับสนสำหรับความหมายที่คล้ายกัน
sudoersไวยากรณ์ การอ่าน man page นั้นน่าหงุดหงิดยิ่งขึ้น: มันอธิบายถึงสิ่งที่เรียกว่า EBNF ที่กระชับและถูกต้องตัวอย่างที่มีความยาวอย่างละเอียด ดังนั้นฉันไม่แปลกใจที่พบเธรดจำนวนมากที่นี่เกี่ยวกับไฟล์นี้