Làm cách nào để tăng mật khẩu sudo nhớ thời gian chờ?


61

Tôi đã biết rằng tôi cần điều chỉnh tệp / etc / sudoers nhưng tôi muốn xem thông tin đầy đủ và cũng là một giải pháp không yêu cầu tôi sử dụng vitrình chỉnh sửa.

Cập nhật: không bao giờ, cố gắng chỉnh sửa tệp bằng một cái gì đó khác visudo.


1
bạn có thể đặt var EDITOR env trong khi sử dụng visudo :: sudo env EDITOR = nano visudo
Người tốt

Câu trả lời:


86

Chạy sudo visudovà thêm dòng này:

Defaults    timestamp_timeout=-1

Xem man 5 sudoers. -1khiến mật khẩu không bao giờ hết thời gian. Bạn có thể thay đổi số thành bất cứ điều gì bạn thích trong vài phút.

Trang dành cho người đàn ông sudonói rằng sudo -v"kéo dài thời gian chờ sudo thêm 5 phút nữa".

Chạy 'sudo visudo' thay vì chỉnh sửa tệp trực tiếp khiến hệ thống xác thực tệp sudoers trước khi nó thực hiện các thay đổi. Chẳng hạn, nếu bạn để một ký tự đi lạc ở bất cứ đâu đó, khi bạn lưu và thoát, nó sẽ thông báo "có lỗi trong tệp sudoers, bạn muốn làm gì?" ... Do đó cho bạn cơ hội quay lại và chỉnh sửa. Điều này thực sự chỉ xảy ra với tôi 10 phút trước.


20
Có, nhưng visudochạy một số kiểm tra độ tỉnh táo cơ bản trên tệp sudoers trước khi lưu. Nếu bạn vilàm hỏng tập tin bằng cách sử dụng trực tiếp, bạn có thể tự khóa mình bằng cách sử dụng sudo, rất khó để hoàn tác thay đổi.
nohillside

4
Các đặc quyền là như vậy trên các hệ thống khác, vì vậy không có gì để làm với Apple. visudobao quanh trình soạn thảo mặc định của hệ thống (tôi đoán mặc định người dùng root nếu root đã ghi đè mặc định), vì vậy không có gì để làm với tên thanh vi. Trên hệ thống của tôi (không phải apple btw) tôi nhận được nano. Hãy thử export EDITOR='/bin/nano'hoặc bất kỳ trình soạn thảo nào bạn thích sau đó sử dụng visudo.
Chris

4
Ừm ... Bạn không thể sử dụng root để sửa nó, bởi vì bạn không thể root được, bởi vì bạn vừa nhét tập tin sudo của mình ... Đó là toàn bộ vấn đề.
daviewales

1
Trong một vai trò chuyên nghiệp, bạn có thể có quyền truy cập vào sudo nhưng không có mật khẩu gốc. Máy chủ của bạn có thể ở một trung tâm dữ liệu trên toàn quốc, khiến việc truy cập một chế độ người dùng trở nên khó khăn. Nhưng, nếu bạn được nói là chuyên nghiệp, có lẽ bạn sẽ không được đưa ra những cảnh báo như vậy. Vấn đề là bạn nên học hỏi từ các chuyên gia. Đừng tìm cách để tránh hình thành thói quen tốt. Sau đó, chúng tôi phải nghe thấy tiếng khóc điên cuồng của bạn trên Stack Exchange và IRC.
Bruno Bronosky

1
(Có thể mọi người đều rõ ràng, nhưng thêm vào): timestamp_timeout tính bằng phút, có thể bao gồm một thành phần phân số.
người dùng

3

Hãy thực sự cẩn thận về việc sửa đổi /etc/sudoerstrực tiếp!

Chẳng hạn, tôi đã thử gợi ý trên trực tiếp:

sudo sh -c 'echo "\nDefaults timestamp_timeout=-1">>/etc/sudoers'

đã làm hỏng /etc/sudoerstập tin của tôi (trên máy ảo CentOS Virtualbox). Đáng lẽ phải:

sudo sh -c 'echo -e "\nDefaults timestamp_timeout=-1">>/etc/sudoers'

May mắn thay, tôi đã truy cập vào tài khoản root, đăng nhập bằng root, sử dụng visudovà sửa chữa vấn đề! Vì vậy, tôi đồng ý với các ý kiến ​​trên để sử dụng visudothay thế.


1

Tất cả thông tin cho sudoers có thể được tìm thấy từ thiết bị đầu cuối với lệnh

man sudoers

Bạn thậm chí có thể sử dụng văn bản đơn giản để chỉnh sửa các tập tin, tuy nhiên các điều riêng tư làm cho điều đó trở nên khó khăn. sudoers là-r--r----- (Octal 0440)

Điều này cho thấy Apple thực sự không muốn bạn làm hỏng tập tin. Đây thực sự là bảo mật cốt lõi của HĐH.

Các tùy chọn để chỉnh sửa là vi, emacs hoặc BBEdit yêu thích cá nhân của tôi.


5
Có một lý do những đặc quyền được thiết lập. Chúng được thiết lập để cố gắng buộc bạn sử dụng visudothay vì tự chỉnh sửa tệp. Ngoài ra, điều này không liên quan gì đến OS X. Đó là tiêu chuẩn * nix. Ngoài ra, nếu bạn muốn sử dụng trình soạn thảo không mặc định, chỉ cần đặt $EDITORbiến môi trường trước khi gọi visudo. ví dụ EDITOR=nano sudo visudo.
daviewales

1

Vô hiệu hóa thời gian chờ sudo với lệnh này:

sudo sh -c 'echo "\nDefaults timestamp_timeout=-1">>/etc/sudoers'

Để kích hoạt lại thời gian chờ sudo bằng phương pháp này:

sudo sed -i "/Defaults timestamp_timeout=-1/d" /etc/sudoers

8
Từ trang man sudoers: Tệp sudoers phải luôn được chỉnh sửa bằng lệnh visudo khóa tệp và kiểm tra ngữ pháp. Điều bắt buộc là sudoers không có lỗi cú pháp vì sudo sẽ không chạy với tệp sudoers cú pháp không chính xác.
Matteo

@Matteo Vâng, bạn có thể làm bất cứ điều gì bạn thích trên tài sản của riêng bạn với điều kiện bạn nhận thức được hậu quả. Trong một số trường hợp, điều này là ổn, ví dụ tôi sử dụng nó trên các bản dựng mac mới không có dữ liệu quý giá như là một phần của tập lệnh tự động hóa. Tôi đã đề nghị chỉnh sửa câu trả lời này để đưa ra cảnh báo. Tốt nhất sudonên có một cách duy nhất để thay đổi điều này mà không phải chỉnh sửa một tập tin!
samthebest

1
Hãy coi chừng, đây là lời khuyên nguy hiểm. Sử dụng visudo thay thế.
Will Sheppard
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.