ในการกำหนดค่าทั่วไปคำสั่งไม่เกี่ยวข้อง คุณต้องป้อนรหัสผ่านในครั้งแรกที่คุณใช้ sudo และคุณไม่ต้องการรหัสผ่านในเชลล์นั้นในอีก 15 นาที
จากมุมมองของคอมพิวเตอร์ไม่มีสิ่งเช่น "คำสั่งที่ต้องการ sudo" ผู้ใช้สามารถพยายามเรียกใช้คำสั่งใด ๆ ผลลัพธ์อาจไม่มีอะไรนอกจากข้อความแสดงข้อผิดพลาดเช่น“ ปฏิเสธสิทธิ์” หรือ“ ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว” แต่สามารถเรียกใช้คำสั่งได้เสมอ
ตัวอย่างเช่นหากคุณเรียกใช้du
บนแผนผังไดเรกทอรีที่มีเนื้อหาที่คุณไม่มีสิทธิ์เข้าถึงคุณจะได้รับข้อผิดพลาดในการอนุญาต นั่นคือสิ่งที่“ การอนุญาตถูกปฏิเสธ” หมายถึง หากคุณใช้sudo du
งาน sudo จะทำงานdu
เป็นรูทดังนั้นคุณจะไม่ได้รับข้อผิดพลาดในการอนุญาต (นั่นคือประเด็นของบัญชีรูท: รูท has ได้รับอนุญาตเสมอ) เมื่อคุณเรียกใช้sudo du
ให้du
รันเป็นรูทและsudo
ไม่เกี่ยวข้องเลยหลังจากdu
เริ่มต้นแล้ว ไม่ว่าคุณจะพบข้อผิดพลาดในการอนุญาตหรือไม่นั้นไม่เกี่ยวข้องกับวิธีการทำงานของ sudo ทั้งหมด
มีคำสั่งที่จำเป็น sudo มีที่จะทำสิ่งที่มีประโยชน์ ประโยชน์เป็นแนวคิดของมนุษย์ คุณต้องใช้ sudo (หรือวิธีอื่นเพื่อรันคำสั่งในฐานะรูท) หากคำสั่งนั้นมีประโยชน์เมื่อรันเป็นรูท แต่ไม่ทำงานเมื่อใช้ภายใต้บัญชีของคุณ
sudo ขอรหัสผ่านของคุณหรือไม่ขึ้นอยู่กับสองสิ่ง
- ขึ้นอยู่กับการกำหนดค่า sudo ตัดสินใจว่าคุณจะต้องรับรองความถูกต้องหรือไม่ โดยค่าเริ่มต้น sudo ต้องใช้รหัสผ่าน สิ่งนี้สามารถปิดได้หลายวิธีรวมถึงการตั้งค่า
authenticate
ตัวเลือกให้เป็นเท็จและมีกฎที่เกี่ยวข้องกับNOPASSWD
แท็ก
- หาก sudo ต้องการรหัสผ่านของคุณอาจเป็นเนื้อหาที่ใช้ค่าแคช ไม่เป็นไรเพราะเหตุผลที่ sudo ต้องการรหัสผ่านของคุณไม่ใช่เพื่อพิสูจน์ตัวตนว่าใครกำลังโทรมา (sudo รู้ว่าผู้ใช้เรียกใช้อะไร) แต่เพื่อยืนยันว่าคุณยังเป็นผู้ใช้คำสั่งไม่ใช่ผู้ที่ควบคุมแป้นพิมพ์ของคุณ ตามค่าเริ่มต้น sudo ยินดีที่จะเชื่อว่าคุณยังอยู่ในคำสั่งหากคุณป้อนรหัสผ่านน้อยกว่า 15 นาทีที่ผ่านมา (สามารถเปลี่ยนแปลงได้ด้วย
timeout
ตัวเลือก) คุณต้องป้อนรหัสผ่านในเทอร์มินัลเดียวกัน (เพื่อให้คุณยังคงอยู่ในระบบในเทอร์มินัลหนึ่งจากนั้นปล่อยให้เทอร์มินัลนั้นไม่ต้องใส่คนอื่นแล้วใช้เทอร์มินัลอื่นtty_tickets
¹ เกือบแล้ว แต่อยู่นอกเหนือขอบเขตของเธรดนี้