GNU/Linux >> Linux の 問題 >  >> Debian

Debian –このコマンドのどこにSudoを入れるべきですか?

この質問にはすでに回答があります :9年前に閉鎖。

重複の可能性:
stdoutを書き込み権限のないファイルにリダイレクトする

echo "some words" >> /etc/apt/source.list

permission denied

sudo echo "some words" >> /etc/apt/source.list

返品許可も拒否されました

次に、append演算子は別のコマンドだと思います。その前にsudoを置く必要があるので、試してみます

echo "some words" >> sudo /etc/apt/source.list

返品許可も拒否されました

このタスクをどのように行う必要がありますか?

承認された回答:

sudo sh -c 'echo "some words" >> /etc/apt/source.list'

sudo echo“ some words”>> /etc/apt/source.listが機能しない理由は、sudoがリダイレクトではなく、「echo」コマンドの特権を上げているためです。

>>リダイレクトにより、現在のシェルがファイルを作成/追加します。シェルにそうする権限がないため、失敗します。

私の答えが機能する理由は、sudoされた新しいシェルですべて(エコーとリダイレクト)を実行しているためです。 sh -c ... 新しいシェルを呼び出し、そのサブシェルで指定されたコマンドを実行します。そのサブシェルを昇格された特権で実行する前のsudo。

2番目のsudoの例は意味がありません。なぜなら、sudoは実行するコマンドを受け取り、それはあなたが渡しているものではないからです。ローカルディレクトリにsudoというファイルがあり、その内容は「いくつかの単語」であるに違いありません。自由に削除してください🙂


Debian
  1. Debian10でネットワークルーティングテーブルを表示する方法

  2. Debianターミナルからテキストファイルをすばやく作成する

  3. RHEL6 の gem コマンドはどこにありますか?

  1. Debianでsudoのパスワードをリセットする方法

  2. Debian –特定のコマンドを提供するパッケージを見つけますか?

  3. Debian10で見つからないSudoコマンドを修正する方法

  1. Linuxでsudoコマンドを使用する方法

  2. コマンドラインとGUIからDebian10をシャットダウンする方法

  3. Debian10でWhoコマンドを使用する方法