为什么我不能在权限为 000 的文件上"$ sudo echo "hello" >文件"?



在Bash中,输入以下命令序列:

$ touch testfile
$ chmod 000 testfile
$ sudo echo "hello" > testfile

最后一个命令失败。我一直相信,有了sudo,我可以做任何事情。有趣的是,我可以在没有sudo的情况下rm testfile,我只需要确认一下。

重定向由您的原始shell执行,它具有您的正常权限,而不是sudo的提升权限。您需要在sudo:运行的进程中执行重定向

sudo bash -c 'echo "hello" > testfile'

相关内容

最新更新