OS X Snow Leopard,更改复制的文件权限

OS X Snow Leopard,更改复制的文件权限

我使用 OS X、Snow Leopard,需要允许用户复制位于只读存储库中的文件(模板)以供后续编辑。

该存储库位于安装到 OS X 启动卷的单独物理驱动器上。

由于这是学校环境中的共享计算机,所有用户都可以通过单一登录(“user_local”)访问该机器。

无论使用 POSIX 权限还是 ACL,用例都要求文件权限在复制到“user_local”主目录时从“读取”更改为“读写”。

谷歌搜索并没有找到任何可以表明这可以通过 Snow Leopard 权限系统实现的信息。

问题 1:
这实际上可以通过权限系统实现吗?
如果可以,怎么做?

问题 2:
如果不可能,如何解决这个问题?
我认为这是一个相当常见的用例,因此一定有一个可行的解决方案。

谢谢。

答案1

如果出现这种情况,我可能会编写一个小的 bash 脚本。您可以使用命令cp复制文件。cp 链接chmod 命令将允许您更改权限。chmod 链接您应该能够设置一个 cron 作业,使其每晚或任何需要时运行。确保在运行脚本时您已进入sudo -ssudo位于每个命令的前面。有一种方法可以在 ubuntu 上锁定文件,这样您就不需要输入sudo或,sudo -s但我一下子想不起来。

答案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-’属性仍然保留。

相关内容