0

別のユーザーでいくつかのコマンドを実行する必要がある bash スクリプトがあります。su でこれを行いたいのですが、パスワードプロンプトなしで自動的に su することはできません。

スクリプトを実行するユーザーは、centos では apache になります (したがって、実際のユーザー アカウントではありません。たとえば、su apache を実行して、apache ユーザーでプロンプトを表示することはできません)。

したがって、私は期待のようなものがうまくいくとは思わない。また、ssh キーを使用して apache から別の localhost アカウントに ssh することもできません。

私の目的を達成する方法はありますか?パスワードのハードコーディングは私には受け入れられます。

4

1 に答える 1

3

これは、sudoきめの細かい許可を上げるために構築されたものです。Apache が sudo を使用して (/etc/sudoersファイル内で) 実行できるものとしてスクリプトを追加すると、制限付きの権限エスカレーションを提供できます。

ただし、apache ユーザーから呼び出されるものを要求することは非常に危険です。限定的なローカル エクスプロイトをすぐにルート エクスプロイトに変える可能性があります。入力のサニタイズには細心の注意を払い、シェルが変数を展開する方法を理解するなどしてください。

于 2011-07-17T07:57:39.593 に答える