我想更改所有的权限第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
stat
和ls -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
。它非常强大,正如你可以收集到的那样。