在linux系统中,文件权限控制是保障系统安全和资源合理分配的基础机制,修改权限的核心语句是chmod命令,该命令支持两种常用的权限设置模式,可满足不同场景下的权限调整需求。

chmod命令基础语法
chmod命令的基本语法格式如下:
# 符号模式语法 chmod [选项] 权限模式 文件/目录路径 # 数字模式语法 chmod [选项] 数字权限 文件/目录路径
其中常用选项-R表示递归修改目录下所有文件和子目录的权限,适合批量调整目录权限的场景。
符号模式修改权限
符号模式通过字符标识用户、权限和操作类型,可读性更强,适合临时调整权限的场景。
符号模式参数说明
- 用户标识:
u表示文件所有者,g表示所属组用户,o表示其他用户,a表示所有用户 - 操作类型:
+表示添加权限,-表示移除权限,=表示设置指定权限 - 权限标识:
r表示读权限,w表示写权限,x表示执行权限
符号模式示例
给文件所有者添加执行权限:
chmod u+x test.sh
移除其他用户的所有权限:
chmod o-rwx test.txt
给所有用户设置读写权限:
chmod a=rw config.ini
递归给目录及其下所有内容添加所属组写权限:
chmod -R g+w /data/logs
数字模式修改权限
数字模式通过三位八进制数字表示权限,操作更简洁,适合固定权限配置的场景。
数字权限对应关系
每个权限对应固定数值:r对应4,w对应2,x对应1,无权限对应0。三位数字分别对应所有者、所属组、其他用户的权限数值之和。
| 权限组合 | 数值 | 含义 |
|---|---|---|
| rwx | 7 | 读、写、执行权限都有 |
| rw- | 6 | 有读、写权限,无执行权限 |
| r-x | 5 | 有读、执行权限,无写权限 |
| r-- | 4 | 仅有读权限 |
| --- | 0 | 无任何权限 |
数字模式示例
设置文件权限为所有者读写执行,所属组读执行,其他用户读执行:
chmod 755 start.sh
设置目录权限为所有者全部权限,所属组和其他用户仅有读和执行权限:
chmod 755 /data/www
设置文件仅所有者可读写,其他用户无任何权限:
chmod 600 private.key
权限修改注意事项
- 修改权限需要有对应文件的操作权限,普通用户只能修改自己拥有的文件权限,系统文件权限修改需要root权限
- 目录的执行权限表示能否进入该目录,若目录无执行权限,即使有读权限也无法查看目录内文件列表
- 谨慎使用
chmod -R 777这类命令,会给所有用户开放全部权限,存在较大安全风险
权限修改后可以通过ls -l命令查看文件的权限信息,确认修改是否生效。