sudo จำได้อย่างไรว่าคุณป้อนรหัสผ่านของรูทแล้ว?


27

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

thomas@ubuntu:~$ sudo id
[sudo] password for thomas: ******
uid=0(root) gid=0(root) groups=0(root)
thomas@ubuntu:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)

sudo ทำอย่างไร ข้อมูลนี้ถูกเก็บไว้ที่ไหน? ความคิดของฉันคือมันจำเทอร์มินัล id (เช่น pts / 1) แต่สิ่งนี้ถูกเก็บไว้ที่ไหน กระบวนการ sudo แรกจะสิ้นสุดลงเมื่อทำกับคำสั่งใช่ไหม

ฉันรู้ว่า sudo เป็นโปรแกรม setuid ดังนั้นจึงมีสิทธิ์ของรูทตลอดเวลา แต่ฉันก็ยังนึกถึงสถานที่ที่ดีในการเก็บข้อมูลที่ผู้ใช้ป้อนรหัสผ่านไปแล้ว มีกระบวนการภูตบ้างไหม?


1
มีภาพรวมที่ดีเกี่ยวกับวิธีการทำงานของ sudo ที่นี่: aplawrence.com/Basics/sudo.htmlรายละเอียดพฤติกรรมของ sudo กับการจดจำรหัสผ่าน (เช่นการหมดเวลาเริ่มต้นคือ 5 นาที) แม้ว่าจะไม่ครอบคลุมเฉพาะวิธีที่ sudo จดจำรหัสผ่าน . ยังคงน่าสนใจ

12
เพียงแค่การแก้ไขเล็กน้อย sudo ขอรหัสผ่านจากคุณไม่ใช่รหัสผ่านของรูท

คำตอบ:


16

ข้อมูลนี้ถูกเก็บไว้ที่ไหน?

อาจอยู่ภายใต้/var/db/sudoหรือ/var/run/sudoและคุณอาจพบไดเรกทอรีของชื่อผู้ใช้พร้อมไฟล์ที่อยู่ภายใต้การสั่งซื้อโดยหมายเลข tty

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


2
ตามระยะเวลาจากเอกสารของ Ubuntu : "เมื่อใช้ sudo รหัสผ่านของคุณจะถูกเก็บไว้เป็นค่าเริ่มต้นเป็นเวลา 15 นาที"

11

ลองman sudoดูที่หมวดไฟล์:

/ var / lib / sudo ไดเรกทอรีที่มีการประทับเวลา

และที่ SECURITY NOTES

sudo จะตรวจสอบความเป็นเจ้าของไดเรกทอรีการประทับเวลา (/ var / lib / sudo โดยค่าเริ่มต้น) [... ]

(man pages จาก Debian 6.0.4)

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