对外开放的网站,最小化原则,经常会将目录设置为755,文件设置为644,本文以四种方法来批量递归修改,修改时请注意一些特定目录特殊权限(如缓存目录,上传目录)。以下PATH为实际要修改权限的目录。
方法一:
查找目录修改目录权限为755
find PATH -type d -exec chmod 755 {} \;
|---|------------------------------------------| | 1 | find PATH -type d -exec chmod 755 {} \; |
查找文件修改文件权限为644
find PATH -type f -exec chmod 644 {} \;
|---|------------------------------------------| | 1 | find PATH -type f -exec chmod 644 {} \; |
方法二:
查找目录修改目录权限为755
find PATH -type d | xargs chmod 755
|---|--------------------------------------| | 1 | find PATH -type d | xargs chmod 755 |
查找文件修改文件权限为644
find PATH -type f | xargs chmod 644
|---|--------------------------------------| | 1 | find PATH -type f | xargs chmod 644 |
方法三:
将目录下所有目录及文件先设置为644
chmod -R 644 PATH
|---|-------------------| | 1 | chmod -R 644 PATH |
查找目录修改目录权限为755
find PATH -type d | xargs chmod 755
|---|--------------------------------------| | 1 | find PATH -type d | xargs chmod 755 |
方法四:
通过if判断设置目录权限为755,不是目录则设置权限为644
find PATH -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \;
|---|-------------------------------------------------------------------------------------------------| | 1 | find PATH -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \; |
例:修改/data目录下所有目录权限为755,所有文件权限为644
find /data -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \;
|---|--------------------------------------------------------------------------------------------------| | 1 | find /data -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \; |