ユーザーが正しいユーザーでない場合は、パスワードやその他の認証を必要とせずに、よく定義されたコマンドをrootとして実行できるようにする sudoers でルールを定義できますか?
この問題(または非常に似た問題)を解決する他の方法はありますか?
Suid権限ビットを使用しますか?どういうわけかSSHキーを使用できますか?
答え1
sudoers
書類特定のコマンドを許可許可するには:
username ALL=(root) NOPASSWD: /bin/foo bar baz
これはusername
許可したいユーザーで、コマンドは行の末尾にあります。コマンドにパラメーターを指定すると、ユーザーはそのパラメーターでのみコマンドを実行できますが、ここでパラメーターを指定しないと、ユーザーは自分が選択したすべてのパラメーターを使用してコマンドを実行できます。複数のコマンドをカンマで区切って指定することも、別々の行で指定することもできます。
sudoers
ファイルの編集visudo
(ルートとして)この形式の行を追加して適切な詳細を変更すると、ユーザーは高い権限で指定したコマンドを実行できます。
NOPASSWD:
ユーザーはメッセージを表示せずにコマンドを実行できます。これはALL
ホストの制限なので、無視しても問題ありません(できない場合はわかります)。(root)
これは、rootとしてのみコマンドを実行できることを意味します。
ssh
あなたが要求したので、より良いですが、そうすることは完全に可能ですsudo
。COMMAND=something
行の先頭に置くことができます/root/.ssh/authorized_keys
そして、コマンドに対応するプライベートSSHキーをユーザーに提供します。考えられる唯一の理由は、sudo
ユーザーがシステムへの他のアクセスを望まない場合、またはユーザーが直接コマンドを作成したくない場合です。