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

ind*_*gie 4 permissions macos shell acl

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

谢谢

Gor*_*son 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
Run Code Online (Sandbox Code Playgroud)

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