bash,chmod 755 filename # 设置权限为rwxr-xr-x,chmod u+x script.sh # 给所有者添加执行权限,chown user:group file # 修改所有者和所属组,
“在Linux系统中,文件权限是保障系统安全的核心机制,合理配置权限能防止未授权访问,避免数据泄露或误操作,本文将详细讲解权限修改方法,涵盖基础操作和高级技巧,所有命令均经过实际环境验证。
Linux权限基础概念
-
权限类型
- 读(r):查看文件内容/目录列表
- 写(w):修改文件/在目录增删文件
- 执行(x):运行程序/进入目录
-
权限对象
- 用户(User):文件所有者
- 组(Group):所属用户组
- 其他(Other):系统其他用户
-
权限表示法
- 符号表示:
rwxr-xr--
(用户可读写执行,组可读执行,其他仅读) - 数字表示:
754
(r=4, w=2, x=1,相加得权限值)用户:rwx = 4+2+1 = 7 组:r-x = 4+0+1 = 5 其他:r-- = 4+0+0 = 4
- 符号表示:
核心权限修改命令
▶ chmod:修改文件/目录权限
数字模式(推荐)
chmod 755 filename # 设置权限为rwxr-xr-x chmod -R 644 /var/www # 递归修改目录内所有文件
符号模式(精细调整)
chmod u+x script.sh # 给所有者添加执行权限 chmod g-w,o-r file.txt # 移除组的写权限和其他用户的读权限 chmod a=rw config.cfg # 所有用户设为读写权限(a=all)
▶ chown:修改所有者/组
chown user1:developers report.doc # 同时修改所有者和组 chown -R apache:apache /var/log # 递归修改目录所有权 chown :admin backup.zip # 仅修改所属组
▶ chgrp:仅修改所属组
chgrp team_project design.pdf # 将文件组改为team_project
特殊权限配置
-
SUID(Set User ID)
程序运行时以所有者身份执行(如/usr/bin/passwd
)chmod u+s /usr/bin/backup_tool # 设置SUID(数字模式4000)
-
SGID(Set Group ID)
- 文件:以所属组身份运行
- 目录:新文件继承目录组
chmod g+s /shared_folder # 设置SGID(数字模式2000)
-
Sticky Bit
仅文件所有者可删除目录内文件(如/tmp
)chmod o+t /public_upload # 设置Sticky Bit(数字模式1000)
关键应用场景
-
Web服务器安全
chown -R www-data:www-data /var/www/html # 确保Web目录归属正确 chmod 750 /var/www/html/private # 禁止其他用户访问敏感目录
-
共享协作目录
chmod 2770 /team_data # SGID确保新建文件继承组权限 chown :project_team /team_data # 组内成员可共同编辑
-
脚本安全防护
chmod 700 ~/scripts/backup.sh # 仅所有者可读写执行
注意事项
- 递归修改风险
-R
参数会修改目录下所有内容,操作前用ls -l
确认路径 - 系统文件保护
避免修改/bin
、/sbin
等系统目录权限(可能导致系统崩溃) - 权限冲突规则
- 用户权限 > 组权限 > 其他权限
- 写权限依赖执行权限(目录)
- 查看当前权限
使用ls -l
或stat -c "%a %n" filename
验证设置结果
权限管理最佳实践
- 最小权限原则:仅授予必要权限(如日志目录设为
640
而非666
) - 定期审计:用
find / -perm /4000
扫描异常SUID文件 - 结合ACL:复杂场景使用
setfacl
实现精细控制(如多组协作)
重要提示:生产环境修改权限前,务必在测试环境验证!误操作可能导致服务不可用或安全漏洞。
引用说明:
- Linux man pages:
man chmod
,man chown
,man chgrp
- Filesystem Hierarchy Standard (FHS) 3.0
- Red Hat Enterprise Linux Security Guide
- The Linux Documentation Project (TLDP) – Permission Management
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/22927.html