我希望用户能够以ext3
只读和无执行模式将图像文件安装为环回设备,而无需调用sudo
.当前使用的命令sudo
类似于:
$ EXT3_DIR=$(mktemp -d /tmp/ext3-mnt-XXX) ; sudo mount -o loop,ro,user rootfs.ext3 ${EXT3_DIR} && cd ${EXT3_DIR}
有了这个(和visudo
),我创建了一个文件:/etc/sudoers.d/ext3-ro-mount
其内容为:
user ALL=(root) NOPASSWD: /bin/mount -o loop\,ro\,user *.ext3 /tmp/ext-mnt-*
但是当我在没有提升的情况下运行 mount 命令时sudo
,出现错误:
mount: only root can use "--options" option
我怎样才能为用户实现这一目标?(接下来的/etc/sudoers.d/ext3-ro-umount
内容会是什么样子?)
编辑:
误解了我所做的事情实际上是如何工作的,我运行了命令和sudo
在权限较低的帐户上,输入密码并收到此错误:
{such and such} is not in the sudoers file. This incident will be reported.
如何将用户添加到 sudoers 文件而不使其成为完整的 sudoer? 这是通过创建一个新组并授予该组执行此操作的权限来实现的吗?
编辑2:
我弄清楚了我遇到的问题。请参阅下面我的回答。
答案1
sudo
支持细粒度特权。
例如,您可以进行设置,以便指定的用户或组可以在有或没有密码的情况下使用指定的参数执行指定的命令。
看man sudoers
答案2
我正在寻找的 sudoer 文件的正确形式是替换user
为ALL
:
ALL ALL=(root) NOPASSWD: /bin/mount -o loop\,ro\,user *.ext3 /tmp/ext-mnt-*