0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux权限体系解析

马哥Linux运维 ? 来源:马哥Linux运维 ? 2025-07-23 16:57 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

你真的了解Linux权限吗?大多数人只知道rwx,但Linux的权限体系远比你想象的复杂和强大。今天我们深入探讨Linux的12位权限体系,这是每个运维工程师都应该掌握的核心知识。

为什么要深入理解Linux权限?

在生产环境中,权限配置错误是导致安全事故的主要原因之一。一个小小的权限疏忽,可能导致:

? 数据泄露

? 系统被入侵

? 服务异常中断

? 合规性问题

掌握12位权限体系,让你从"会用"到"精通",成为真正的Linux专家。

Linux权限的本质:不只是rwx

权限位的完整结构

当我们执行ls -l时,看到的权限字符串实际上包含了12位信息:

-rwxr-xr-x 1 root root 4096 Jul 18 10:30 example.txt

这12位权限可以分解为:

1.第1位: 文件类型标识符

2.第2-4位: 所有者(owner)权限

3.第5-7位: 所属组(group)权限

4.第8-10位: 其他用户(others)权限

5.第11-12位: 特殊权限位

权限位详细解析

第1位:文件类型标识符

符号 含义 说明
- 普通文件 文本文件、二进制文件等
d 目录 directory
l 符号链接 symbolic link
b 块设备文件 硬盘、光驱等
c 字符设备文件 终端、串口等
p 管道文件 命名管道
s 套接字文件 socket文件

第2-10位:标准权限位

所有者权限(2-4位)

?r (read): 读取权限,八进制值4

?w (write): 写入权限,八进制值2

?x (execute): 执行权限,八进制值1

组权限(5-7位)和其他用户权限(8-10位)

权限含义相同,但作用对象不同。

权限的数值表示法

# 权限计算示例
rwx = 4 + 2 + 1 = 7
r-x = 4 + 0 + 1 = 5
r-- = 4 + 0 + 0 = 4

# 完整权限: 755
chmod755 filename
# 等同于: -rwxr-xr-x

特殊权限位:Linux权限的高级特性

SUID (Set User ID) - 第11位

作用: 让普通用户临时获得文件所有者的权限

# 查看SUID示例
ls-l /usr/bin/passwd
-rwsr-xr-x 1 root root 68208 Jul 18 10:30 /usr/bin/passwd

# 设置SUID
chmodu+s filename
chmod4755 filename # 数值方式

实际应用场景:

?passwd命令:普通用户修改密码需要写入/etc/shadow

?su命令:切换用户身份

?sudo命令:权限提升

SGID (Set Group ID) - 第12位

作用:

? 对文件:执行时获得文件所属组权限

? 对目录:新建文件继承目录的组权限

# 设置SGID
chmodg+s filename
chmod2755 filename # 数值方式

# 目录SGID示例
mkdir/shared/project
chmodg+s /shared/project
chgrpdevelopers /shared/project

Sticky Bit - 特殊标志位

作用: 只有文件所有者和root才能删除文件

# 典型应用:/tmp目录
ls-ld /tmp
drwxrwxrwt 12 root root 4096 Jul 18 10:30 /tmp

# 设置Sticky Bit
chmod+t directory
chmod1755 directory # 数值方式

实战案例:权限配置最佳实践

案例1:Web服务器权限配置

# 创建web目录结构
mkdir-p /var/www/html/{public,private,uploads}

