我有两个用户 userA 和 userB。userA 对名为 的文件具有权限cache
。我想授予 userB 删除该文件的权限。我在/etc/sudoers
文件中进行了以下输入:
userB ALL=(userA) NOPASSWD:/bin/rm /opt/cache
当我输入时sudo -u userA /bin/rm /opt/cache
,它说权限被拒绝。但是缓存有777
权限。请告诉我我哪里做错了。
答案1
NOPASSWD
采用逗号分隔的程序列表。请改为这样做:
userB ALL=(userA) NOPASSWD:/bin/rm
请注意,这将允许用户 B 删除任何用户A可以删除的文件。
一个更好、更可控的解决方案可能是将该文件的所有者组更改为允许删除该文件的某个组,然后将用户添加到该组。
您也可以使用删除该文件的 shell 脚本并指定该文件。不过我不确定,请确保只有 root 或 userA 可以编辑该脚本。