为什么我不能编辑根用户拥有的文件,但是例如在我的个人目录中的某个地方,上面写着:
sudoedit: existingFile:不允许在可写目录中编辑文件
虽然我定义了以下函数:
function sunano {
export SUDO_EDITOR='/usr/local/bin/nano'
sudoedit "$@"
}我就这样编辑:
sunano existingFile其中,文件确实由root拥有:
ls -l existingFile证明:
-rwxr-xr-x1根2015年6月15日existingFile
发布于 2017-04-05 15:05:26
命令页说
位于可由调用用户写入的目录中的文件不得编辑,除非该用户是root用户(版本1.8.16及更高版本)。
如果您可以写入包含该文件的目录,那么您可以在实践中编辑它,而不需要sudoedit (尽管您可能无法读取其当前内容):您可以移开它,创建一个同名的新文件。在您的特定情况下,您可以读取该文件,并且您应该发现至少有一些编辑器将允许您编辑它(至少是那些通过编写临时文件并将其重新命名来保存文件的编辑器)。
这个特性背后的原因是在sudo错误707中给出的:基本上,允许用户在他们可以用sudoedit写入的目录中编辑文件,可以让他们绕过sudoedit‘S配置中设置的限制(并有效地编辑系统上的任何文件)。
https://unix.stackexchange.com/questions/356142
复制相似问题