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


33

ฉันป้อนsudoคำสั่งแรกของฉัน ฉันใส่รหัสผ่าน ในขณะที่ฉันจะไม่ต้องป้อนรหัสผ่านของฉันสำหรับคำสั่ง sudo ที่ตามมา

ตอนนี้คำถาม ฉันเป็นคนที่เปิดเทอร์มินัลจำนวนมาก มันจะสะดวกมากถ้าฉันไม่ต้องป้อนรหัสผ่านเมื่อฉันใช้sudoในเทอร์มินัลที่ฉันเปิดหลังจาก sudo แรกของฉันในช่วงเวลาสั้น ๆ เมื่อฉันไม่ต้องป้อนรหัสผ่านสำหรับ sudo ในเทอร์มินัลที่ฉันใช้ sudo สำหรับ ครั้งแรก. (ขออภัยสำหรับประโยคยาว!)

มันเป็นไปได้? ถ้าไม่ทำไม ถ้าใช่เป็นอย่างไร


4
คุณได้พิจารณาแล้วว่าคุณกำลังเปิดรูโหว่ที่กลไกนั้นปิดอยู่หรือไม่? เหตุผลที่คุณต้องป้อนรหัสผ่านด้วย sudo คือเพื่อป้องกันสถานการณ์ที่ผู้โจมตีได้เข้าสู่เซสชันการเข้าสู่ระบบในชื่อของคุณ หากคุณปิดการใช้งานและมีคนจัดการเพื่อแย่งชิงหนึ่งในเทอร์มินัลเซสชันของคุณ (พวกเขาทั้งหมดอยู่ในคอนโซลเดียวกันหรือไม่) หรือในบางวิธีการเข้าถึงเซสชันการเข้าสู่ระบบในชื่อของคุณโดยไม่ต้องรู้รหัสผ่าน คำสั่งเป็น root ไม่ใช่สถานการณ์ที่มีโอกาสมาก แต่เป็นสิ่งที่คุณควรพิจารณา
Pepijn Schmitz

คำตอบ:


52

แน่นอนค่ะ เรียกใช้sudo visudoและเพิ่มบรรทัดนี้ในsudoersไฟล์ของคุณ:

Defaults        !tty_tickets

ตามที่อธิบายไว้ในman sudoers:

 tty_tickets       If set, users must authenticate on a per-tty basis.
                   With this flag enabled, sudo will use a separate record
                   in the time stamp file for each tty.  If disabled, a
                   single record is used for all login sessions.  This
                   flag is on by default.

ด้วยการตั้งค่าtty_ticketsเป็นปิด (นั่นคือสิ่งที่มีความ!หมาย) คุณเปิดใช้งานการรับรองความถูกต้องเดียวที่จะแบ่งปันหลายเซสชัน


1
สิ่งเดียวที่ฉันทำแตกต่างกันที่นี่เมื่อแนะนำผู้ใช้คือการใช้ไฟล์ sudoers.d แทน ด้วยวิธีนี้หากพวกเขากู้คืนได้ง่ายมากเพียงแค่ลบไฟล์นั้น อดีต sudo visudo -f /etc/sudoers.d/01_file
doug

จะเกิดอะไรขึ้นเมื่อหมดเวลา sudo หรือเรียกใช้สิ่งที่ชอบsudo -k?
Maythux

@ Maythux คุณต้องป้อนอีกครั้ง นี่เป็นเพียงการระบุตัวตนเดียวสำหรับทุกช่วงเชลล์ ไม่มีอะไรอีกแล้ว.
terdon

@ user3073656 อ่าเจ๋งดีกว่า :) ใช่โปรดฉันจะลบของฉัน
terdon

ฉันควรทราบว่าถ้าฉันใช้วิธีนี้รหัสผ่านจะหมดอายุเมื่อหมดเวลาเพียง 15 นาทีแม้ว่าฉันจะรีบูตซึ่งทำให้เกิดความกังวลด้านความปลอดภัย ดังนั้นอาจจะเพิ่มsudo -kไป/etc/rc6.d?
daltonfury42
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.