runDaemon.ksh
私のクライアントには、userとして実行する必要があるスクリプトがありますapp-admin
。このスクリプトはポート 3001 の IP へのソケット接続を作成します。
このスクリプトを自動化しますが、他のユーザーを使用するように求められましたautomation
。彼らは私のユーザーにsudo権限を与えますrunDaemon.ksh
。app-admin
/etc/sudoers
automation
このコマンドを使用してスクリプトを実行しようとすると、sudo -u app-admin ./runDaemon.ksh
デーモンは起動されますが、ポート3001の宛先IPへのソケット接続は作成されません。変ですね。クライアントが直接ログインしてスクリプトを実行すると、正常に実行されます。
sudo
付与されたユーザーが実際のユーザーと同じように振る舞うようにするにはどうすればよいですか?
答え1
-i
sudoのパラメータを使用すると、実際のユーザーが実行するのと同じ動作でスクリプトを実行できます。
sudo -i -u app-admin ./runDaemon.ksh