書き込み権限なしでファイルを変更しようとすると、次のエラーメッセージが表示されます。
> touch /tmp/foo && sudo chown root /tmp/foo
> echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Sudoingはコマンドをrootとして実行するので役に立ちませんが、シェルはstdoutリダイレクトとファイルを開くことをユーザーが行った方法で処理します。
> sudo echo test > /tmp/foo
zsh: permission denied: /tmp/foo
rootでシェルを開き、そのようにファイルを操作するだけでなく、書き込み権限のないファイルにstdoutをリダイレクトする簡単な方法はありますか?
> sudo su
# echo test > /tmp/foo
ベストアンサー1
はい、使用してくださいtee
。echo test > /tmp/foo
echo test | sudo tee /tmp/foo
>>
()を追加することもできます。
echo test | sudo tee -a /tmp/foo