Linux 文件权限与 chmod/chown 详解

2025.5.29 杂七杂八 1368

Linux 文件权限与 chmod/chown 详解 杂七杂八-第1张

本文深入解析Linux文件权限系统,详细讲解chmod和chown命令的使用方法,包括权限表示法、用户组管理、递归修改等实战技巧,帮助管理员精准控制文件访问权限,提升系统安全性。

一、Linux文件权限基础

Linux作为多用户操作系统,通过精密的权限机制保护文件安全。每个文件/目录都有三组权限:

-rwxr-xr-- 1 user group 4096 Jan 10 10:20 example.txt

权限位分解:

  • 第1位:文件类型(-普通文件,d目录,l链接)
  • 2-4位:所有者(owner)权限
  • 5-7位:所属组(group)权限
  • 8-10位:其他用户(other)权限

二、chmod命令详解

1. 符号模式修改权限

chmod u+x file.sh       给所有者添加执行权限
chmod g-w file.txt      移除组写权限
chmod o=r-- data.conf   设置其他用户只读
chmod a+x script.sh     给所有用户添加执行权限

2. 数字模式(八进制)

权限 数值
r– 4
-w- 2
–x 1

常用组合:

chmod 755 script.sh    rwxr-xr-x
chmod 644 config.ini   rw-r--r--
chmod 600 id_rsa       仅所有者可读写

3. 递归修改目录权限

chmod -R 750 /var/www   递归修改目录及内容

三、chown命令深度解析

1. 修改文件所有者

chown user1 file.txt           修改所有者
chown :developers project/     修改所属组
chown user1:dev team.doc       同时修改所有者和组

2. 递归修改目录归属

chown -R apache:apache /var/www/

3. 特殊场景处理

chown --reference=model.txt newfile.txt   参考文件权限

四、高级权限管理

1. 特殊权限位

  • SUID(4):执行时临时获取所有者权限
  • SGID(2):目录中新文件继承组ID
  • Sticky Bit(1):仅文件所有者可删除
chmod 4755 /usr/bin/passwd    设置SUID
chmod 2770 /shared            设置SGID
chmod 1777 /tmp               设置Sticky Bit

2. 默认权限控制

umask 0022   新建文件默认权限644,目录755

五、实战案例

Web服务器配置:

 设置网站目录权限
chown -R www-data:www-data /var/www
find /var/www -type d -exec chmod 750 {} ;
find /var/www -type f -exec chmod 640 {} ;

共享目录配置:

mkdir /shared
chown root:team /shared
chmod 2770 /shared   启用SGID保证文件继承组权限

掌握Linux权限系统是系统管理员的基本功,合理配置权限能有效平衡安全性与便利性。建议定期使用ls -l检查关键文件权限,并通过auditd等工具监控权限变更。

评论