насколько я знаю, основное различие заключается в том, что visudo имеет простой парсер для просмотра, если /etc/sudoers (и другие файлы sudoers) хорошо; однако, я также заметил, что, когда я установил EDITOR=emacs
, sudoedit чтит изменение, однако, visudo не делает. Из того, что я могу сказать, это потому, что visudo не чтит $EDITOR
значения, если они не перечислены в sudoers.
Я хочу знать, могу ли я заставить sudoedit сделать то же самое, чтобы не допустить таких вещей, как EDITOR=deleverything.sh
.
другой вещь, которую я заметил, которая кажется связанной, заключается в том, что как root (после su-ing как пользователь jef), (со строкой export EDITOR=emacs
в /home/anachrome/.bashrc), как visudo, так и sudoedit используют emacs в качестве редактора, но когда не su'D в root, только sudoedit использует его. Мне любопытно, почему это так (я предполагаю, что это связано с тем, что sudo фактически не сбрасывает переменные evironment при судействе как себя (например,root $ sudo -u root
), но это только я предполагаю).
EDIT: второй вопрос, по-видимому, просто потому что $EDITOR
не одна из переменных хранится судо.
и кстати, я использую Arch Linux, если это уместно.