OpenBSD 中一个文件夹上不同组具有不同的权限?

OpenBSD 中一个文件夹上不同组具有不同的权限?

OpenBSD 中是否可以有文件系统权限 ACL(或类似权限)?我试图创建一个文件夹,其中一个组具有读写访问权限,而另一个组具有只读访问权限。我不想授予所有人读取权限,也不想将写入权限限制给单个用户,因此两者都需要由组权限控制。

编辑:有人提出 OpenBSD 可能根本没有 ACL。这很好。问题仍然存在:我如何(或者甚至有可能)在 OpenBSD 中设置文件夹权限,使得一个组具有写入权限,另一个组具有只读权限,而其他人则无权访问?

答案1

你不能。

下面是一个示例,说明如何使用超级用户的 BSD 交叉参考

你可以从函数开始open(),这是一个系统调用,因此,它sys_在内核中用前缀定义。搜索sys_open。你会在http://bxr.su/OpenBSD/sys/kern/vfs_syscalls.c#sys_open

如果你关注sys_open()得足够久,你会发现http://bxr.su/OpenBSD/sys/kern/vfs_vops.c#VOP_ACCESS

在 中VOP_ACCESS(),您将看到每个文件系统都有自己的*_access函数来检查权限,它是存储在 中的指针v_op->vop_access

搜索vop_access参考资料,你可以找到文件系统的所有单独访问函数。对于 UFS,它是http://bxr.su/OpenBSD/sys/ufs/ufs/ufs_vnops.c#ufs_access

在中ufs_access(),你可以看到它回调到独立于共享文件系统的代码来验证权限——http://bxr.su/OpenBSD/sys/kern/vfs_subr.c#vaccess

通过vaccess(),您可以亲眼看到权限是如何验证的。

您想要做的事情在 OpenBSD 中是不可能的,因为它没有 ACL。

解决方法是,您可以共享一个用户/组,并通过以下方式实施 ACL 策略须藤以及一些定制的脚本。

相关内容