この質問はこれまでに解決されていると確信していますが、私が好きな答えは見つけられません。私は別のユーザとして非常に特定のスクリプトを実行するシェルスクリプトを書こうとしています(誰もがpostgresをpostgresユーザとして起動できるようにしたい)。スクリプトには710パーマがありますので、特定のグループでは実行可能になりますが、そのグループでは読み書き可能ではありません。suがスクリプト内にパスワードなし
ここで、私は対話的なパスワードプロンプトなしで 'su'を使う方法がないと確信しています。それにはたくさんの理由があり、私はそれらの理由のメリットを確信する必要はありません(私よりも精通した人が悪いプロセスリストからパスワードを取得できると言われています)。
質問より一般的に、私がUNIXセキュリティパラダイムを乱用することなく、私がしたいことを達成する方法はありますか?ユーザーが別のユーザーとして非常に特定のプロセスを実行できるようにする方法はありますか?
実際のuidではなく、実効uidのみを変更することに限定されていませんか? Postgresはその違いを気にするかもしれません。 – Celada
この場合、私はsudoが正しい答えだと思います。 postgresを起動して管理するデーモンは既に存在しています。私はちょうど正しいユーザーアカウントから呼び出す必要があります。それはリンクされたスレッドが優れた議論であると言いました。ありがとう! – prauchfuss