Linux权限机制是什么?linux文件权限如何修改

Linux 的权限机制是保障系统安全、防止未授权访问的核心基础,它主要包含两个维度:文件/目录权限(针对普通文件和目录)和 用户/组身份管理(针对谁可以执行什么操作)。

以下是 Linux 权限机制的详细解析:

Linux文件权限的修改
加载中
Linux文件权限的修改

用户与组身份(Who)

在 Linux 中,每个进程和资源都关联着一个用户(User)和一个组(Group)。

  1. 用户类型

    • root (UID 0):超级用户,拥有系统的最高权限,可以执行任何操作。
    • 普通用户 (UID > 0):权限受限,只能访问自己的文件和部分系统资源。
    • 系统用户 (UID 1-999):通常用于运行系统服务(如 nginx, mysql),一般不用于登录。
  2. 组类型

    • 主组 (Primary Group):用户创建时默认所属的组。
    • 附加组 (Secondary Group):用户额外加入的其他组,用于共享资源访问权限。

命令提示

  • id username:查看用户的 UID、GID 和所属组。
  • groups username:查看用户所属的所有组。

文件权限类型(What)

Linux 文件权限分为三类,分别对应三类用户身份:

权限类型 符号 含义 说明
读 (Read) r 读取文件内容或列出目录内容 对文件:可查看内容;对目录:可列出文件名
写 (Write) w

Linux权限机制是什么?linux文件权限如何修改

修改文件内容或删除/创建目录中的文件

对文件:可修改内容;对目录:可增删改目录内的条目
执行 (Execute)x执行文件或进入目录对文件:可运行程序;对目录:可 cd 进入该目录

权限分配对象(To Whom)

每个文件有三个权限集合,分别对应:

  1. User (u):文件所有者(Owner)
  2. Group (g):文件所属组(Group)
  3. Others (o):其他所有用户(World/Everyone)

权限表示方式

符号表示法(Symbolic Notation)

使用 ls -l 命令查看文件权限时,第一列显示如:-rwxr-xr--

  • 第1位:文件类型
    • 普通文件
    • d:目录 (directory)
    • l:链接 (link)
    • c:字符设备
    • b:块设备
  • 第2-10位:权限位,每3位一组:
    • rwx:所有者权限
    • r-x:所属组权限
    • r--:其他用户权限

数字表示法(Octal Notation)

rwx 转换为数字:

  • r = 4
  • w = 2
  • x = 1
  • = 0

rwxr-xr--

  • 所有者:rwx = 4+2+1 = 7
  • 所属组:r-x = 4+0+1 = 5
  • 其他:r-- = 4+0+0 = 4
  • 结果:754

特殊权限位(Special Permissions)

除了基本的 rwx,还有三种特殊权限:

权限

Linux权限机制是什么?linux文件权限如何修改

符号

数字含义
SUIDsS4设置用户ID,执行文件时,以文件所有者的身份运行(而非启动者),常用于需要 root 权限的程序(如 passwd)。
SGIDsS2设置组ID,执行文件时,以文件所属组的身份运行;对目录而言,新创建的文件自动继承目录的组。
Sticky BittT1粘滞位,仅对目录有效,防止非所有者删除自己创建的文件(如 /tmp 目录)。

注意

  • 小写 s/t 表示对应权限位已启用。
  • 大写 S/T 表示对应权限位未启用(即没有 x 权限)。

常用权限管理命令

chmod(Change Mode)

修改文件权限。

# 符号方式
chmod u+x file.sh        # 给所有者添加执行权限
chmod g-w file.txt       # 移除所属组的写权限
chmod o=r file           # 设置其他用户只有读权限
chmod 755 file           # 数字方式:所有者rwx,组r-x,其他r-x
# 递归修改目录及子文件
chmod -R 755 /path/to/dir

chown(Change Owner)

修改文件所有者。

chown user:group file    # 同时修改所有者和组
chown user file          # 只修改所有者
chown :group file        # 只修改组
chown -R user:group dir  # 递归修改

Linux权限机制是什么?linux文件权限如何修改

chgrp(Change Group)

仅修改文件所属组。

chgrp groupname file

访问控制列表(ACL)

当标准权限(u/g/o)无法满足复杂需求时,Linux 支持 ACL(Access Control Lists)

  • 功能:可以为特定用户或组设置独立的权限,而不必修改文件的所有者或组。
  • 查看 ACLgetfacl filename
  • 设置 ACLsetfacl -m u:username:rwx filename
  • 移除 ACLsetfacl -x u:username filename

前提:文件系统需支持 ACL(现代 Linux 发行版默认启用)。


最佳实践与安全建议

  1. 最小权限原则:只授予完成任务所需的最小权限,Web 服务器目录通常设置为 755,上传目录可能设为 777(但需配合其他安全措施)。
  2. 避免使用 chmod 777:这会赋予所有人读写执行权限,极易导致安全风险。
  3. 定期审计权限:使用 find / -perm -4000 查找所有 SUID 文件,检查是否有异常。
  4. 使用 sudo 而非直接登录 root:通过 sudo 提权可以记录操作日志,便于审计。
  5. 注意目录权限
    • 目录需要 x 权限才能进入。
    • 目录需要 w 权限才能创建/删除文件。
    • 目录需要 r 权限才能列出文件列表。

