sudo vim /etc/services
和sudoedit /etc/services
之间有什么区别?我试图在linux中编辑/etc/services
文件。 sudoedit
允许修改,但sudo vim
不允许编辑。
答案 0 :(得分:17)
sudoedit
使用sudo
选项指定-e
。从手册页:
-e The -e (edit) option indicates that, instead of running a command, the
user wishes to edit one or more files. In lieu of a command, the string
"sudoedit" is used when consulting the security policy. If the user is
authorized by the policy, the following steps are taken.
因此,它允许系统管理员仅允许sudo权限来编辑某些文件,而不是特定命令或所有文件。它允许管理员控制用户(或用户组)可以使用提升的权限编辑哪些文件。
此外,用户仍然可以使用他/她的首选编辑器,而不是管理员指定的编辑器。它还以用户身份运行此编辑器,这意味着用户在.vimrc
中指定的任何选项或命令都将适用。
答案 1 :(得分:6)
sudo vim /etc/services
告诉shell在超级用户权限中使用vim编辑器来编辑给定的文件。
然而,sudoedit /etc/services
告诉shell使用EDITOR环境变量中存储的任何编辑器来使用超级用户权限编辑文件。