无法授予自己使用 rm 命令的权限

无法授予自己使用 rm 命令的权限

我的机器上有一个用户帐户:

$ (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

如果你想:

  1. 将更多用户添加到操作员组只需:

     usermod --append --groups operator bar_user
    
  2. 将来将任何其他命令添加到操作员组中,visudo再次并用 a 分隔它们,,如下所示:

     Cmnd_Alias      CMD_OPERATOR=/bin/rm /media/*, /bin/umount /media/*
    

    在上面的示例中,操作员可以从/media/安装中移除任何东西并卸载它,但他们将无法执行诸如rm --recursive --force /etc或之类的愚蠢操作umount /home

相关内容