我可以让 sudoedit 像 visudo 一样检查“$EDITOR”吗?

我可以让 sudoedit 像 visudo 一样检查“$EDITOR”吗?

据我所知,主要的区别在于 visudo 有一个简单的解析器,用于查看 /etc/sudoers(和其他 sudoers 文件)是否正常;但是,我还注意到,当我设置 时EDITOR=emacs,sudoedit 会遵守更改,而 visudo 则不会。据我所知,这是因为 Visudo 不会遵守$EDITOR值,除非它们在 sudoers 中列出。我想知道的是,我是否可以让 sudoedit 做同样的事情,不允许类似 的事情EDITOR=deleverything.sh

我注意到的另一件事似乎与此相关,即作为 root(在以用户 jef 身份执行 su 后)(使用export EDITOR=emacs/home/anachrome/.bashrc 中的行),visudo 和 sudoedit 都使用 emacs 作为编辑器,但当未以 root 身份执行 su 时,只有 sudoedit 使用它。我很好奇这是为什么(我推测这与 sudo 在以您自己的身份执行 sudo 时不重置环境变量有关(例如root $ sudo -u root),但这只是我的假设)。

编辑:第二个问题只是因为$EDITOR它不是 sudo 保留的变量之一。

顺便说一句,我正在使用 Arch Linux,如果相关的话。

答案1

对我来说,在 Arch 上,既不visudosudoedit荣誉$EDITOR,也不是他们两者都是荣誉$VISUAL,所以也许值得一试。

答案2

还要检查所需的编辑器是否确实已安装。指定EDITOR=vim所有已安装的编辑器vi.tiny不会带来太多乐趣。

相关内容