将目录的所有文件和文件夹权限更改为644/755

时间:2013-09-15 21:36:56

标签: terminal command-prompt chmod

如何使用chmod命令提示符中的linux将所有文件更改为644,将所有文件夹更改为755? (终端)

9 个答案:

答案 0 :(得分:314)

一种方法可能是使用find:

目录

find /desired_location -type d -print0 | xargs -0 chmod 0755

for files

find /desired_location -type f -print0 | xargs -0 chmod 0644

答案 1 :(得分:92)

最简单的方法是:

chmod -R u+rwX,go+rX,go-w /path/to/dir

基本上意味着:

ch ange文件mod es -R提供以下内容:

  • u ser:r ead,w rite和e X ecute权限,
  • g roup和o其他用户:r ead和e X ecute权限,但不是-w rite权限。

请注意,X会使目录可执行,但不会是文件,除非它已经可搜索/可执行。

  

+X - 如果所有人都可以搜索/执行可供所有人搜索/执行的目录或文件。

请查看man chmod了解详情。

另见:SU的How to chmod all directories except files (recursively)?

答案 2 :(得分:26)

我能想到的最短的一个是:

chmod -R a=r,u+w,a+X /foo

适用于GNU / Linux,我相信Posix一般(从我的阅读:http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html)。

这是做什么的:

  1. 将文件/目录设置为r__r__r __(0444)
  2. 为所有者添加w,以获取rw_r__r __(0644)
  3. 如果是目录(0755表示dir,0644表示文件),则为所有目录设置执行。
  4. 重要的是,步骤1权限清除所有执行位,因此步骤3仅添加目录(从不文件)的执行位。此外,所有三个步骤都在目录递归之前发生(因此这不等于例如。

    chmod -R a=r /foo
    chmod -R u+w /foo
    chmod -R a+X /foo
    

    因为a = r从目录中删除x,所以chmod无法递归到它们中。)

答案 3 :(得分:9)

这对我有用:

find /A -type d -exec chmod 0755 {} \;
find /A -type f -exec chmod 0644 {} \;

答案 4 :(得分:7)

我最容易记住的是两个操作:

chmod -R 644 dirName
chmod -R +X dirName

+ X仅影响目录。

答案 5 :(得分:6)

在一次通过中同时执行以下操作:

find -type f ... -o -type d ...

在中,找到类型f OR类型d,然后执行第一个...用于文件,第二个用于dirs。具体做法是:

find -type f -exec chmod --changes 644 {} + -o -type d -exec chmod --changes 755 {} +

如果您希望它以静默方式工作,请取消--changes

答案 6 :(得分:2)

开启 https://help.directadmin.com/item.php?id=589他们写道:

如果您需要一种快速的方法来将目录的public_html数据重置为755,将文件重置为644,则可以使用以下方式:

cd /home/user/domains/domain.com/public_html
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;

我进行了测试,...它可以工作!

答案 7 :(得分:0)

如果您需要一种快速的方法来将目录的public_html数据重置为755,将文件重置为644,则可以使用以下方式:

cd /home/user/domains/domain.com/public_html
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;

另外,如果您知道PHP以用户身份而不是以“ apache”身份运行,则可以将PHP文件设置为600,以提高安全性,例如:

find . -type f -name '*.php' -exec chmod 600 {} \;

您可以在这里找到此资源: https://help.directadmin.com/item.php?id=589

答案 8 :(得分:-7)

这也可以起作用:

chmod -R 755 *  // All files and folders to 755.

chmod -R 644 *.*  // All files will be 644.