Насколько я знаю, главное отличие состоит в том, что в visudo есть простой парсер, позволяющий определить, насколько хорошо /etc /sudoers (и другие файлы sudoers); тем не менее, я также заметил, что когда я устанавливаю EDITOR=emacs
, sudoedit учитывает это изменение, однако visudo этого не делает. Из того, что я могу сказать, это потому, что visudo не учитывает значения $EDITOR
если они не перечислены в sudoers.
Я хочу знать, могу ли я заставить sudoedit делать то же самое, чтобы не допустить таких вещей, как EDITOR=deleverything.sh
.
Еще одна вещь, на которую я обратил внимание и которая, похоже, связана, заключается в том, что в качестве пользователя root (после использования в качестве пользователя jef)(со строкой export EDITOR=emacs
в /home/anachrome/.bashrc)и visudo, и sudoedit используют emacs как редактор , но когда не su'd в корень, только sudoedit использует его. Мне любопытно, почему это так (я предполагаю, что это как-то связано с тем, что sudo на самом деле не сбрасывает переменные окружения при sudoing как вы (например, root $ sudo -u root
), но это только я предполагаю).
РЕДАКТИРОВАТЬ: Второй вопрос, очевидно, просто потому, что $EDITOR
не был одной из переменных, сохраняемых в sudo.
И, кстати, я использую Arch Linux, на случай, если это уместно.