คุณต้องการให้แน่ใจว่าผู้ใช้ของคุณไม่สามารถเปลี่ยนแปลงสิ่งที่ได้รับอนุญาตให้ทำงานได้ ตัวอย่างเช่น โดยพยายามเพิ่มสคริปต์ของผู้ใช้ของคุณ (~/.bash_aliases/shutdown2h
) เพื่อเรียกใช้ในฐานะรูทผ่าน ซูโด
หากไม่มีรหัสผ่าน คุณจะอนุญาตให้เรียกใช้คำสั่งใดก็ได้ตามอำเภอใจ เพียงแก้ไขไฟล์นั้นและเรียกใช้ ก็จะเหมือนกับการอนุญาตให้ผู้ใช้เรียกใช้คำสั่งใด ๆ ผ่าน ซูโดเออร์
. ตัวอย่างเช่น ผู้ใช้จะแก้ไขไฟล์เพื่ออ่าน ตอนนี้
แทน -h +120
และปิดเครื่องทันที
แทนที่จะเป็นความคิดที่ดีกว่าที่จะเพิ่มสคริปต์ที่เป็นของผู้ใช้ root ลงในระบบ ซึ่งอาจจะเป็นใน /usr/local/bin/
. ตัวอย่างเช่น, /usr/local/bin/shutdown2h
, เรียกใช้งานได้โดยทุกคน แต่สามารถเขียนได้โดยรูทเท่านั้น ด้วยวิธีนี้ คุณจะมั่นใจได้ว่าผู้ใช้สามารถเรียกใช้สคริปต์เฉพาะ และสคริปต์นั้นไม่สามารถเปลี่ยนแปลงโดยผู้ใช้เพื่อเรียกใช้อย่างอื่นได้ เส้นทางที่คุณวางสคริปต์ควรอยู่ในของคุณ $เส้นทาง
, ที่ /usr/local/bin
ควรเป็นค่าเริ่มต้น
- สร้างสคริปต์
sudo vim /usr/local/bin/shutdown2h
#!/bin/bash
ปิดเครื่อง -h +120
- อนุญาตให้เรียกใช้สคริปต์
sudo chmod +x /usr/local/bin/shutdown2h
- อนุญาตให้ USER เรียกใช้สคริปต์เฉพาะ
ซูโด วิซูโด
#เพิ่มรายการนี้
ผู้ใช้ทั้งหมด=(ทั้งหมด) NOPASSWD: /usr/local/bin/shutdown2h
ตอนนี้ ผู้ใช้ของคุณสามารถเรียกใช้ sudo ปิดเครื่อง 2 ชม
โดยไม่ต้องถามรหัสผ่าน และต้องแน่ใจว่าผู้ใช้รายนั้นจะสามารถเรียกใช้ได้เท่านั้น ปิดเครื่อง -h +120
โดยไม่มีรหัสผ่าน
นอกจากนี้เมื่อทำ ซูโดเออร์
ตรวจสอบให้แน่ใจว่าได้ระบุเส้นทางแบบเต็มไปยังไฟล์เรียกทำงาน/สคริปต์ และอย่าใช้ทางลัดใดๆ เช่น ~/
หรือ $บ้าน
.