sudo date > output.txt
bash: output.txt: Permission denied
ログメッセージをファイルに書きたいのですが、プレフィックスを追加しても権限が拒否されますsudo
。output.txt
755
ファイルを作成し、権限を変更せずにどのようにログメッセージを作成できますか?
ようにsudo date > output.txt --chmod 755 ?
答え1
date | sudo tee output.txt > /dev/null
tee
これはオンになっていてoutput.txt
ルートとして実行されているために機能します。これはに送信された追加コピーを> /dev/null
捨てるだけです。tee
stdout
sudo date > output.txt
うまくいかないのは、出力リダイレクト(> output.txt
)が行われたためです。今後起動されるため、sudo date
現在のアクセス権で実行されます。
別の方法は、現在のユーザーがファイルを生成できるように、現在のディレクトリの権限を変更することです。そうすればdate > output.txt
必要がないという意味ですsudo
。