โฮมเพจ » ทำอย่างไร » 8 วิธีในการปรับแต่งและตั้งค่า Sudo บน Ubuntu

    8 วิธีในการปรับแต่งและตั้งค่า Sudo บน Ubuntu

    เช่นเดียวกับสิ่งส่วนใหญ่บน Linux คำสั่ง sudo สามารถกำหนดค่าได้อย่างมาก คุณสามารถให้ sudo รันคำสั่งเฉพาะโดยไม่ต้องขอรหัสผ่าน จำกัด ผู้ใช้เฉพาะคำสั่งที่ได้รับอนุมัติเท่านั้นคำสั่งบันทึกการทำงานที่เรียกใช้ด้วย sudo และอื่น ๆ.

    พฤติกรรมของคำสั่ง sudo นั้นควบคุมโดยไฟล์ / etc / sudoers บนระบบของคุณ คำสั่งนี้จะต้องแก้ไขด้วยคำสั่ง visudo ซึ่งดำเนินการตรวจสอบไวยากรณ์เพื่อให้แน่ใจว่าคุณจะไม่ทำลายไฟล์โดยไม่ตั้งใจ.

    ระบุผู้ใช้ที่มีสิทธิ์ Sudo

    บัญชีผู้ใช้ที่คุณสร้างขณะติดตั้ง Ubuntu ถูกทำเครื่องหมายเป็นบัญชีผู้ดูแลระบบซึ่งหมายความว่าสามารถใช้ sudo ได้ บัญชีผู้ใช้เพิ่มเติมใด ๆ ที่คุณสร้างหลังจากการติดตั้งอาจเป็นบัญชีผู้ดูแลระบบหรือบัญชีผู้ใช้มาตรฐาน - บัญชีผู้ใช้มาตรฐานไม่ได้รับอนุญาต sudo.

    คุณสามารถควบคุมประเภทบัญชีผู้ใช้แบบกราฟิกจากเครื่องมือบัญชีผู้ใช้ของอูบุนตู หากต้องการเปิดคลิกชื่อผู้ใช้ของคุณบนแผงควบคุมและเลือกบัญชีผู้ใช้หรือค้นหาบัญชีผู้ใช้ในเส้นประ.

    ทำให้ Sudo ลืมรหัสผ่าน

    ตามค่าเริ่มต้น sudo จะจดจำรหัสผ่านของคุณเป็นเวลา 15 นาทีหลังจากที่คุณพิมพ์ นี่คือเหตุผลที่คุณต้องพิมพ์รหัสผ่านของคุณเพียงครั้งเดียวเมื่อสั่งงานหลายคำสั่งด้วย sudo อย่างรวดเร็ว หากคุณกำลังจะให้คนอื่นใช้คอมพิวเตอร์ของคุณและคุณต้องการให้ sudo ขอรหัสผ่านเมื่อมันทำงานต่อไปให้รันคำสั่งต่อไปนี้แล้ว sudo จะลืมรหัสผ่านของคุณ:

    sudo -k

    ขอรหัสผ่านเสมอ

    หากคุณต้องการรับการแจ้งเตือนทุกครั้งที่คุณใช้ sudo - ตัวอย่างเช่นถ้าคนอื่นเข้าถึงคอมพิวเตอร์ของคุณเป็นประจำคุณสามารถปิดใช้งานพฤติกรรมการจำรหัสผ่านทั้งหมด.

    การตั้งค่านี้เช่นเดียวกับการตั้งค่า sudo อื่น ๆ อยู่ในไฟล์ / etc / sudoers รันคำสั่ง visudo ในเทอร์มินัลเพื่อเปิดไฟล์สำหรับแก้ไข:

    sudo visudo

    คำสั่งนี้จะใช้ค่าเริ่มต้นเป็นตัวแก้ไขนาโนที่ใช้งานง่ายแทนการใช้ตัวแก้ไข vi ดั้งเดิมบน Ubuntu.

    เพิ่มบรรทัดต่อไปนี้ใต้บรรทัดค่าเริ่มต้นอื่น ๆ ในไฟล์:

    ค่าเริ่มต้น timestamp_timeout = 0

    กด Ctrl + O เพื่อบันทึกไฟล์จากนั้นกด Ctrl + X เพื่อปิดนาโน ตอนนี้ Sudo จะขอให้คุณใส่รหัสผ่านเสมอ.

    เปลี่ยนการหมดเวลารหัสผ่าน

    หากต้องการตั้งค่าการหมดเวลาของรหัสผ่านที่แตกต่างกัน - อย่างใดอย่างหนึ่งที่ยาวกว่าเช่น 30 นาทีหรือสั้นกว่าเช่น 5 นาที - ทำตามขั้นตอนข้างต้น แต่ใช้ค่าที่แตกต่างกันสำหรับ timestamp_timeout จำนวนที่สอดคล้องกับจำนวนนาที sudo จะจำรหัสผ่านของคุณสำหรับ หากต้องการให้ sudo จำรหัสผ่านของคุณเป็นเวลา 5 นาทีให้เพิ่มบรรทัดต่อไปนี้:

    ค่าเริ่มต้น timestamp_timeout = 5

    ไม่ขอรหัสผ่าน

    คุณยังสามารถให้ sudo ไม่ขอรหัสผ่านได้ตราบใดที่คุณลงชื่อเข้าใช้ทุกคำสั่งที่คุณนำหน้าด้วย sudo จะทำงานด้วยการอนุญาตรูท หากต้องการทำสิ่งนี้ให้เพิ่มบรรทัดต่อไปนี้ในไฟล์ sudoers ของคุณโดยที่ชื่อผู้ใช้คือชื่อผู้ใช้ของคุณ:

    ชื่อผู้ใช้ ALL = (ALL) NOPASSWD: ALL

    คุณยังสามารถเปลี่ยนบรรทัด% sudo - นั่นคือบรรทัดที่อนุญาตให้ผู้ใช้ทั้งหมดในกลุ่ม sudo (หรือที่รู้จักกันในชื่อผู้ใช้ที่เป็นผู้ดูแลระบบ) ใช้ sudo - เพื่อให้ผู้ใช้ที่เป็นผู้ดูแลระบบทั้งหมดไม่ต้องการรหัสผ่าน:

    % sudo ALL = (ALL: ALL) NOPASSWD: ALL

    เรียกใช้คำสั่งเฉพาะโดยไม่มีรหัสผ่าน

    นอกจากนี้คุณยังสามารถระบุคำสั่งเฉพาะที่จะไม่ต้องใช้รหัสผ่านเมื่อทำงานด้วย sudo แทนที่จะใช้“ ALL” หลังจาก NOPASSWD ด้านบนให้ระบุตำแหน่งของคำสั่ง ตัวอย่างเช่นบรรทัดต่อไปนี้จะอนุญาตให้บัญชีผู้ใช้ของคุณเรียกใช้คำสั่ง apt-get และ shutdown โดยไม่ต้องใช้รหัสผ่าน.

    ชื่อผู้ใช้ ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown

    สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อใช้คำสั่งเฉพาะกับ sudo ในสคริปต์.

    อนุญาตให้ผู้ใช้เรียกใช้เฉพาะคำสั่งเฉพาะ

    ในขณะที่คุณสามารถบัญชีดำคำสั่งที่เฉพาะเจาะจงและป้องกันไม่ให้ผู้ใช้เรียกใช้ด้วย sudo นี้ไม่ได้มีประสิทธิภาพมาก ตัวอย่างเช่นคุณสามารถระบุว่าบัญชีผู้ใช้ไม่สามารถเรียกใช้คำสั่งปิดระบบด้วย sudo แต่บัญชีผู้ใช้นั้นสามารถเรียกใช้คำสั่ง cp ด้วย sudo สร้างสำเนาของคำสั่ง shutdown และปิดระบบโดยใช้สำเนา.

    วิธีที่มีประสิทธิภาพมากขึ้นคือการยกเว้นคำสั่งที่อนุญาตพิเศษ ตัวอย่างเช่นคุณสามารถให้สิทธิ์บัญชีผู้ใช้มาตรฐานเพื่อใช้คำสั่ง apt-get และ shutdown แต่ไม่มาก โดยเพิ่มบรรทัดต่อไปนี้โดยที่ standarduser เป็นชื่อผู้ใช้ของผู้ใช้:

    standarduser ALL = / usr / bin / apt-get, / sbin / shutdown

    คำสั่งต่อไปนี้จะบอกเราว่าคำสั่งใดที่ผู้ใช้สามารถทำงานด้วย sudo:

    sudo -U standarduser -l

    การเข้าสู่ระบบ Sudo

    คุณสามารถบันทึกการเข้าถึง sudo ทั้งหมดได้โดยเพิ่มบรรทัดต่อไปนี้ / var / log / sudo เป็นเพียงตัวอย่าง; คุณสามารถใช้ตำแหน่งไฟล์บันทึกใด ๆ ที่คุณต้องการ.

    ค่าเริ่มต้น logfile = / var / log / sudo

    ดูเนื้อหาของไฟล์บันทึกด้วยคำสั่งเช่นนี้:

    sudo cat / var / log / sudo

    โปรดจำไว้ว่าหากผู้ใช้มีการเข้าถึง sudo ไม่ จำกัด ผู้ใช้นั้นจะสามารถลบหรือแก้ไขเนื้อหาของไฟล์นี้ได้ ผู้ใช้ยังสามารถเข้าถึงรูทพรอมต์ด้วยคำสั่ง sudo และเรียกใช้ที่จะไม่ถูกบันทึก คุณลักษณะการบันทึกมีประโยชน์มากที่สุดเมื่อเชื่อมต่อกับบัญชีผู้ใช้ที่มีการ จำกัด การเข้าถึงชุดย่อยของคำสั่งระบบ.