Linux基础命令chmod

一、基础选项说明

​1. 核心操作选项
选项 功能说明 使用示例
-c / --changes 仅显示权限发生变化的文件信息(与 -v 类似但更精简) chmod -c 755 file.txt
-f / --silent 静默模式,忽略错误信息(适用于脚本批量操作) chmod -f o+w *.log
-R / --recursive 递归修改目录及其子目录、文件的权限 chmod -R 755 /var/www
-v / --verbose 显示所有操作的详细过程 chmod -v u+x script.sh
–reference=<文件> 将目标文件/目录的权限设置为与参考文件相同 chmod --reference=source.txt target.txt
​2. 辅助选项
选项 功能说明
–help 查看命令帮助文档
–version 显示 chmod 版本信息

​二、权限模式详解

​1. 符号模式(Symbolic Mode)​
​语法:[用户类型][操作符][权限]
​用户类型:u(所有者)、g(组)、o(其他用户)、a(所有用户)
​操作符:+(添加)、-(移除)、=(精确设置并覆盖原有权限)
​权限:r(读)、w(写)、x(执行)
示例:

bash
#为所有者添加执行权限,移除组的写权限
chmod u+x,g-w file.txt

#设置其他人仅可读
chmod o=r data/
​2. 数字模式(Numeric Mode)​
​规则:三位或四位八进制数(如 755 或 4755),分别对应 用户-组-其他 的权限组合
r=4, w=2, x=1,累加后得到权限值:
7(rwx)、6(rw-)、5(r-x)
示例:

bash
用户:rwx,组:r-x,其他:r-x
chmod 755 /var/www

包含 SUID(4)、SGID(2)、粘滞位(1)的特殊权限
chmod 4755 /usr/bin/special_tool

​三、特殊权限选项

​1. SUID(Set User ID)​
​作用:允许普通用户以文件所有者的权限执行程序(如 /usr/bin/passwd)
​设置方式:
bash
chmod u+s file # 符号模式
chmod 4xxx file # 数字模式(如 4755)
​2. SGID(Set Group ID)​
​作用:目录下新建文件继承父目录的组权限;文件执行时以所属组权限运行
​设置方式:
bash
chmod g+s directory/
chmod 2xxx directory # 如 2750
​3. 粘滞位(Sticky Bit)​
​作用:仅允许文件所有者或目录所有者删除文件(常见于 /tmp 目录)
​设置方式:
bash
chmod o+t /tmp
chmod 1xxx directory # 如 1777

​四、常见场景与最佳实践

​目录与文件权限差异:
目录需 x 权限才能进入(cd),文件需 x 权限才能执行。
示例:chmod 755 dir/(目录) vs chmod 644 file(文件)。
​递归修改权限:
bash
#递归设置目录及子文件为所有者可读写,其他用户只读
chmod -R u=rw,go=r /backup
​权限冲突处理:
若权限未生效,检查 ACL(访问控制列表):
bash
getfacl file.txt # 查看详细权限
setfacl -b file.txt # 清除 ACL
​安全建议:
避免滥用 777 权限(所有人可读写执行),优先遵循最小权限原则。

​五、综合示例

bash
递归设置目录权限(用户:rwx,组:rx,其他:无权限)
chmod -R 750 /opt/app

复制参考文件的权限到目标
chmod --reference=template.conf new.conf

设置 SUID + 标准权限
chmod u+s,755 /usr/local/bin/custom_script

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值