我使用 OS X、Snow Leopard,需要允许用户复制位于只读存储库中的文件(模板)以供后续编辑。
该存储库位于安装到 OS X 启动卷的单独物理驱动器上。
由于这是学校环境中的共享计算机,所有用户都可以通过单一登录(“user_local”)访问该机器。
无论使用 POSIX 权限还是 ACL,用例都要求文件权限在复制到“user_local”主目录时从“读取”更改为“读写”。
谷歌搜索并没有找到任何可以表明这可以通过 Snow Leopard 权限系统实现的信息。
问题 1:
这实际上可以通过权限系统实现吗?
如果可以,怎么做?
问题 2:
如果不可能,如何解决这个问题?
我认为这是一个相当常见的用例,因此一定有一个可行的解决方案。
谢谢。
答案1
答案2
如果你将原始模板设为可读/可写,但不是由local_user可写,然后Finder拖动复制并cp
会保留原始文件的权限,但不保留所有者的权限。
因此,如果原始模板文件具有如下权限:
-rw-r--r-- 1 root wheel ... rw-file
-r--r--r-- 1 root wheel ... ro-file
当一些无特权local_user 将这些文件复制到他们自己的目录中,它们将变成:
-rw-r--r-- 1 local_user staff ... Documents/rw-file
-r--r--r-- 1 local_user staff ... Documents/ro-file
可以看到,虽然在新副本中所有者已经发生改变,但是 root 拥有的文件“rw-file”的‘rw-’属性仍然保留。