我有一个存档文件,是由别人打包的。我想在下载后自动更改提取的文件中的文件系统分支,以获得读取权限。(我无法更改存档文件的创建方式。)
我查看了这个帖子: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 {} +
但肯定有更好的方法。