โซลูชันที่ 1: newgrp
วิธีง่ายๆในการจัดการกรณีการใช้งานของคุณคือใช้:NOPASSWD
ร่วมกับกลุ่มและรหัสผ่านกลุ่ม:
เพิ่มบรรทัดไปยัง sudoers:
%rudo ALL=(ALL:ALL) NOPASSWD:ALL
สร้างกลุ่มที่มีการป้องกันรหัสผ่าน:
groupadd rudo
gpasswd rudo # Enter passwd
ตอนนี้เมื่อคุณเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษ (สมมติว่าคุณยังไม่ได้อยู่ในrudo
กลุ่ม) เข้าสู่rudo
กลุ่มที่จุดนี้คุณจะได้รับพร้อมท์สำหรับรหัสผ่าน
login user
newgrp rudo
ตอนนี้คุณสามารถเรียกใช้sudo
รหัสผ่านน้อยกว่าตราบใดที่คุณยังคงเข้าสู่ระบบในกลุ่ม
โซลูชัน 2: runaspw
runaspw
วิธีที่ดีกว่าอาจจะเป็นความปลอดภัยมากขึ้นที่จะทำใช้นี้ runaspw
มีการเชื่อมโยงกับrunas_default
ตัวเลือกดังนั้นคุณต้องเพิ่มตัวเลือกนั้นด้วย
สมมติว่าคุณมี%sudo
รายการกลุ่มเริ่มต้นอยู่แล้ว:
%sudo ALL=(ALL:ALL) ALL
เพิ่มบรรทัดเหล่านี้ไปยังไฟล์ sudoers:
Defaults:%sudo runas_default=sudo
Defaults:%sudo runaspw
ตอนนี้เพิ่มsudo
ผู้ใช้ใหม่ด้วยรหัสผ่าน:
useradd sudo -d /nonexistent -s /usr/sbin/nologin -MNr
passwd sudo
ตอนนี้ผู้ใช้กลุ่ม sudo จะได้รับพร้อมต์สำหรับ passudo ของผู้ใช้ sudo แต่เฉพาะผู้ใช้ในกลุ่ม sudo เท่านั้นที่จะสามารถ sudo (ซึ่งแตกต่างจากโซลูชันกลุ่มด้านบนซึ่งทุกคนในกลุ่มหรือกลุ่ม passwd สามารถ sudo)
ปัญหาเล็กน้อยคือผู้ใช้ runas ที่เป็นค่าเริ่มต้นอยู่ในขณะนี้sudo
ดังนั้น sudo ในฐานะ root คุณต้องระบุรูตอย่างชัดเจน:
sudo -u root <cmd>
แต่ง่ายพอที่จะกำหนด alias ( alias sudo='sudo -u root'
) หรือคำสั่ง sudo ทางอ้อม