子プロセスのジョブフローの実行ユーザを指定する方法
回答済み利用環境
Kompira のバージョンは 1.5.4post5 を使用しています。
実現したいこと
子プロセスとして実行するジョブフローの実行ユーザを変更したいです。
実現したいことの詳細
ジョブフローA内で、実行ジョブとしてジョブフローBを実行します。
諸事情により、ジョブフローBの実行時にユーザーを変更したいのですが
これは可能でしょうか。
ジョブフローAの実行ユーザーは管理者権限を持っています。
-
正式なコメント
フィックスポイント開発部の髙橋です。
特権ユーザに限り、プロセスの実行ユーザをプロセスオブジェクトの user プロパティを書き換えることで変更することができます。
サンプルを以下に示します(root で実行してみてください)。
# 子プロセスを起動して実行ユーザを書き換えて、別のジョブフローBを実行します。
{ fork |
[proc = current()] ->
[user("guest") >> proc.user] ->
[./ジョブフローB]
}- current() で実行中のプロセスオブジェクトを取得しています。
- user() でユーザ名からユーザオブジェクトを取得しています。
ここでは fork して子プロセスの実行ユーザを変更していますが、元のジョブフローを管理者権限で動作継続する必要がなければ、fork せずに元のプロセスの実行ユーザを変更してしまうことも可能です。ただし管理者以外に変更した場合は、以後実行ユーザは変更できないことにご注意ください。
参考になさってみてください。
以上、よろしくお願いいたします。
コメントアクション
サインインしてコメントを残してください。
コメント
2件のコメント