ทำไม sudo ขอรหัสผ่านในหน้าต่างหลังจากฉันเพิ่งผ่านการรับรองความถูกต้องในรหัสอื่น?


10

หากฉันกำลังใช้บรรทัดคำสั่งใน xterm, gnome-terminal, ฯลฯ ฉันสามารถป้องกันsudoการขอรหัสผ่านใหม่อีกครั้งภายในขีด จำกัด บางอย่างหรือฉันสามารถปิดการใช้งานได้

ในฐานะที่เป็นการประนีประนอมระหว่างการใช้งานและความปลอดภัยฉันมักจะต้องการเวลารอคอยการสอบถามซ้ำอีกครั้งนี้

โดยค่าเริ่มต้นจะมีระยะเวลาผ่อนผันเพียง 15 นาทีหลังจากป้อนรหัสผ่าน sudo ก่อนที่จะพร้อมท์อีกครั้ง หากต้องการเปลี่ยนเป็น 45 นาทีฉันสามารถแก้ไข/etc/sudoersและตั้งค่า timestamp_timeout เป็นช่วงเวลารอที่ฉันต้องการ (เป็นนาที)

ไฟล์ sudoers

หากฉันอยู่ในเซสชันเทอร์มินัลเดียวกันและเริ่มเชลล์ใหม่ (พิมพ์cshหรือbash) ระยะเวลารอจะได้รับการเคารพ

sudoแต่ถ้าผมไปอีกหน้าต่างหนึ่งในการเข้าถึงบรรทัดคำสั่งที่นั่นก็ทันทีจะถามรหัสผ่านของฉันถ้าฉันพยายามที่จะ

ภายในเซสชั่น pseudoterminal เดียวกัน ( pts) (ตัวอย่างเช่นถ้าฉันวางไข่เชลล์ใหม่ภายในหน้าต่าง gnome-terminal เดียวกัน) การหมดเวลาจะได้รับการเคารพ

หากฉันเปิดตัว xterm ใหม่ gnome-terminal เป็นต้นฉันต้องป้อนข้อมูลรับรองอีกครั้ง

แม้จะเป็นผู้ใช้เพียงคนเดียวที่ใช้งานได้ในระบบที่บ้านของฉัน (ระบบผู้ใช้คนเดียว) ฯลฯ sudo ไม่เชื่อว่ารายการทั้งหมดของฉันนั้นptsมาจากผู้ใช้รายเดียวกัน:

~/pseudoland$ w
 01:27:39 up 1 day, 15:03,  7 users,  load average: 0.32, 0.71, 0.77
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
jgb    tty1                      23:56    1:30m  0.55s  0.51s -bash
jgb    tty7     :0               Tue10   39:03m  2:28m  0.76s gnome-session
root     pts/1    :0.0             00:30   56:23   0.01s  0.01s /bin/bash
jgb    pts/3    :0.0             01:16    0.00s  0.59s  3.22s gnome-terminal
jgb    pts/4    :0.0             01:27   26.00s  0.23s  0.23s /bin/bash
jgb    pts/5    :0.0             01:17    9:26   0.23s  0.23s bash

มีวิธีบอก sudo หรือไม่ว่าควรเปิดหน้าต่างทั้งหมดที่ฉันเปิดมาจากผู้ใช้รายเดียวกันและไม่ถามรหัสผ่านอีกครั้งหากตัวจับเวลา sudo ครั้งสุดท้ายยังไม่หมดอายุ

คำตอบ:


12

ช่วงเวลาผ่อนผันถูกควบคุมโดยสิ่งที่sudoเรียกว่า 'ตั๋ว' เมื่อคุณรับรองความถูกต้องด้วย sudo มันจะสร้างตั๋วนี้ด้วยการประทับเวลาบางอย่างซึ่งโดยทั่วไปจะบอกว่าเมื่อใดที่การรับรองความถูกต้องควรหมดอายุ

โดยค่าเริ่มต้น (แห่งนี้ตั้งเมื่อแพคเกจถูกเรียบเรียง) หมดเวลานี้เป็นคุณได้พบต่อ TTY นี่คือคุณสมบัติของ sudo ที่เรียกว่า 'tty_tickets' โดยทั่วไปหมายความว่าแทนที่จะสร้างหนึ่งล็อกต่อผู้ใช้ sudo จะสร้างหนึ่งล็อกต่อ tty แทน

/etc/sudoersเพื่อที่จะกลับไปยังพฤติกรรมเก่าและแทนที่ค่าเริ่มต้นคุณจะต้องแก้ไข ค้นหาDefaultsบรรทัด "" ที่คุณแก้ไขแล้วเพื่อเปลี่ยนการหมดเวลาและผนวก,!tty_ticketsเข้าด้วยกัน สิ่งนี้จะปิดคุณสมบัติ tty_tickets และให้พฤติกรรมที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.