O problema é que o redirecionamento é feito a partir do shell antes executando o comando, como o usuário atual, portanto, sudo não entra em ação.
Use em vez disso
md5sum my.iso | sudo tee my.iso.md5
Estou tentando criar um md5sum para uma imagem ISO criada com as ferramentas do Ubuntu Customization Kit. O ISO é criado pelas ferramentas, que devem ser executadas com sudo , em
~/tmp/remaster-new-files/
que tem permissões:
drwxr-xr-x 2 root root remaster-new-files
Então, eu cd para esse diretório e executo
sudo md5sum my.iso > my.iso.md5
e recebo o seguinte erro:
bash: my.iso.md5: Permission denied
Eu posso criar a soma md5 em outro lugar e usar sudo mv para movê-la, exatamente onde estaria se o comando sudo md5sum fosse bem-sucedido. Além disso, se eu alterar o usuário para root com sudo su root , posso executar o comando md5sum com êxito. Por que não posso usar sudo para criar arquivos nesse diretório, já que posso usar sudo para mover arquivos para ele?
Tags directory sudo permissions