将文件夹的权限克隆到另一个文件夹

时间:2009-08-19 22:06:25

标签: shell permissions macos acl

OS X中是否有任何方法可以将一个文件夹的权限克隆到另一个文件夹。为了清楚起见,我不想复制整个文件夹,只需要复制权限,然后将它们设置在另一个文件夹中。我认为可以使用setfacl / getfacl命令在Linux / UNIX上实现此类事情,但我不确定如何使用OS X执行此操作。

由于

3 个答案:

答案 0 :(得分:8)

在Mac OS X v10.5.7上以bash:

进行测试
chown $(stat -f%u:%g "$srcdir") "$dstdir" # Copy owner and group
chmod $(stat -f%Mp%Lp "$srcdir") "$dstdir" # Copy the mode bits
(ls -lde "$srcdir"  | tail +2 | sed 's/^ [0-9]*: //'; echo) | chmod -E  "$dstdir" # Copy the ACL

注意:这些操作(尤其是更改所有权)可能需要root访问权限;撒上sudo以获得最佳效果。此外,如果srcdir没有附加任何ACL条目(echo可以处理空白行,但不是完全空的输入),那么最后一行上的奇数chmod -E命令可以防止出错。

答案 1 :(得分:1)

我认为你用Google搜索并至少找到了:

web page似乎也涵盖了一些重要信息(例如fsaclctl)。

答案 2 :(得分:0)

我最终做的是创建一个Objective C方法(我计划在Cocoa应用程序中使用它),使用perl脚本找出文件的权限,然后使用chmod / chown来应用这些权限。