当前位置:首页 > Linux > 正文

怎么设置Linux文件权限

Linux权限设置使用 chmod命令修改文件权限,常用数字法(如755)或符号法(如u=rwx),权限分为读(r=4)、写(w=2)、执行(x=1),分配给所有者(u)、用户组(g)和其他用户(o)。

Linux权限设置指南:从基础到实战

Linux权限系统是多用户环境的核心安全机制,通过精细的权限控制保护文件不被未授权访问,本指南将详解权限设置方法,助您掌握系统安全管理精髓。


权限基础概念

  1. 权限类型

    • 读(r):查看文件内容/目录列表
    • 写(w):修改文件/创建删除目录内文件
    • 执行(x):运行程序/进入目录
  2. 权限对象

    • 用户(Owner):文件创建者
    • 组(Group):共享权限的用户组
    • 其他(Others):系统所有其他用户
  3. 两种表示法

    怎么设置Linux文件权限 第1张

    # 符号表示(9位字符) -rwxr-xr-- # 用户可读写执行,组可读执行,其他仅可读 # 数字表示(三位八进制数) 755 = rwxr-xr-x


查看权限

使用 ls -l 查看详细信息:

$ ls -l backup.sh -rw-r--r-- 1 user dev_team 1024 Jun 10 10:30 backup.sh

  • 第1位: 表示普通文件(d=目录,l=链接)
  • 2-4位:用户权限(rw-)
  • 5-7位:组权限(r--)
  • 8-10位:其他权限(r--)


修改权限(chmod命令)

方法1:数字模式(推荐)

# 设置日志文件仅用户可读写 chmod 600 /var/log/app.log # 设置脚本所有人可执行 chmod 755 backup.sh # 等同于 u=rwx,go=rx

常用数字组合

| 权限 | 用户 | 组 | 其他 | 适用场景 |

|——|——|—-|——|———-|

| 755 | rwx | rx | rx | 可执行程序 |

| 644 | rw- | r- | r- | 配置文件 |

| 700 | rwx | — | — | 私有目录 |

方法2:符号模式

# 添加组写权限 chmod g+w report.docx # 移除其他用户所有权限 chmod o= project/ # 同时设置多对象 chmod u=rwx,g=rx,o= install.sh

操作符说明

怎么设置Linux文件权限 第2张

  • 添加权限
  • 移除权限
  • 精确设置权限


变更文件归属

  1. 修改所有者(chown)

    # 变更文件所有者 sudo chown john database.db # 递归变更目录所有者 sudo chown -R jenkins /opt/build/
  2. 修改所属组(chgrp)

    # 变更文件组 sudo chgrp developers app.py # 同时修改所有者和组 sudo chown deploy:deploy /var/www/


高级权限管理

  1. 默认权限(umask)

    umask 022 # 新建文件默认权限644(666-022) umask 077 # 私有权限(仅用户可访问) # 永久生效:写入 ~/.bashrc 或 /etc/profile
  2. 特殊权限

    怎么设置Linux文件权限 第3张

    • SUID(4):以文件所有者身份执行 chmod u+s /usr/bin/passwd # 设置SUID
    • SGID(2):目录内新建文件继承组ID chmod g+s /shared_team/ # 设置SGID
    • Sticky Bit(1):防目录内文件被他人删除 chmod +t /tmp/ # 经典案例:/tmp目录


实战场景示例

  1. 网站目录安全配置

  2. 共享开发目录

    sudo mkdir /dev_projects sudo chown :dev_team /dev_projects sudo chmod 2775 /dev_projects # SGID+组读写

  3. 敏感文件保护

    chmod 700 ~/.ssh/ # 仅用户访问 chmod 600 ~/.ssh/id_rsa # 私钥禁止他人读
  4. 安全最佳实践

    1. 最小权限原则:仅授予必要权限
    2. 定期审计:使用 find 检查异常权限 find / -perm -4000 -ls # 查找所有SUID文件
    3. 避免777权限:chmod 777 是重大安全风险
    4. 隔离用户数据:用组权限替代全局可写

    关键提醒:权限操作需谨慎!错误设置可能导致服务崩溃或安全漏洞,生产环境建议先在测试环境验证。


    引用说明

    • Linux man-pages 官方文档:man chmod, man chown
    • Filesystem Hierarchy Standard (FHS) 3.0
    • OpenSSH安全指南:openssh.com/security.html

0