对所有文件夹(或 .extension 文件)的权限更改

Moh*_*dar 2 permissions

我想将所有777文件夹的权限更改为755,并将所有777 php 文件更改为644

我怎样才能通过shell做到这一点?

PS:所有文件和目录都在www目录中。

Ram*_*esh 5

您可以使用 find将所有777 个文件夹的权限更改为755,如下所示。

find /var/www -type d -perm 777 -print -exec chmod 755 {} \;
Run Code Online (Sandbox Code Playgroud)

上面的命令将更改里面的所有目录/var/www的权限设置为755。要验证它,您可以使用以下命令。

stat -c "%a %n" /var/www/directory-name
Run Code Online (Sandbox Code Playgroud)

要更改所有 php 文件的权限,您可以使用以下命令。

find /var/www/some-directory -type f -name "*.php" -perm 777 -print -exec chmod 644 {} \;
Run Code Online (Sandbox Code Playgroud)

同样,您可以使用该stat命令来验证权限是否已更改。或者你甚至可以使用,

ls -ld /var/www/some-directory-name
Run Code Online (Sandbox Code Playgroud)

双方statls -ld会显示文件的八进制权限。

  • @terdon,我只是想也许我们可以验证实际更改了哪个目录的权限:) (2认同)