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

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

我想更改所有的权限第777章文件夹到第755章并且也改变所有777 个 PHP 文件第644章

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

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

答案1

您可以更改所有的权限第777章文件夹到第755章使用如下查找。

find /var/www -type d -perm 777 -print -exec chmod 755 {} \;

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

stat -c "%a %n" /var/www/directory-name

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

find /var/www/some-directory -type f -name "*.php" -perm 777 -print -exec chmod 644 {} \;

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

ls -ld /var/www/some-directory-name

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

答案2

“www”可能是任何地方在您的系统上,所以下次要更具体。

不管怎样,我假设你的意思是/var/www

find /var/www -type d -perm 777 -print0 | xargs chmod 755
find /var/www -name "*.php" -perm 777 -print0 | xargs chmod 644

以后可以参考一下man find。它非常强大,正如你可以收集到的那样。

相关内容