sudo -e
和之间有主要区别吗sudo vim
?我已经设置了该sudoers
文件,以便 vim 成为我的默认编辑器。两者之间有关键区别吗?另外,我应该从 切换到vim
吗rvim
?我尝试过,但我的配置文件有一些问题
t0w*_*7ne 17
最大的区别在于谁在编辑什么文件。
(假设sudo vim
身份验证成功),root 用户调用 vim 并就地编辑文件(root 的环境和 vim 交换文件与正在编辑的文件并行)。
或调用 sudo 的用户使用自己的环境(包括 ~/.vimrc 等)编辑自己拥有的文件的sudo -e
临时副本。用户保存输出后,临时文件的内容将被复制回用户无权编辑的原始文件中。此方法还有一些检查,可防止在某些情况下进行编辑:sudoedit
我不知道为什么严格执行这些特定规则(我认为是某种安全问题)。
PS 用户也不允许使用 sudo 的编辑模式来编辑设备特殊文件(块设备、串行设备等)。
编辑:不以 root 身份运行 vim 的另一个后果是,用户无法以这种方式使用 vim 的 shell 功能以 root 身份运行任意命令。这允许用户通过 sudoers 规则来编辑某些文件,同时不将密钥移交给王国。
\xe2\x80\x99 有一个关键区别:使用 时sudo -e
,编辑器以您的用户身份运行,而不是以 root 身份运行;使用sudo vim
,编辑器以 root 身份运行。这会产生许多后果;其中之一是,使用sudo -e
,您\xe2\x80\x99将获得自己的编辑器设置;另一个是sudo -e
,使用 ,您不会\xe2\x80\x99 冒险对 root 拥有的文件进行其他更改。sudo -e
还可以防止用户以 root 身份运行任何其他内容(因为大多数编辑器都可以启动 shell)。
基本上,使用sudo -e
root 身份完成一小组操作(进行大量检查以避免 root 转义),并且用户交互以实际编辑文件的所有操作都以用户身份运行。使用sudo vim
,一切都以 root 身份进行,并且用户可以以 root 身份有效地执行他们想做的任何事情。
另请参阅如何在 Gnu/Linux 的 GUI(和 CLI)中正确编辑系统文件(以 root 身份)?
\n 归档时间: |
|
查看次数: |
2047 次 |
最近记录: |