-2
ファイルの内容を貼り付けるために、次のコマンドを実行しました。/usr/binにあるファイルにcatすることはできません
sudo cat > /usr/bin/sasquatch
ファイルアクセス権をsudo
に変更した後でも、次のエラーが発生することがあります。
bash: /usr/bin/sasquatch: Permission denied
どうして私はそれを修正できますか?
ファイルの内容を貼り付けるために、次のコマンドを実行しました。/usr/binにあるファイルにcatすることはできません
sudo cat > /usr/bin/sasquatch
ファイルアクセス権をsudo
に変更した後でも、次のエラーが発生することがあります。
bash: /usr/bin/sasquatch: Permission denied
どうして私はそれを修正できますか?
>
は、シェルを書き込み用のファイルにします。あなたのシェルはあなたのユーザー権限で実行されています。
sudoを使用すると、(ファイルを開いている)シェルではなく、コマンドを昇格させるだけです。
一つの方法は、sudoを使用して新しいシェルを起動することです。
sudo bash -c 'cat > /usr/bin/sasquatch'
あなたが貼り付けに言及しているので、あなたがXCLIPの使用を検討することができます
sudo bash -c 'xclip -sel clip > /usr/bin/sasquatch'
須藤はあなたに管理者が与えたアクセスを許可します君は。それはあなた自身の個人的なマシンでない限り、一般的に止められないルートマジックではありません。 –
'sudo sh -c 'cat>/usr/bin/sasquatch''あなたのケースでは、' sudo'は 'cat'のみに適用され、リダイレクト'> 'は通常のユーザとして実行されます。 '-c'を使うとそれが処理されます。 –
'/ usr/bin'にあるファイルを改ざんするのは悪いことです。ファイルをそこに残しておかなければなりません('/bin'と '/ usr/bin'とが異なる場合)。 'system'ディレクトリにファイルを追加する必要がある場合、通常は '/ usr/local/bin'を使用する方が良いでしょう。 –