別のユーザー/グループでプロセスを開始する(init.dスクリプトから)

別のユーザー/グループでプロセスを開始する(init.dスクリプトから)

init.d スクリプトを編集中です。 init.dスクリプトはユーティリティスクリプトを実行してからプロセスを実行します。 bashスクリプトで特定のユーザーとグループで基本プロセスを開始するにはどうすればよいですか?

ベストアンサー1

最も簡単な方法は、ユーザーのシェルを介してコマンドを実行するオプションを持つ su(1) コマンドを使用することです。たとえば、次のようになります。

su foo -c ls

ユーザーに切り替えます。金持ちそしてlsコマンドを実行してください。使用するユーザーに有効なシェルがない場合(つまり、/bin/falseや/sbin/nologinなどの/etc/shellsには​​ない)、コマンドラインでもシェルを指定する必要があります。出力例:

# su nobody -s /bin/bash -c id
uid=99(nobody) gid=99(nobody) groups=99(nobody) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

おすすめ記事