$ Sudo -u fish -g fish bash
Sorry, user steve is not allowed to execute '/bin/bash' as fish:fish on myserver.
$ Sudo -u fish bash
$ groups
fish
-gオプションの使用目的とは何ですか?また、なぜ使用できないのですか? RHELところで。
おそらく、sudoersファイルでこれが指定されていないためです。これは、このような2つの行の違いです。最初の行はデフォルトですが、2番目の行では、任意のグループとしてコマンドを実行することもできます。これは、必要なものです。
スティーブALL =(ALL).。
スティーブALL =(ALL:ALL).。
ワイルドマンページが登場!
-g group通常、Sudoは、プライマリグループを、コマンドが実行されているユーザー(デフォルトではroot)のpasswdデータベースで指定されたグループに設定します。 -g(group)オプションを使用すると、Sudoはプライマリグループをgroupに設定して指定されたコマンドを実行します。グループ名の代わりにgidを指定するには、#gidを使用します。コマンドをgidとして実行する場合、多くのシェルでは、「#」をバックスラッシュ(「\」)でエスケープする必要があります。 -uオプションが指定されていない場合、コマンドは(rootではなく)呼び出し元のユーザーとして実行されます。いずれの場合も、プライマリグループはグループに設定されます。
許可がないため、おそらく使用できません。 sudoers
(5)のマンページを正しく読んでいる場合、Runas_user
を使用できるようにするには、sudoersエントリの-g
部分にグループリストを明示的に指定する必要があります。
最初のものだけが指定されている場合、コマンドはリスト内の任意のユーザーとして実行できますが、-gオプションは指定できません。