【发布时间】:2012-11-02 21:03:18
【问题描述】:
我有一个存档,由其他人存档,我想在下载后自动更改提取文件中的文件系统分支以获得读取权限。 (我无法更改存档的创建方式)。
我已经研究过这个帖子:chmod: How to recursively add execute permissions only to files which already have execute permission 和其他一些帖子一样,但没有任何乐趣。
这些目录最初带有多个但都是错误的标志,它们可能显示为:
drwx------
d---r-x---
drwxrwxr-x
dr--r-xr--
这些只是我目前发现的少数几个,但可能更多。
find 在尝试查看没有x 权限的目录时出错,因此不会将其传递给chmod。到目前为止,我一直在做的是手动更改父目录的权限,然后进入子目录并为它们做同样的事情等等。但这是很多手工劳动。没有办法自动执行此操作吗?
即我现在是怎么做的:
做:
$ chmod -R +x
$ chmod -R +r
直到我没有错误,然后
$ find -type f -exec chmod -x {} +
但一定有更好的办法。
【问题讨论】:
-
-r 与 -R 不同
-
杂项说明,如果您想说让所有组权限与所有者权限匹配(似乎不太可能将所有内容都搞砸 IMO)serverfault.com/a/284478/210994