Sudo
และ/etc/sudoers
ไฟล์ไม่ได้มีไว้สำหรับให้สิทธิ์การเข้าถึงรูทแก่ผู้ใช้อย่างเต็มรูปแบบ
คุณสามารถแก้ไขไฟล์ sudoers ด้วยผู้ใช้ sudo ที่มีอยู่ด้วยคำสั่ง sudo visudo
คุณสามารถจัดกลุ่มคำสั่งที่คุณต้องการให้สิทธิ์การเข้าถึงด้านล่าง:
Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
Cmnd_Alias UPDATE_COMMANDS = /usr/bin/apt-get
จากนั้นคุณสามารถให้สิทธิ์ผู้ใช้เฉพาะแก่คำสั่งเหล่านั้นเช่น:
[User's name] ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS, UPDATE_COMMANDS
สามารถดูได้ในภาพด้านล่าง:
ตอนนี้ถ้าคุณลองsudo apt-get update
หรือsudo apt-get dist-upgrade
คำสั่งดังกล่าวจะดำเนินการโดยไม่ต้องขอรหัสผ่าน หากคุณต้องการให้ใส่รหัสผ่านให้ลบNOPASSWD
บิตที่คุณให้สิทธิ์การเข้าถึงแก่ผู้ใช้ในกลุ่มคำสั่ง
หากคุณพยายามเรียกใช้สิ่งอื่นในฐานะsudo
ผู้ใช้คุณจะได้รับแจ้งให้ป้อนรหัสผ่านและล้มเหลว
อ้างอิง
man sudoers
sudo cat /etc/sudoers