在Bash中,输入以下命令序列:
$ touch testfile
$ chmod 000 testfile
$ sudo echo "hello" > testfile
最后一条命令失败。我一直相信,有了sudo
我可以做任何事情。
有趣的是,我可以rm testfile
而无需sudo
,我只需要确认即可。
答案 0 :(得分:3)
重定向是由您的原始外壳完成的,该外壳具有您的普通权限,而不是sudo
的提升权限。您需要在sudo
运行的过程中执行重定向:
sudo bash -c 'echo "hello" > testfile'