# 设置基础权限
chown-R www-data:www-data /var/www/html
chmod755 /var/www/html
chmod644 /var/www/html/public/*
chmod700 /var/www/html/private
chmod755 /var/www/html/uploads

# 设置uploads目录SGID,确保上传文件权限一致
chmodg+s /var/www/html/uploads

案例2:共享开发环境

# 创建开发团队共享目录
mkdir/opt/dev-shared
groupadd developers
chgrpdevelopers /opt/dev-shared

# 设置SGID,确保新文件属于developers组
chmodg+s /opt/dev-shared
chmod775 /opt/dev-shared

# 设置默认权限
setfacl -d -m grwx /opt/dev-shared

权限管理高级技巧

1. 使用umask控制默认权限

# 查看当前umask
umask

# 设置umask (常用值)
umask022 # 默认文件644,目录755
umask002 # 默认文件664,目录775
umask077 # 默认文件600,目录700

2. 批量权限修改

# 递归修改目录权限
find /path -typed -execchmod755 {} ;
find /path -typef -execchmod644 {} ;

# 按文件类型修改权限
find /path -name"*.sh"-execchmod+x {} ;

3. 使用ACL进行精细权限控制

# 安装ACL工具
yum install acl # CentOS/RHEL
apt install acl # Ubuntu/Debian

# 设置ACL权限
setfacl -m urwx filename
setfacl -m gr-x filename

# 查看ACL权限
getfacl filename

权限安全最佳实践

1. 最小权限原则

# 不要这样做
chmod777 filename # 危险!

# 应该这样做
chmod644 filename # 普通文件
chmod755 directory# 目录
chmod600 ~/.ssh/id_rsa # 私钥文件

2. 定期权限审计

# 查找危险权限
find / -perm -4000 -typef 2>/dev/null # 查找SUID文件
find / -perm -2000 -typef 2>/dev/null # 查找SGID文件
find / -perm -1000 -typed 2>/dev/null # 查找Sticky Bit目录

# 查找world-writable文件
find / -perm -002 -typef 2>/dev/null

3. 权限监控脚本

#!/bin/bash
# 权限监控脚本示例

# 检查关键文件权限
check_file_perm() {
 localfile=$1
 localexpected_perm=$2
 localcurrent_perm=$(stat-c %a"$file")
 
 if["$current_perm"!="$expected_perm"];then
   echo"WARNING:$filepermission is$current_perm, expected$expected_perm"
 fi
}

# 检查关键系统文件
check_file_perm"/etc/passwd""644"
check_file_perm"/etc/shadow""600"
check_file_perm"/etc/ssh/sshd_config""644"

故障排查:权限问题诊断

常见权限问题及解决方案

问题1: 应用无法启动

# 检查可执行权限
ls-l /path/to/application
chmod+x /path/to/application

问题2: 日志文件无法写入

# 检查目录和文件权限
ls-ld /var/log/application/
chownapp-user:app-group /var/log/application/
chmod755 /var/log/application/

问题3: 文件上传失败

# 检查上传目录权限
ls-ld /uploads/
chmod755 /uploads/
chownwww-data:www-data /uploads/

总结:掌握权限体系的关键要点

1.理解权限本质: 12位权限不仅仅是rwx,还包括文件类型和特殊权限

2.灵活运用特殊权限: SUID、SGID、Sticky Bit是高级权限管理的关键

3.遵循安全原则: 最小权限原则,定期审计,持续监控

4.实践出真知: 在安全环境中多练习,积累实战经验

掌握Linux 12位权限体系,不仅能让你更好地管理系统安全,更能在面试和工作中展现你的专业深度。权限管理是运维工程师的基本功,也是区分新手和专家的重要标志。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11522

    浏览量

    214219
  • 文件
    +关注

    关注

    1

    文章

    585

    浏览量

    25429

原文标题:深入Linux内核:12位权限体系完全解析(运维工程师必备)

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LINUX修改文件权限

    本帖最后由 Stark扬 于 2018-9-28 16:56 编辑 用户权限在Windows操作系统里也不陌生,但是Linux操作系统的用户权限和文件权限要比Windows操作系
    发表于 09-26 13:58

    linux权限和指令

    一、进入目录需要哪些权限?在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限权限分类可见,权限有四种:一种是执行
    发表于 07-04 06:58

    Linux 中文件权限管理的探讨

    Linux 是一种多用户的操作系统,其文件权限管理在文件管理中占有重要的地位。为了更好地把握Linux 的文件权限的相关内容,本文以多种Linux
    发表于 06-11 09:37 ?11次下载

    Linux改变文件或目录的访问权限命令

    Linux改变文件或目录的访问权限命令 Linux改变文件或目录的访问权限命令  Linux系统中的每个文件和目录都有访问许可
    发表于 01-18 12:46 ?1272次阅读

    Windows下linux权限管理问题解析

    在Windows下,可以通过鼠标右击文件,在属性栏查看文件的权限Linux下的文件“哲学”是否与Windows相同呢?我们从以下几点分析。
    的头像 发表于 06-27 17:24 ?7066次阅读
    Windows下<b class='flag-5'>linux</b><b class='flag-5'>权限</b>管理问题<b class='flag-5'>解析</b>

    浅谈Linux权限管理的ACL权限

    Linux权限管理是Linux很重要的一项内容,重则引起用户信息泄露,轻则导致文件错乱和丢失。企业服务器里有些目录下面的东西暂时保密,不希望别人可以进入目录并查看。有些文件希望别人可以看,但不能删除。有些目录只有root等管理员
    的头像 发表于 08-18 11:13 ?9269次阅读

    Linux进程权限的分析说明

     在linux下,关于文件权限,大部分人接触比较多,也比较熟悉了解。但是对进程权限一般知之甚少。本文总结一下linux系统下进程权限问题和现
    发表于 07-17 10:55 ?995次阅读

    详细剖析有数BI的权限体系

    权限体系是所有BI产品都会涉及的一个重要组成部分,目的是对不同的人访问资源进行权限控制,避免因权限控制缺失或操作不当引发的风险,如隐私数据泄露等问题。有数BI
    的头像 发表于 04-13 11:00 ?3951次阅读
    详细剖析有数BI的<b class='flag-5'>权限</b><b class='flag-5'>体系</b>!

    linux文件访问权限怎么设置

    Linux 文件访问权限是操作系统中一个非常重要的概念。正确地设置文件访问权限可以保护系统的安全性,防止未经授权的人员对文件进行修改、删除或执行。本文将详细介绍 Linux 文件访问
    的头像 发表于 11-23 10:20 ?2179次阅读

    Linux把目录权限给指定用户

    Linux是一个开放源代码的操作系统,它基于Unix的设计原则,提供了丰富的权限管理功能,允许用户对系统中的文件和目录进行精确的控制。在Linux中,每个文件和目录都有相应的权限,这些
    的头像 发表于 11-23 10:30 ?9451次阅读

    Linux文件权限及Makefile

    的详细信息 //man -L zh_CN open man 1 open man 2 open man 3 open Part2文件权限 2.1 权限理解 在 Ubuntu(以及其他类 UNIX
    的头像 发表于 11-24 16:06 ?827次阅读
    <b class='flag-5'>Linux</b>文件<b class='flag-5'>权限</b>及Makefile

    详解Linux中的权限控制

    本章将和大家分享Linux中的权限控制。废话不多说,下面我们直接进入主题。
    的头像 发表于 08-05 15:32 ?1057次阅读
    详解<b class='flag-5'>Linux</b>中的<b class='flag-5'>权限</b>控制

    Linux用户身份与进程权限详解

    在学习 Linux 系统权限相关的主题时,我们首先关注的基本都是文件的 ugo 权限。ugo 权限信息是文件的属性,它指明了用户与文件之间的关系。但是真正操作文件的却是进程,也就是说用
    的头像 发表于 10-23 11:41 ?799次阅读
    <b class='flag-5'>Linux</b>用户身份与进程<b class='flag-5'>权限</b>详解

    Linux权限管理解析

    权限指的是某一个用户针对某一个文件的权限(root超级管理员拥有全部权限)
    的头像 发表于 04-09 10:06 ?356次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>权限</b>管理<b class='flag-5'>解析</b>

    Linux权限管理基础入门

    Linux的广阔天空中,权限管理犹如一只翱翔的雄鹰,掌控着系统的安全与秩序。掌握Linux权限,不仅能让你的系统管理更加得心应手,还能有效防止未授权访问和数据泄露。本文将带你深入探索
    的头像 发表于 05-06 13:44 ?291次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>权限</b>管理基础入门