グループがroot権限とパラメータを使用して単一のコマンドを実行できるようにする

グループがroot権限とパラメータを使用して単一のコマンドを実行できるようにする

Webサーバーを介してコマンドを実行する際に問題があります。

私が持っていることと達成したいこと:私はwww-dataグループ(sudoerではなく)を使ってApache2 Webサーバーを実行します。 Webサーバーで実行されるスクリプトは、特定のユーザー( "passthru"を使用するPHPスクリプト)でコマンドを実行する必要があります。

私が見つけた1つの可能な方法は、グループがwww-datasudoで特定のコマンドを実行できるようにすることです(パスワードも必要ありません)。ただし、他のユーザーとしてコマンドを実行するには、root権限が必要です。コマンドエイリアスとして追加できますか?

さらに、コマンドライン引数/パラメータをコマンドに渡すこともできます。参考までに、パラメータの1つは-uオプションでもあります。

これを達成する(より良い)方法はありますか?つまり、コマンドが1つしかないからです。

sudo -u myuser -c "MY_COMMAND WITH CHANGING ARGUMENTS"

私が知っているもう一つのオプションは、suコマンドを使用することです。ただし、この場合はユーザーの助けを借りずにサーバー上でスクリプトを実行する必要があるため、パスワードを「ハッキング」する必要があります。

答え1

私は明らかな答えを見落としたに違いありません。

sudoers「source」とターゲットユーザー(代わりにコマンドを実行する必要があるユーザー)に追加し、プログラムパスを指定します。私の場合は、ユーザーの代わりにグループを使用します。

www-data ALL = (mytargetuser) NOPASSWD: /path/to/my/program

この回答で説明されているソリューションは次のとおりです。https://unix.stackexchange.com/a/13058

関連情報