sudo 権限があってもファイルを消去できません。

sudo 権限があってもファイルを消去できません。

ユーザーが所有して作成したファイルがあります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

関連情報