我有 2 个用户账户,富和酒吧
我想允许用户富以 root 和任何其他用户身份执行命令,即:
sudo su root-c'./运行我的脚本'
sudo su bar-c'./another-script'
sudo su another -c'./yet-another-script
我还想允许用户酒吧以其他用户的身份执行命令,但只能是子集而不是 root 用户,即:
sudo su bar-c'./运行我的脚本'
但不是
sudo su root-c'./运行我的脚本'
这可能吗 ?
答案1
是的,这当然有可能。
首先,您需要修复对 sudo 的使用,要以 root(默认)以外的用户身份使用 sudo 执行命令,语法如下:sudo -u username command
然后,您可以通过配置文件锁定用户身份/etc/sudoers
,例如,具有完全权限的用户如下所示:
jim ALL=(ALL) ALL
而有限制的用户则如下所示:
jim ALL=(admin,bill) ALL
这意味着如果我尝试以不在列表中的用户身份执行命令,我会被拒绝:
jim@mybox:~$ sudo -u nobody whoami
Sorry, user jim is not allowed to execute '/usr/bin/whoami' as nobody on mybox.