Làm thế nào để sudo nhớ bạn đã nhập mật khẩu của root?


27

Khi sử dụng sudo trên Linux, nó yêu cầu mật khẩu root, nhưng chỉ lần đầu tiên bạn chạy nó. Nếu bạn chạy một lệnh sudo khác, nó sẽ nhớ rằng bạn đã nhập mật khẩu trước đó và không yêu cầu nó:

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)

Làm thế nào để sudo làm điều đó? Thông tin này được lưu trữ ở đâu? Ý tưởng của tôi là nó nhớ id thiết bị đầu cuối (như pts / 1), nhưng cái này được lưu ở đâu? Quá trình sudo đầu tiên được kết thúc khi nó được thực hiện bằng lệnh, phải không?

Tôi biết sudo là một chương trình setuid, vì vậy nó luôn có đặc quyền của root, nhưng tôi vẫn không thể nghĩ ra một nơi tốt để lưu trữ thông tin mà người dùng đã nhập mật khẩu. Có một số quá trình daemon liên quan?


1
Có một tổng quan khá tốt về cách sudo hoạt động ở đây: aplawrence.com/Basics/sudo.html Nó chi tiết hành vi của sudo với việc nhớ mật khẩu (ví dụ: thời gian chờ mặc định là 5 phút), mặc dù nó không bao gồm các chi tiết cụ thể về cách sudo nhớ mật khẩu . Mặc dù vậy, vẫn thú vị.

12
Chỉ cần một chỉnh sửa nhỏ, sudo hỏi bạn mật khẩu của bạn , không phải mật khẩu của root

Câu trả lời:


16

Thông tin này được lưu trữ ở đâu?

Nó có thể dưới /var/db/sudohoặc/var/run/sudo và có thể bạn sẽ tìm thấy các thư mục tên người dùng với các tệp theo chúng được sắp xếp theo số tty.

Các đặc quyền thực tế được cấp, bao gồm các phiên kéo dài bao lâu trước khi bạn phải nhập lại mật khẩu tùy thuộc vào cách thiết lập sudoers. Có các cài đặt để cấp / hạn chế rất nhiều thứ khác nhau, nhưng những thứ đó không được lưu trữ trong các tệp này chỉ lưu trữ dấu thời gian. Thời gian một phiên kéo dài hoặc khi sudo cần nhắc lại mật khẩu của bạn, được xác định bởi một đồng bằng thời gian hiện tại và dấu thời gian phiên trong thư mục này và thời gian sudo được thiết lập để cho phép phiên kéo dài.


2
Về thời gian, từ tài liệu ubfox : "Khi sử dụng sudo, mật khẩu của bạn được lưu theo mặc định trong 15 phút."

11

Hãy thử man sudovà xem phần PHIM:

/ var / lib / sudo Thư mục chứa dấu thời gian

Và tại SECURITY NOTES

sudo sẽ kiểm tra quyền sở hữu thư mục tem thời gian của nó (/ var / lib / sudo theo mặc định) [...]

(trang nam từ Debian 6.0.4)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.