sudoなしで特定のユーザーに対して特定のコマンドを実行するようにLinuxを構成する方法は?

sudoなしで特定のユーザーに対して特定のコマンドを実行するようにLinuxを構成する方法は?

この質問は以前に要求されたことがあると確信していますが、答えが見つかりません。

apt-get特定のコマンド(たとえば)を入力するときに、今のようにパスワードを入力する必要がないようにLinuxを設定したいと思います。

どうすればいいですか?

答え1

sudoを必要としないようにLinuxを構成することはできません。一部のコマンドはrootとして実行する必要があります。特権のないアカウントでコマンドを実行するには、sudoまたは他の特権昇格メカニズムが必要です。

sudoersラベル付きルールを追加して、特定のコマンドにパスワードを要求しないようにsudoを設定できますNOPASSWD:。気づくNOPASSWDルールは、同じコマンドに一致する非NOPASSWDルールに従う必要があります。

%admin: ALL = (ALL:ALL) ALL
%admin: ALL = (root) NOPASSWD: apt-get

許可はapt-getコマンドを許可するのと同じくらい危険です。これは、呼び出し元がapt-get指定されたソースからパッケージをダウンロードし、指定されたフックを呼び出すようにするオプションを渡すことができるためです。

プロンプトが多すぎると思われる場合は、sudoプロンプトの頻度を減らすことができます。閉鎖tty_ticketsエンドポイントごとに1回ではなくセッション全体に対して1回認証できるようにするオプション。デフォルトでは、パスワードを再入力する必要があるタイムアウトは15分です。

答え2

visudo/ etc / sudoersファイルを設定するために使用されます。おそらく次のようなものが欲しいでしょう。

ALL ALL=NOPASSWD: /usr/bin/apt-get

man sudoers詳細より。

sudoを完全に避けたい場合は、次のように固定ビットを設定できます。

chmod u+s /usr/bin/apt-get

これが機能するかどうかは、アプリケーションによって異なります。このようにして、コマンドは有効なユーザールートとして実行されますが、コマンド自体はその事実を検出し、そうすることにした場合は操作を拒否できます。

関連情報