Này được giải thích độc đáo trong các sudo
manpage . Mô tả của -e
( sudoedit
tương đương với) cho biết:
-e
Các -e
(chỉnh sửa) tùy chọn chỉ ra rằng, thay vì chạy một lệnh, người dùng muốn chỉnh sửa một hoặc nhiều tệp hơn. Thay cho lệnh, chuỗi " sudoedit
" được sử dụng khi tham khảo chính sách bảo mật. Nếu người dùng được ủy quyền bởi chính sách, các bước sau sẽ được thực hiện:
- Các bản sao tạm thời được tạo từ các tệp sẽ được chỉnh sửa với chủ sở hữu được đặt thành người dùng gọi.
- Trình chỉnh sửa được chỉ định bởi chính sách được chạy để chỉnh sửa các tệp tạm thời. Các
sudoers
chính sách sử dụng SUDO_EDITOR
, VISUAL
và EDITOR
các biến môi trường (theo thứ tự đó). Nếu không có SUDO_EDITOR
, VISUAL
hoặc EDITOR
được thiết lập, chương trình đầu tiên được liệt kê trong trình soạn thảo sudoers(5)
tùy chọn được sử dụng.
- Nếu chúng đã được sửa đổi, các tệp tạm thời được sao chép trở lại vị trí ban đầu của chúng và các phiên bản tạm thời sẽ bị xóa.
Nếu tệp được chỉ định không tồn tại, nó sẽ được tạo. Lưu ý rằng không giống như hầu hết các lệnh được chạy bởi sudo
, trình soạn thảo được chạy với môi trường người dùng đang gọi không được sửa đổi. Nếu, vì một số lý do, sudo
không thể cập nhật một tệp với phiên bản đã chỉnh sửa, người dùng sẽ nhận được cảnh báo và bản sao đã chỉnh sửa sẽ vẫn ở trong một tệp tạm thời.
Cụ thể, lưu ý bước thứ ba: chỉ khi tệp đã được sửa đổi khi kết thúc chỉnh sửa thì bản gốc đã được thay đổi. Vì vậy, nếu bạn có một chương trình xem tệp, điều này có thể giúp tránh (a) ghi trung gian được chọn và (b) các hành động không cần thiết nếu bạn quyết định không thực hiện thay đổi nào.