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 vi
trì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
.
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 vi
trì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
.
Câu trả lời:
Chạy sudo visudo
và thêm dòng này:
Defaults timestamp_timeout=-1
Xem man 5 sudoers
. -1
khiế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 sudo
nó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.
visudo
chạ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 vi
là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.
visudo
bao 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.
Hãy thực sự cẩn thận về việc sửa đổi /etc/sudoers
trự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/sudoers
tậ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 visudo
và sửa chữa vấn đề! Vì vậy, tôi đồng ý với các ý kiến trên để sử dụng visudo
thay thế.
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.
visudo
thay 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 $EDITOR
biến môi trường trước khi gọi visudo
. ví dụ EDITOR=nano sudo visudo
.
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
sudo
nê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!