ユーザーが所有して作成したファイルがありますroot
。
他のユーザーに電話をかけ、すべてのタスクsystemuser
にsudo権限を与えたと言いました。
systemuser
私はユーザーのようにすべてのことroot
を行うことができます。
しかし、rootが所有して作成したファイルを消去しようとしたところ、権限拒否エラーが発生しました。
>api-server-out-0.log
-bash: api-server-out-0.log: Permission denied
$ sudo >api-server-out-0.log
-bash: api-server-out-0.log: Permission denied
注:ユーザーと一緒に実行されているプロセスはroot
現在このログファイルに書き込まれています。
`systemuser'の使い方を提案してもらえますか?
答え1
sudo > api-server-out-0.log
不可能。実際に行うことは、sudo
引数なしで開始して出力をリダイレクトすることです。あなたのユーザーアカウントからファイルはルート所有であるため、もちろん動作しません。
あなたが本当にやりたいことは
sudo dd if=/dev/null of=api-server-out-0.log
# or
sudo truncate -s 0 api-server-out-0.log
# or
sudo sh -c 'echo -n "" > api-server-out-0.log'
# or
sudo sh -c ': > api-server-out-0.log'
答え2
アルトゥーンS.タシュキノフ「理由」を説明し、さまざまなオプションのいくつかを提供します。別のアプローチは次のとおりです。
sudo tee api-server-out-0.log </dev/null