在 Ubuntu 系统中,可以使用 chmod
命令结合 -R
参数递归修改文件夹内所有文件的权限。以下是具体操作方法:
基础语法
chmod -R [权限模式] [文件夹路径]
常用权限模式示例
-
数字表示法(推荐)
# 示例:给文件夹内所有文件设置 755 权限(所有者:rwx,所属组:r-x,其他人:r-x) chmod -R 755 /path/to/directory # 示例:设置 644 权限(所有者:rw-,所属组:r--,其他人:r--) chmod -R 644 /path/to/directory
-
符号表示法
# 示例:给所有者添加执行权限,移除其他人的写权限 chmod -R u+x,o-w /path/to/directory # 示例:设置所有者完全控制,所属组读+执行,其他人只读 chmod -R u=rwx,g=rx,o=r /path/to/directory
注意事项
- 权限值说明:
- 数字模式:
r=4
,w=2
,x=1
,通过相加组合(如 7=4+2+1=rwx) - 符号模式:
u
(所有者)/g
(所属组)/o
(其他人)/a
(所有),+
(添加)/-
(移除)/=
(设置)
- 数字模式:
- 特殊场景:
- 若要保留目录的执行权限但移除文件的执行权限:
find /path/to/directory -type d -exec chmod 755 {} \; # 目录保持755 find /path/to/directory -type f -exec chmod 644 {} \; # 文件设为644
- 若要保留目录的执行权限但移除文件的执行权限:
- 权限建议:
- 网页文件:644(文件),755(目录)
- 可执行脚本:755
- 配置文件:600(敏感配置)
操作演示
# 先进入目标目录的父目录
cd /path/to
# 查看当前权限
ls -l
# 递归设置权限(示例:755)
sudo chmod -R 755 my_folder
# 验证修改结果
ls -lR my_folder
建议根据实际需求选择权限值,避免过度开放权限(如 777)可能带来的安全风险。如果是网站目录,推荐使用 755
(目录)和 644
(文件)的组合权限。