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

Sudoを使用したリダイレクトまたはパイピングを含むコマンドを実行するにはどうすればよいですか?

rootアカウントの代わりにsudoを使用するベストプラクティスであると私が想定していることに従おうとしています。

次のような単純な連結ファイル操作を実行しています:

sudo echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock

これは、通常のユーザーとして実行されている「>>」の右側では失敗します。 sudoを追加することも失敗します(ファイルではなくsudoコマンドにパイプするため、予期される動作)。

例はそれだけですが、rootアカウントで検証およびテストされています。

承認された回答:

ルートとして新しいシェルを呼び出すことができます:

sudo sh -c 'echo clock_hctosys="YES" >> /etc/conf.d/hwclock'

ファイルに書き込むプロセスを昇格させることもできます:

sudo tee -a /etc/conf.d/hwclock > /dev/null << EOF
clock_hctosys="YES"
EOF

Linux
  1. パスワードプロンプトなしでルートとして特定のプログラムを実行する方法は?

  2. エイリアスによってシャドウされているコマンドを実行しますか?

  3. スクリプトをルートとして遡及的に実行する方法は?

  1. sudo を使用して非 root ユーザーが特定のコマンドを実行できるようにする方法

  2. パイピングされている実際のコマンドをどのように判断しますか?

  3. 遅れてバックグラウンドでコマンドを実行する方法は?

  1. システム管理者(root)としてコマンドを実行する方法は?

  2. ルートプロパティなしでコマンドを実行する方法は?

  3. 同じ名前でエイリアスされた元のコマンドを実行するにはどうすればよいですか?