web-dev-qa-db-ja.com

`〜/ .profile`でSudoを使用してコマンドをどのように実行しますか?

_~/.profile_でSudoを必要とするコマンドを実行することは悪い習慣ですか?

本当にそれをしたい場合は、Ubuntuの再起動時にコマンドを実行するにはどうすればよいですか?

  • _/etc/sudoers_を編集して、コマンドをSudoで実行し、自分のユーザーアカウントでパスワードを要求しないようにします。

  • _~/.profile_によって_echo <passwd> | Sudo -S <mycommand>_でSudoをコマンドに使用してパスワードを提供しますか?

最初の方法が機能するかどうかはまだ確認していません。まだ方法を学習しているためです。

2番目の方法は、深刻なセキュリティ上の懸念を引き起こしているようであり、おそらく私がやりたい最低の方法です。

ありがとう。

3
Tim

コマンドを〜/ .profileに入れると、ログインシェルを起動するたびに実行されます。一部のターミナルエミュレータでは、各ターミナルウィンドウにログインシェルを使用できます。コマンドをそれほど頻繁に実行しますか?

パスワードを入力せずにそのコマンドにSudoを使用できるようにする場合は、visudoコマンドを_Sudo visudo_とともに使用します(または、お気に入りのエディターを使用するには、_Sudo -E visudo_を使用します)。
/ etc/sudoersを直接編集しないでください

次のような行を追加します。

_tim  ALL=(ALL) NOPASSWD: /path/to/my/command
_

Sudoersファイルでは順序が重要であるため、次の行の下に追加します。root ALL=(ALL:ALL) ALL

ただし、システムの起動時にのみ実行したい場合は、_/etc/rc.local_に追加すれば、Sudoについて心配する必要はありません。

4
glenn jackman