Câu trả lời:
visudo
kiểm tra cú pháp tập tin trước khi thực sự ghi đè sudoers
tập tin.
Nếu bạn sử dụng một trình soạn thảo đơn giản, làm rối cú pháp và lưu ... sudo
sẽ (có thể) sẽ ngừng hoạt động và, vì /etc/sudoers
chỉ có thể sửa đổi bởi root
, bạn bị mắc kẹt (trừ khi bạn có cách khác để lấy quyền root).
Ngoài ra, nó đảm bảo rằng các chỉnh sửa sẽ là một hoạt động nguyên tử. Việc khóa này rất quan trọng nếu bạn cần đảm bảo không ai khác có thể làm hỏng các thay đổi cấu hình được xem xét cẩn thận của bạn. Để chỉnh sửa các tệp khác dưới dạng root bên cạnh /etc/sudoers
đó là sudoedit
lệnh cũng bảo vệ chống lại các xung đột chỉnh sửa đó.
sudo
và OS X nào có công cụ GNU. Vì sudo lần đầu tiên được tạo ra như một ứng dụng nguồn mở, có lẽ không có lý do gì cho việc chúng được triển khai nhiều. sudo
và sudoedit
là cùng một lệnh, sudo
hành xử như sudo -e
khi được gọi là sudoedit
. Tôi tin rằng chỉ có OS X quên thêm sudoedit -> sudo
liên kết, nhưng bạn vẫn có thể sử dụng sudo -e
hoặc gọi sudo
với argv [0] được đặt sudoedit
để có hành vi tương tự.
visudo
sử dụng nano theo mặc định.
sudo vim /etc/sudoers
và thực hiện cú pháp, thì tôi sẽ không thể sudo vim /etc/sudoers
sửa nó lần nữa. Thực tế, tất cả khả năng nâng cao đặc quyền thông qua sudo sẽ bị mất do hệ thống sẽ không thể phân tích cú pháp tệp.
Từ trang visudo man:
visudo khóa tệp sudoers chống lại nhiều chỉnh sửa đồng thời, cung cấp kiểm tra độ tỉnh táo cơ bản và kiểm tra lỗi phân tích cú pháp. Nếu tệp sudoers hiện đang được chỉnh sửa, bạn sẽ nhận được một tin nhắn để thử lại sau.
Cũng kiểm tra câu trả lời này từ serverfault .