设置 sudo 以便特定普通用户可以编辑 /etc/fstab

设置 sudo 以便特定普通用户可以编辑 /etc/fstab

我该如何设置sudo以便特定的普通用户可以编辑/etc/fstab?我想过通过编辑/etc/sudoers.d文件来做到这一点,但是我们如何编辑/etc/fstab这个文件呢?

答案1

使用您最喜欢的编辑软件在 cmd 别名中的 sudoers.d 中添加一行应该可以解决问题:

Cmnd_Alias EDITFSTAB = /etc/bin/vim /etc/fstab
username    ALL = (user) EDITFSTAB

要小心,存在巨大的特权逃脱风险,也许你应该编写一个基本的 shell 脚本来限制/控制 fstab 修改,而不使用编辑器(即“对于该修改,按 1”并在 fstab 中回显)。

答案2

创建简单脚本,调用editfstab并位于/usr/local/bin(可作为 shell 命令访问),并使其可执行:

echo -e '#!/bin/sh\nnano /etc/fstab' | sudo tee /usr/local/bin/editfstab && sudo chmod +x /usr/local/bin/editfstab

运行命令sudo visudo -f /etc/sudoers.d/editfstab并将以下规则添加为新创建的文件的内容:

ALL ALL=NOPASSWD: /usr/local/bin/editfstab

此时,每个系统用户都可以/etc/fstab通过以下命令编辑,无需密码:

sudo editfstab

/usr/local/bin/editfstab您可以通过添加在编辑之前制作备份的功能来扩展其功能:

#!/bin/sh
cp /etc/fstab /etc/fstab.bak
nano /etc/fstab

相关内容