在 Ubuntu 上,在什么情况下(如果有的话),以非用户身份运行命令来root
访问文件/文件夹或使用创建/删除文件/文件夹sudo
可能会导致“权限被拒绝”,而以用户身份运行相同的命令root
则会成功?当然,假定用户是 sudoer。
Ubuntu 12 上的实际示例:我已获得该目录的/
所有权root:root
和drwxr-xr-x
权限,并且我sudo date > file
也尝试过sudo date | tee file
,但得到了相同的结果
-bash: file: Permission denied
两种情况都是如此。果然,如果我是 ,就不会有问题root
。这真是令人沮丧。
答案1
您正在尝试执行什么命令?一个常见的错误是,sudo foo > output
它不以 root 身份运行输出重定向,因为它是由 shell 完成的。此问题的解决方案是foo | sudo tee output
(或者sudo foo | sudo tee output
如果foo
需要 root 访问权限)
答案2
sudo
让您以另一个用户身份运行程序 - 默认为 root 用户。
这与 root 运行该程序是一样的(除了一些环境变量等)。因此不存在这种情况。