0

この質問は以前に回答されたことがあると思いますが、好きな回答が見つかりません。非常に特定のスクリプトを別のユーザーとして実行するシェルスクリプトを作成したいと思います(誰でもpostgresユーザーとしてpostgresを開始できるようにしたいと思います)。スクリプトには710パーマがあるため、特定のグループでは実行可能ですが、そのグループでは読み取りや書き込みはできません。

さて、インタラクティブなパスワードプロンプトなしで「su」を使用する方法はないと確信しています。それには多くの正当な理由があり、それらの理由のメリットを確信する必要はありません(私よりも知識のある人がプロセスリストからパスワードを取得できると言われていますが、これは悪いことです)。

問題は、より一般的には、UNIXのセキュリティパラダイムを悪用することなく、やりたいことをどのように達成できるかということです。ユーザーが別のユーザーとして非常に特定のプロセスを実行できるようにする方法はありますか?

4

3 に答える 3

3

この種の状況は、まさにそのsudoために設計されたものです。

于 2012-05-06T16:45:48.933 に答える
1

postgresユーザーとして実行する必要のあるスクリプトを起動する実行可能ファイル(シェルスクリプトではない)を作成できます。実行可能ファイルの所有者をpostgresユーザーに変更し、setuidビットを設定します。

Celadaの懸念に対処するために、別のユーザーとしてLinuxサービスを実行するためのベストプラクティスを参照してください。

于 2012-05-06T16:57:15.373 に答える