我可以使用伪造的 root 权限导出 NFS 共享吗

我可以使用伪造的 root 权限导出 NFS 共享吗

我正在为嵌入式 Linux 系统编写软件,并使用 NFS 共享作为根目录。根文件系统位于/srv/nfs/rootfs,并使用以下命令导出/etc/exports

/srv/nfs *(rw,no_root_squash,no_subtree_check,async,wdelay)

内容/srv/nfs/rootfs需要root拥有,否则目标系统挂载会出现问题/dev。但是,我需要能够/srv/nfs/rootfs以普通用户身份修改文件,并且我不想添加sudo到我的脚本中或在每个其他命令上运行 sudo。是否有某种方法可以配置 NFS 来伪造 root 权限/srv/nfs/rootfs?我正在考虑尝试使用 fakeroot 运行 nfs,但这对我来说似乎不是最好的解决方案。

答案1

您可以使用 ACL 来/srv/nfs/rootfs授予其他用户写入权限 - 请参阅man setfacl/man getfacl了解更多信息。如果您决定采用这种方式,那么使用默认 ACL 可能是一个好主意 - 这将确保为目录设置的 ACL 在文件/目录创建时传播。但有一个问题:新创建的文件将归创建它们的用户所有。因此,您可能希望chown root:定期运行 NFS 导出或将某些内容挂接到 FAM(文件更改监视器,例如gamin)。

附注:导出可写事物全世界( /srv/nfs *(rw,...) 几乎从来都不是一个好主意,无论人们多么认为他/她的环境与宇宙的其他部分是隔离的。

相关内容