当另一个用户执行 chpst 时神秘地失败

当另一个用户执行 chpst 时神秘地失败

尝试chpst在 Ubuntu 上以另一个用户身份运行程序来执行程序,出现以下错误:

$ 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 命令可以帮助你。

样本@测试:~$id uid=1202(样本) gid=1202(样本) groups=1202(样本),4(adm),27(须藤),102(systemd-日志)

如果用户不属于sudo组,则执行 usermod -a -G sudo your_user将用户添加到sudo组。

因此,当您确认您的用户属于 sudo 时,只需运行如下命令: sudo chpst -u www-data sh -c whoami

相关内容