我的机器上有一个用户帐户:
$ (whoami)
foo_user
我已按/etc/sudoers
文件更新以授予自己使用该rm
命令的权限:
User_Alias OPERATORS = foo_user
Cmnd_Alias RM = /bin/rm
OPERATORS ALL = RM
OPERATORS ]ALL = (ALL) ALL
但是,当我尝试在目录上运行 rm 时,出现权限被拒绝错误:
rm: /root-directory: Permission denied
我究竟做错了什么?
答案1
您似乎正在做的是允许一堆操作员使用某些命令...因此执行 avisudo
并添加:
Cmnd_Alias CMD_OPERATOR=/bin/rm *
然后添加该组operator
并允许该组执行CMD_OPERATOR
%operator ALL=CMD_OPERATOR
退出visudo
,保存更改并最后添加foo_user
到组中operator
:
usermod --append --groups operator foo_user
如果你想:
将更多用户添加到操作员组只需:
usermod --append --groups operator bar_user
将来将任何其他命令添加到操作员组中,
visudo
再次并用 a 分隔它们,,
如下所示:Cmnd_Alias CMD_OPERATOR=/bin/rm /media/*, /bin/umount /media/*
在上面的示例中,操作员可以从
/media/
安装中移除任何东西并卸载它,但他们将无法执行诸如rm --recursive --force /etc
或之类的愚蠢操作umount /home