Ubuntuで別のユーザーとしてプログラムを実行して実行しようとすると、chpst
次のエラーが発生します。
$ chpst -u www-data sh -c whoami
chpst: fatal: unable to setgroups: permission denied
コマンドを実行したいユーザーはsudoers
ファイルにあり、すべてのコマンドを実行する権限があります(%sudo ALL=NOPASSWD: ALL
)。
またwww-data
、およびにはユーザーとグループの両方が存在します。/etc/passwd
/etc/group
誰もがa)chpstが苦情を提起するものとb)上記のwhoami
結果が出るようにこの問題を解決する方法を助けて明確にすることができますかwww-data
?
ベストアンサー1
%sudo ALL=NOPASSWD: ALL
これは、sudoシステムグループに属するすべてのユーザーがパスワードなしでrootコマンドを実行できることを意味します。
ただし、実行するコマンドの前に「sudo」を使用する必要があります。また、コマンドを実行したいユーザーがsudoグループに属していることを確認する必要があります。 idコマンドが役に立ちます。
Sample@test:~$id uid=1202(サンプル) gid=1202(サンプル) groups=1202(サンプル),4(adm),27(修道),102(システムログ)
ユーザーがsudoグループに属していない場合は、
usermod -a -G sudo your_user
そのユーザーをsudoグループに追加します。
したがって、ユーザーがsudoに属していることを確認したら、次のコマンドを実行します。
sudo chpst -u www-data sh -c whoami