Tim*_*tie 2 permissions directory sudo
可能的重复:
将标准输出重定向到您没有写权限的文件
我正在尝试为md5sum
使用 Ubuntu 自定义工具包工具创建的 ISO 映像创建一个。ISO 是由工具创建的,这些工具必须使用sudo
, 在
~/tmp/remaster-new-files/
Run Code Online (Sandbox Code Playgroud)
具有以下权限:
drwxr-xr-x 2 root root remaster-new-files
Run Code Online (Sandbox Code Playgroud)
所以我cd
到那个目录并运行
sudo md5sum my.iso > my.iso.md5
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
bash: my.iso.md5: Permission denied
Run Code Online (Sandbox Code Playgroud)
我可以在其他地方创建 md5 sum 并用于sudo mv
将它移动到位,如果sudo md5sum
命令成功,它正是它的位置。另外,如果我将用户更改为root
with sudo su root
,我可以md5sum
成功运行命令。为什么我不能使用sudo
此目录中创建文件,因为我可以用sudo
将文件移动到了吗?
enz*_*tib 11
问题是重定向是在运行命令之前从 shell 完成的,作为当前用户,所以sudo
不要发挥作用。
改用
md5sum my.iso | sudo tee my.iso.md5
Run Code Online (Sandbox Code Playgroud)