在Bash中,输入以下命令序列:
$ touch testfile
$ chmod 000 testfile
$ sudo echo "hello" > testfile
最后一个命令失败。我一直相信,有了sudo
,我可以做任何事情。有趣的是,我可以在没有sudo
的情况下rm testfile
,我只需要确认一下。
重定向由您的原始shell执行,它具有您的正常权限,而不是sudo
的提升权限。您需要在sudo
:运行的进程中执行重定向
sudo bash -c 'echo "hello" > testfile'