Linux 权限机制是一个分层、精细的系统:

  • 身份:用户、组、其他
  • 权限:读、写、执行
  • 特殊位:SUID、SGID、Sticky Bit
  • 扩展:ACL

理解并正确配置这些权限,是保障 Linux 系统安全运行的关键。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/483614.html

(0)
服务器主机如何安装ESXi虚拟机?ESXi系统安装教程
上一篇 2026年7月11日 22:24
下一篇 2026年7月11日 22:26

相关推荐

  • Linux和cmd哪个好用?Linux常用命令大全

    Linux和CMD的核心区别在于底层架构与开放程度:Linux基于Unix内核,拥有强大的命令行生态和极高的安全性,适合服务器开发与高级运维;CMD则是Windows内置的命令提示符,界面简单直观,主要服务于日常系统维护和轻量级任务,两者并非替代关系,而是针对不同使用场景的最佳工具,底层逻辑与交互体验的本质差异……

    2026年7月4日
    18300
  • linux怎么看汇编代码?gcc编译生成汇编文件方法

    在Linux中查看汇编代码,最直接且常用的方法是使用GCC编译器的-S参数生成汇编文件,或通过GDB调试器在运行时查看寄存器与内存状态,对于动态库则可使用objdump工具反编译二进制文件,很多开发者在面对底层逻辑排查或性能优化时,常常感到困惑,不知道如何深入代码的“内脏”去观察指令级的执行细节,汇编语言虽然晦……

    2026年7月5日
    14600
  • linux chgrp命令怎么用?chgrp修改文件所属组

    Linux中的chgrp命令用于修改文件或目录所属的用户组,其核心逻辑是将指定文件的组所有权转移给目标用户组,语法为chgrp [选项] 组名 文件,在Linux的多用户环境中,权限管理是安全基石,而用户组(Group)则是实现批量权限控制的关键角色,很多时候,我们不需要为每个用户单独设置权限,而是通过调整文件……

    2026年7月6日
    8500
  • linux权限怎么设置?linux系统文件权限详解

    Linux权限管理的核心在于“用户-组-其他”的三层隔离机制,通过数字或符号模式精确控制读、写、执行三种操作,从而保障系统安全与数据完整性,在Linux的世界里,每一个文件、目录甚至进程都拥有明确的主人,如果你把服务器比作一座大楼,那么权限设置就是门禁卡系统,没有正确的权限,即使是管理员也无法随意进入某些核心区……

    2026年7月10日
    4800
  • linux系统对比哪个好用?linux系统对比哪个更适合

    Linux系统没有绝对的“最好”,只有“最合适”:追求极致稳定选RHEL系,偏好免费易用选Debian系,需要极致性能优化选Arch系,主流Linux发行版核心差异深度解析在2026年的今天,Linux早已不再是极客的专属玩具,而是服务器、云计算乃至桌面办公的主力军,面对市场上琳琅满目的发行版,许多用户陷入选择……

    2026年7月8日
    3510
  • linux多wan怎么配置?linux多wan负载均衡设置

    Linux多WAN配置的核心在于利用策略路由实现流量智能分发,而非简单的负载均衡,这能显著提升网络冗余性与带宽利用率,在中小企业和复杂网络环境中,单条宽带线路往往面临带宽瓶颈和单点故障风险,通过Linux系统配置多WAN口,可以将两条甚至更多宽带线路聚合使用,这不仅是物理层面的连接叠加,更是逻辑层面的智能调度……

    2026年7月5日
    18400
  • Linux grep如何匹配引号?grep匹配单双引号方法

    在Linux中使用grep处理包含单引号或双引号的字符串时,核心技巧是利用反斜杠转义、使用不同引号包裹模式,或借助-e参数组合,其中处理单引号最稳妥的方式是“双引号包单引号”或“单引号包双引号”的嵌套策略,很多刚接触Linux命令行的小伙伴,在编写脚本或执行grep命令时,经常会遇到“引号不匹配”导致的报错,这……

    2026年7月6日
    15500
  • linux printf如何串口输出?linux串口打印函数用法

    在Linux系统中通过串口使用printf输出数据,核心方法是将标准输出重定向至/dev/ttySx设备文件,或调用底层write系统函数直接写入串口设备节点,从而实现嵌入式调试与数据交互,对于嵌入式开发者而言,串口(UART)往往是与硬件对话的第一扇窗,当你在Linux环境下进行开发,尤其是涉及嵌入式板卡、物……

    2026年7月10日
    15600
  • Linux进程突然死掉是什么原因?如何排查Linux进程异常退出

    Linux进程意外终止通常由内存溢出、资源限制或信号中断引起,核心解决思路是通过日志定位原因并配置守护进程实现自动重启,当服务器上的某个服务突然消失,用户端表现为连接超时或页面无法加载,这往往意味着底层的Linux进程已经“死掉”了,这种突发状况不仅影响业务连续性,更可能引发数据不一致或安全漏洞,对于运维人员而……

    2026年7月11日
    17300
  • Linux事件机制是什么?Linux事件驱动模型详解

    Linux 的事件机制是一个庞大且复杂的系统,它构成了操作系统响应硬件中断、用户输入、网络包到达、文件状态变化等“事件”的基础,在 Linux 中,“事件”通常指异步通知或轮询检测,其核心目标是让应用程序能够高效地等待和处理多种来源的事件,而无需频繁地轮询(Polling),从而节省 CPU 资源,以下是 Li……

    2026年7月10日
    15100

发表回复

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