Tại sao sudo yêu cầu mật khẩu trong cửa sổ sau khi tôi vừa xác thực bằng một mật khẩu khác?


10

Nếu tôi đang sử dụng dòng lệnh trong xterm, gnome-terminal, v.v., tôi có thể không sudonhắc lại mật khẩu, trong một số giới hạn hoặc tôi có thể vô hiệu hóa nó.

Như một sự thỏa hiệp giữa khả năng sử dụng và bảo mật, tôi thường chỉ muốn thời gian chờ truy vấn lại này kéo dài.

Theo mặc định, chỉ có 15 phút ân hạn sau khi nhập mật khẩu sudo trước khi nó nhắc lại. Để thay đổi điều này thành 45 phút, tôi có thể chỉnh sửa /etc/sudoersvà đặt timestamp_timeout thành khoảng thời gian chờ tôi muốn (tính bằng phút).

tập tin sudoers

Nếu tôi ở trong cùng một phiên thiết bị đầu cuối và bắt đầu một trình bao mới (nhập cshhoặc bash), thời gian chờ được tôn trọng.

Nhưng nếu tôi đi đến một cửa sổ khác để truy cập dòng lệnh ở đó, nó sẽ ngay lập tức hỏi mật khẩu của tôi nếu tôi cố gắng sudo.

Trong cùng một phiên giả hành ( pts) (ví dụ: nếu tôi sinh ra một lớp vỏ mới bên trong cùng cửa sổ gnome-terminal), thời gian chờ được tôn trọng.

Nếu tôi khởi chạy xterm, gnome-terminal mới, v.v., tôi phải nhập lại thông tin đăng nhập.

Mặc dù là người dùng duy nhất hoạt động trên hệ thống nhà của tôi (hệ thống một người dùng), v.v., sudo không tin tưởng rằng tất cả các ptsmục nhập của tôi là từ cùng một người dùng:

~/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

Có cách nào để nói với sudo rằng nó nên coi tất cả các cửa sổ tôi mở là đến từ cùng một người dùng và không hỏi lại mật khẩu của tôi nếu đồng hồ sudo cuối cùng đã hết hạn?

Câu trả lời:


12

Thời gian ân hạn được kiểm soát bởi những gì sudogọi là 'vé'. Khi bạn xác thực bằng sudo, nó sẽ tạo vé này với dấu thời gian nhất định về cơ bản là khi hết hạn xác thực.

Theo mặc định (điều này được đặt khi gói được biên dịch), thời gian chờ này là, như bạn đã tìm thấy, mỗi tty . Đây là một tính năng của sudo gọi là 'tty_tickets'. Về cơ bản, điều này có nghĩa là, thay vì tạo một khóa cho mỗi người dùng, sudo lại tạo một khóa cho mỗi tty.

Để trở lại hành vi cũ và ghi đè mặc định, bạn cần chỉnh sửa /etc/sudoers. Tìm dòng " Defaults" mà bạn đã chỉnh sửa để thay đổi thời gian chờ và nối thêm ,!tty_ticketsnó. Điều này sẽ tắt tính năng tty_tickets và cung cấp cho bạn hành vi bạn muốn.

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.