为什么我可以将文件复制到该目录,但不能在该目录中创建文件?

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命令成功,它正是它的位置。另外,如果我将用户更改为rootwith 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)