[重複] ファイルにログメッセージを書き込んだとき、Linux 権限が拒否されました。

[重複] ファイルにログメッセージを書き込んだとき、Linux 権限が拒否されました。
sudo date > output.txt
bash: output.txt: Permission denied

ログメッセージをファイルに書きたいのですが、プレフィックスを追加しても権限が拒否されますsudooutput.txt755

ファイルを作成し、権限を変更せずにどのようにログメッセージを作成できますか?

ようにsudo date > output.txt --chmod 755 ?

答え1

date | sudo tee output.txt > /dev/null

teeこれはオンになっていてoutput.txtルートとして実行されているために機能します。これはに送信された追加コピーを> /dev/null捨てるだけです。teestdout

sudo date > output.txtうまくいかないのは、出力リダイレクト(> output.txt)が行われたためです。今後起動されるため、sudo date現在のアクセス権で実行されます。

別の方法は、現在のユーザーがファイルを生成できるように、現在のディレクトリの権限を変更することです。そうすればdate > output.txt必要がないという意味ですsudo

関連情報