80 用户管理 11 chmod演练 R递归修改目录权限
目录:
Linux是一个多用户系统,通过文件许可权,属性和所有权来控制对文件的访问。 这样可以确保只有授权的用户和进程才能访问文件和目录。
有关文件权限的更多信息,请参见“ Linux中的Umask命令”。
,我们将说明如何递归更改文件和目录的权限。
Chmod递归
chmod
命令允许您使用符号或数字模式更改文件的权限。
要对给定目录下的所有文件和目录进行递归操作,请使用
chmod
命令和
-R
,(--
--recursive
)选项。 递归更改文件权限的常规语法如下:
chmod -R MODE DIRECTORY
例如,要将
/var/www/html
目录下的所有文件和子目录的权限更改为
755
,可以使用:
chmod -R 755 /var/www/html
也可以使用符号方法指定模式:
chmod -R u=rwx, go=rx /var/www/html
只有root用户,文件所有者或具有
sudo
特权的用户才能更改文件的权限。 递归更改文件的权限时,请格外小心。
使用
find
命令
通常,文件和目录不应具有相同的权限。 大多数文件不需要执行权限,而您必须在目录上设置执行权限才能更改为它们。
最常见的情况是将网站文件的权限递归更改为
644
,目录的权限更改为
755
。
使用数值方法:
find /var/www/html -type d -exec chmod 755 {} ;
find /var/www/html -type f -exec chmod 644 {} ;
使用符号方法:
find /var/www/html -type d -exec chmod u=rwx, go=rx {} ;
find /var/www/html -type f -exec chmod u=rw, go=r {} ;
find
命令在
/var/www/html
下搜索文件或目录,并将找到的每个文件或目录传递给
chmod
命令以设置权限。
当将
find
与
-exec
一起使用时,将为找到的每个条目运行
chmod
命令。 使用
xargs
命令通过一次传递多个条目来加速操作:
find /var/www/html -type d -print0 | xargs -0 chmod 755
find /var/www/html -type d -print0 | xargs -0 chmod 755
find /var/www/html -type f -print0 | xargs -0 chmod 644
find /var/www/html -type f -print0 | xargs -0 chmod 644
结论
带有
-R
选项的
chmod
命令允许您递归更改文件的权限。
要基于文件的类型递归设置权限,请结合使用
chmod
和
find
命令。







