将一个文件夹的权限克隆到另一个文件夹
OS X 中是否有任何方法可以将一个文件夹的权限克隆到另一个文件夹。需要明确的是,我不想复制整个文件夹,只想复制权限,然后将它们设置在另一个文件夹上。我认为这种类型的事情可以在 Linux/UNIX 上使用 setfacl/getfacl 命令来实现,但我不确定如何在 OS X 上做到这一点。
谢谢
Are there any ways in OS X to clone the permissions of one folder to another. Just to be clear, I don't want to copy the entire folder, just the permissions and then set them on another folder. I think this type of thing could be achieved on Linux/UNIX using the setfacl/getfacl commands, but I'm unsure on how to do this with OS X.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在 Mac OS X v10.5.7 上的 bash 中测试:
注意:这些操作(尤其是更改所有权)可能需要 root 访问权限;撒上 sudo 以获得最佳效果。另外,最后一行的奇怪
echo
命令是为了防止 srcdir 没有附加任何 ACL 条目时出现错误(chmod -E
可以处理空行,但不是完全空的输入)。Tested on Mac OS X v10.5.7, in bash:
Notes: These operations (esp. changing ownership) are likely to require root access; sprinkle with
sudo
for best results. Also, that oddecho
command on the last line is there to prevent an error if srcdir doesn't have any ACL entries attached (chmod -E
can cope with blank lines, but not a completely empty input).我想你在谷歌上搜索并至少找到了:
还有这个 网页似乎也涵盖了一些重要信息(例如
fsaclctl
)。I presume you Googled and found at least:
And this web page also seems to cover some important information (such as
fsaclctl
).我找到了一个简单的解决方案。
test.txt
文件,例如/User/test1/srcdir/test.txt
/Users/test2/
注意:
dstdir/
处的最后一个斜杠是必需的,同上将创建具有与
dstdir/
相同权限的目录dstdir/
代码>srcdir/洛克
I found a simple solution.
test.txt
file at srcdir, eg/User/test1/srcdir/test.txt
/Users/test2/
Note: the last slash at
dstdir/
is necessaryditto will create directory
dstdir/
with same permissions assrcdir/
lok
我最终做的是创建一个 Objective C 方法(无论如何我都计划在 Cocoa 应用程序中使用它),该方法使用 perl 脚本查找文件的权限,然后使用 chmod/chown 来应用这些权限。
What I ended up doing was creating an Objective C method (I was planning on using this in a Cocoa app anyways) that finds out the permissions of a file using a perl script, then uses chmod/chown to apply those permissions.
这个答案是对 Gordon Davisson 的答案的补充 针对
继承
属性。:Mac OS X 11.12.1、bash 3.2.57
测试环境 例如
chmod -E
不支持inherited
选项。我找到了一个解决方法。允许
\拒绝
条目可以是本地
(默认)和继承
。-a
添加本地
条目,-ai
添加继承
条目。This answer is an addition to Gordon Davisson's answer for
inherited
attributes.Tested on: Mac OS X 11.12.1, bash 3.2.57
It looks like
chmod -E
doesn't support theinherited
option. I found a workaround.allow
\deny
entries can belocal
(default) andinherited
.-a
addslocal
entries,-ai
addsinherited
entries.