如何理解文件权限rw-r-r-1?

权限基础概念

Linux为每个文件/目录定义三类用户:

  1. 所有者(Owner):文件创建者或指定用户
  2. 所属组(Group):共享权限的用户组
  3. 其他用户(Others):系统所有其他账户

权限类型分为三种:

  • 读(r):查看文件内容/目录列表
  • 写(w):修改文件/在目录增删文件
  • 执行(x):运行程序/进入目录

查看当前权限

使用 ls -l 命令查看:

ls -l file.txt```
- **首段符号解析**:  
  `-rw-r--r--` →  
  `-`(文件类型)`rw-`(所有者权限)`r--`(组权限)`r--`(其他用户权限)
---
### **三、修改权限(chmod命令)**
#### **1. 数字模式(推荐)**
权限用数字表示:`r=4`, `w=2`, `x=1`,组合相加:  
```bash
chmod 755 file.txt  # 所有者:rwx(7),组:r-x(5),其他:r-x(5)
chmod 644 dir/      # 所有者:rw(6),组:r(4),其他:r(4)
  • 常用场景
    • 755:可执行程序/目录
    • 644:普通文件(禁止其他用户修改)

符号模式

通过 u/g/o/a(用户/组/其他/所有)和 操作:

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

修改所有者与组

  • 更改所有者(需sudo):
    sudo chown user1 file.txt  # 设置所有者
    sudo chown user1:group1 dir/  # 同时设置所有者和组
  • 更改所属组
    sudo chgrp developers project/  # 将目录所属组设为developers

设置默认权限(umask)

umask 决定新建文件/目录的初始权限:

umask 022    # 默认值:文件权限=644,目录权限=755
umask 007    # 组和其他用户无权限(文件=660,目录=770)
  • 计算规则:目录权限 = 777 - umask文件权限 = 666 - umask

特殊权限

  1. SUID4xxx):用户以所有者身份运行程序
    chmod 4755 /usr/bin/program  # 设置SUID
  2. SGID2xxx):目录中新文件继承组权限
    chmod 2775 shared_dir/  # 设置SGID
  3. 粘滞位1xxx):仅所有者可删除目录内文件(如/tmp
    chmod 1777 public_upload/

安全实践与注意事项

  1. 避免过度授权
    • 禁止随意使用 chmod 777,否则所有用户可任意修改文件。
    • 目录需+x权限才能访问内部文件。
  2. 最小权限原则
    • 普通用户文件建议设为 644,敏感数据用 600
  3. 特殊权限风险

    SUID/SGID程序需审计,避免提权漏洞。

  4. 递归修改
    • 批量修改目录权限时用 -R 参数:
      chmod -R 750 /data/  # 递归设置/data下所有内容

引用说明: 基于Linux核心工具集(GNU coreutils)官方文档及Linux man手册(man chmod, man chown, man umask),权限设计遵循POSIX标准,适用于所有主流Linux发行版(Ubuntu/CentOS等)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7032.html

(0)
酷番叔酷番叔
上一篇 2025年7月12日 06:16
下一篇 2025年7月12日 06:32

相关推荐

  • Linux如何查看进程ID?

    ps 命令(最常用)作用:列出当前进程信息,常用组合:ps aux | grep [进程名] # 查看特定进程的PIDps -ef | grep [进程名] # 完整格式列表示例:查找Nginx进程的PIDps aux | grep nginx输出示例:root 1234 0.0 0.1 12345 6789……

    5天前
    900
  • 如何安全卸载Ubuntu双系统?

    卸载前的关键准备备份数据将Ubuntu分区内的重要文件备份至外部存储或云盘,使用工具:rsync(命令行)或图形化工具(如Deja Dup),准备应急工具创建Windows系统修复U盘(用于引导修复),下载Boot Repair Disk(备用引导修复工具),删除Ubuntu分区(以Windows+Ubuntu……

    2025年6月18日
    1200
  • Linux网络故障?命令行秒解秘籍!

    基础连通性测试pingping -c 4 example.com # 发送4个ICMP包测试连通性关键输出:64 bytes from…(收到响应)packet loss(丢包率)time=20.3 ms(延迟)中断:Ctrl+Ctraceroutetraceroute example.com # 追踪数据……

    2025年6月16日
    1400
  • 如何同时为用户加执行权、为组去写权?

    权限基础概念权限类型读(r):查看文件内容或目录列表写(w):修改文件或增删目录内容执行(x):运行程序或进入目录数字表示:r=4, w=2, x=1(如 rwxr-xr– = 754)权限对象用户(Owner):文件创建者组(Group):共享权限的用户组其他(Others):系统所有其他用户查看权限使用……

    2025年7月13日
    1300
  • Linux高效查看线程信息方法

    top 命令(动态监控)作用:实时显示线程级别的资源占用(CPU、内存等),操作:top -H # 进入线程模式交互操作:按 Shift+H:切换进程/线程视图(若未启动线程模式),按 c:显示完整命令行,按 P/M:按CPU/内存排序,输出关键列:PID:线程ID(LWP, Light Weight Proc……

    2025年6月24日
    1400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信