use*_*394 13 filesystems permissions find chmod
我正在对迁移到 unix 系统的某些文件的权限进行大规模递归更改。我把它们改成了ug+rw,但是后来发现不能遍历子目录。我查看了手册页chmod并没有看到任何排除目录的解释,所以我搜索了一下,发现人们过去常常find递归地将目录的权限更改为用户和组的“执行”。我这样做了,然后我可以调查他们。
但在我看来,我应该能够执行此查找chmod- 以递归方式将文件更改为读/写,但不会使目录无法遍历。我是否以“正确”的方式完成了此操作,还是有更简单的方法来做到这一点?
enz*_*tib 12
更好的解决方案应该是
chmod -R ug=rwX,o=rX /path
Run Code Online (Sandbox Code Playgroud)
大写的X意思是:如果设置执行位
该文件是一个目录或已经对某些用户具有执行权限
(引自chmod手册页)。
或者,如果你想使用 find
find /path \( -type f -exec chmod ug=rw,o=r {} + \) -o \
\( -type d -exec chmod ug=rwx,o=rx {} + \)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8748 次 |
| 最近记录: |