重複の可能性:
書き込み権限のないファイルに標準出力をリダイレクトします。
はい、rootにアップグレードできます(そしておそらくそうします)。しかし、これがうまくいかない理由は何ですか?
sudo cat .mplayer/config >> /home/griff/.mplayer/config
zsh: permission denied: /home/griff/.mplayer/config
sudo
すべてのコマンドを実行できるように構成されているため、制限はありません。
答え1
答え2
コマンドが何であれ、>>
コマンドが実行される前にリダイレクトが常に完了するため、これは失敗します。
この場合、シェルはrootではなくユーザーとして実行され、.../config
現在の権限(root権限ではなく)を使用してファイルに接続しようとしますが、sudoが実行される前に失敗します。
コマンド実行の一般的な例は次のとおりです。
sudo tee --append /home/griff/.mplayer/config < .mplayer/config
(読み取り権限があると仮定.mplayer/config
)。 sudoのrootコンテキストで/home/griff/...
開かれたので、ファイルに書き込むroot権限があります。tee
私はこのアプローチのファンではありません。内容を.mplayer/config
stdoutにコピーし、それをグリフファイルに追加するためです。しかし、動作します。
答え3
渡す
sudoはどのコマンドでも実行できます
概念的には、sudoがすべてのコマンドを実行するように構成できることを意味しますか、またはおおよそのシステムでsudoを構成したことを意味しますか<user> <host(s)>=<opt(s)> ALL
?
試してみましたsudo -u 0 cat ...
か?これにより、ユーザーIDが許可されている場合、sudoはrootとしてコマンドを実行します。
何を印刷しますかsudo -l
?