如何理解文件权限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如何进入系统状态

    Linux中,通常在开机后通过登录界面输入用户名和密码,或在启动引导界面

    2025年8月10日
    3700
  • Linux装SSH怎样最安全?

    安装前检查查看是否已安装终端执行: ssh -v # 若显示版本信息则已安装systemctl status ssh # 检查服务状态(Debian/Ubuntu)systemctl status sshd # 检查服务状态(CentOS/RHEL)分发行版安装步骤Debian/Ubuntu 系sudo apt……

    2025年7月10日
    4800
  • 如何系统性地测试Linux操作系统?核心步骤、方法与实用工具有哪些?

    测试Linux系统是确保其稳定性、性能和安全性的关键环节,涵盖基础功能、性能指标、安全防护及兼容性等多个维度,以下是详细的测试方法和步骤,帮助全面评估Linux系统状态,系统基础功能测试基础功能测试是Linux测试的起点,主要验证核心模块是否正常运行,启动与关机测试检查系统是否能正常启动,通过dmesg查看启动……

    2025年9月8日
    2600
  • Linux系统下如何通过命令重启防火墙服务?

    Linux防火墙是系统安全的第一道防线,用于控制进出网络的数据流,保护系统免受未授权访问,在实际运维中,当防火墙规则配置修改、服务异常或策略需要即时生效时,重启防火墙是常见操作,但不同Linux发行版使用的防火墙工具不同,重启方法也存在差异,本文将详细介绍主流防火墙的重启步骤、注意事项及常见问题解决方案,主流L……

    2025年9月23日
    1600
  • Linux卸载软件如何避免系统崩溃?

    核心概念正向依赖:软件A依赖库B才能运行(A→B),反向依赖:库B被哪些包依赖(B←A),示例:卸载libssl前需确认哪些程序依赖它,避免系统崩溃,按发行版的操作方法Debian/Ubuntu (APT系)基础命令:apt-cache rdepends <包名> # 检查仓库中所有反向依赖示例:a……

    2025年7月8日
    5600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信