Bao lâu thì mật khẩu được yêu cầu cho các lệnh sudo? Tôi có thể thiết lập nó ở đâu?


24

Tôi thực hiện khá nhiều sudolệnh.

Tôi nhận thấy rằng nếu tôi thực hiện một và sau đó một số khác trong vòng vài phút, lần thứ 2 tôi không nhận được thông báo:

[sudo] mật khẩu cho my_username:

nhưng tôi nhận được nó khi có nhiều thời gian hơn giữa việc thực hiện hai lệnh.

Khoảng thời gian mà tin nhắn không xuất hiện là gì? Làm thế nào chúng ta có thể kiểm tra nó / cập nhật nó?


1
sudo visudo, sau đó% sudo line phải là% sudo ALL = (ALL: ALL) NOPASSWD: ALL, nó sẽ không hỏi bạn bất kỳ mật khẩu nào khi bạn gõ sudo any-Stuff
Qasim

3
Điều này (NOPASSWD: ALL) là một gợi ý rất nguy hiểm. Nó sẽ làm cho cài đặt của bạn không bảo mật.
Sri

Câu trả lời:


31

Thời gian chờ mặc định sudolà 15 phút; nghĩa là, sudosẽ nhớ mật khẩu của bạn trong 15 phút theo mặc định.

Bạn có thể sửa đổi thời gian chờ mặc định này bằng cách thêm một chuỗi trong tệp /etc/sudoers. Tuy nhiên, bạn không sửa đổi tệp trực tiếp mà thay vào đó bạn sử dụng lệnh sudo visudo.

Vì vậy, gõ sudo visudovào một thiết bị đầu cuối. Điều này sẽ mở ra tệp (thực sự là tạm thời) để chúng tôi chỉnh sửa, sử dụng trình chỉnh sửa ưa thích của bạn.

Lưu ý: nếu bạn đang sử dụng visudolần đầu tiên, bạn nên được hỏi về trình soạn thảo nào bạn muốn sử dụng, vì vậy hãy chọn trình soạn thảo của bạn. Không có trình soạn thảo "tốt hơn", nhưng tôi thích nano. Nếu bạn đã sử dụng visudovà chọn một trình soạn thảo trước đó, nhưng bạn muốn sử dụng một trình soạn thảo khác trong thời gian này, bạn có thể làm sudo EDITOR=vi visudođể sử dụng vihoặc thay đổi nó nanođể sử dụng nano. Nếu bạn muốn thay đổi vĩnh viễn trình soạn thảo ưa thích của mình, hãy làm sudo update-alternatives --config editor.

Tìm dòng này:

Defaults    env_reset

Và thêm (bằng dấu phẩy) vào cuối của nó, trong đó X là thời gian bạn muốn đặt trong vài phút.timestamp_timeout=X

Vì vậy, dòng của bạn sẽ trông như thế này, như một ví dụ:

Defaults    env_reset,timestamp_timeout=5

Nếu bạn chỉ định 0, bạn sẽ luôn được hỏi mật khẩu. Nếu bạn chỉ định một giá trị âm, thời gian chờ sẽ không bao giờ hết hạn.

Sau khi hoàn thành, lưu và thoát.

Nguồn: RootSudoTimeout


Cảm ơn bạn, @Alaa, đó là một câu trả lời hay và hữu ích. Cũng như một ghi chú bên cạnh, Ctrl + xphần không phải lúc nào cũng khớp như trình soạn thảo có thể là ví dụ vi(trong trường hợp của tôi).
fedorqui

Nhân tiện, tôi đã mắc một lỗi lớn khi chỉ thêm một dòng mới Default timestamp-0thay vì một dòng với env_reset. Nó phá vỡ tập tin sudoers của tôi. Phải sử dụng Askubfox.com/a/73872/143251 để giải quyết nó!
fedorqui

@fedorqui: Đó chính xác là lý do tại sao bạn nên sử dụng visudo (như Alaa khuyến nghị) thay vì chỉnh sửa tệp trực tiếp. Cú pháp trước sẽ kiểm tra tệp cho bạn, ngăn bạn tự khóa mình khỏi sudo.
Plutor

Vâng, vâng, đó là những gì tôi đã làm @Plutor. Nhưng vilà trình soạn thảo tôi đã xác định cho visudo. Vấn đề là tôi đã lưu tệp mặc dù tôi nhận được một thông báo cảnh báo khi đóng nó. Lỗi của tôi, rõ ràng.
fedorqui

1
@fedorqui, yeah Tôi muốn loại bỏ phần đó vì bất kỳ ai cũng có thể sử dụng một trình soạn thảo khác. Tôi đã chỉnh sửa câu trả lời của mình để không phải là biên tập viên cụ thể.
Alaa Ali

3

Xem bài đăng này tại đây: http://ubuntuforums.org/showthread.php?p=116697#post116697

Chỉnh sửa /etc/sudoerstập tin, sử dụng sudo visudolệnh cho an toàn. Thêm timestamp_timeout=0vào dòng bắt đầu Defaultsđể hỏi mọi lúc, hoặc X dương cho độ trễ X phút.


1
Tôi phải đăng ký trong diễn đàn để xem nó. Trong khi đó, bạn có thể vui lòng cho biết tôi nên chỉnh sửa tập tin nào với timestamp_timeout=0dòng không?
fedorqui

OK, trả lời cố định.
Tuminoid

Nó đã lừa Tôi sẽ chấp nhận câu trả lời khác vì nó có một lời giải thích toàn diện hơn và bao gồm các env_resettài liệu tham khảo, rất quan trọng. Dù sao câu trả lời này của bạn cũng rất hữu ích, cảm ơn!
fedorqui

0

Không chắc chắn nếu điều này hết hạn hay không, nhưng bạn có thể thử

sudo su

Nó sẽ hỏi bạn mật khẩu và sau đó tất cả các lệnh được chạy dưới dạng sudo.


1
Có, @ Rat2000, nhưng tôi muốn tiếp tục sử dụng người dùng của mình chứ không phải root. Tôi nghĩ rằng nó an toàn hơn. Dù sao cũng cảm ơn lời khuyên của bạn.
fedorqui

3
sudo su làm cho bạn trở thành root. Lời nhắc của bạn nên được root @ yourpc. Hãy nhớ rằng root có .bashrc riêng, vì vậy bí danh của bạn sẽ không hoạt động. Cũng lưu ý rằng root có thể gây thiệt hại nghiêm trọng cho hệ thống, vì vậy hãy cẩn thận!
speter
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.