首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Attention is all you need 详细解读

Attention is all you need 详细解读

原创
作者头像
用户3672714
发布2025-09-02 14:46:46
发布2025-09-02 14:46:46
920
举报

1️⃣ SELinux 概念

  • 全称:Security-Enhanced Linux
  • 类型:Linux 内核安全模块(Linux Security Module, LSM)
  • 目标:提供 强制访问控制(MAC, Mandatory Access Control),增强系统安全
  • 提出者:美国国家安全局(NSA)
  • 适用场景
    • 限制进程访问系统资源
    • 防止未授权操作或入侵
    • 强化服务器和容器安全

简单理解:SELinux 就像 Linux 的安全“护身符”,在传统的用户/组权限之上再加一层安全策略控制。


2️⃣ SELinux 与传统权限的区别

权限机制

特点

SELinux 对应

传统 DAC(Discretionary Access Control)

基于文件所有者、用户组、权限位(rwx)控制

可以绕过,用户可修改

MAC(SELinux)

基于 策略规则 控制访问,不能被用户随意绕过

强制安全策略

总结:传统权限是“谁拥有文件决定权限”,SELinux 是“系统策略决定权限”,安全性更高。


3️⃣ SELinux 核心组成

  1. 策略(Policy)
    • 定义哪些 主体(process) 可以访问哪些 客体(file、socket、port)
    • 分为:
      • Targeted Policy(默认,大部分进程不限制)
      • Strict Policy(严格,每个进程都受限制)
      • MLS/MCS Policy(多级安全,多用于敏感环境)
  2. 上下文(Context)
    • 文件、进程、端口等都被分配一个 SELinux 上下文

    user:role:type:level

    • 例如:system_u:object_r:httpd_sys_content_t:s0
      • user:主体所属用户
      • role:角色
      • type:类型(最关键,用于访问控制)
      • level:安全级别
  3. 访问决策(Access Vector Cache, AVC)
    • 内核模块根据策略判断访问是否允许
    • 日志记录违规操作

4️⃣ SELinux 工作模式

模式

描述

命令查看 / 设置

Enforcing

强制执行策略,违规操作被阻止

getenforce / setenforce 1

Permissive

不阻止操作,仅记录日志

setenforce 0

Disabled

关闭 SELinux

编辑 /etc/selinux/config

日常开发常用 Permissive 调试,生产环境推荐 Enforcing


5️⃣ SELinux 操作示例

5.1 查看状态

sestatus

5.2 查看文件上下文

ls -Z /var/www/html

5.3 修改文件上下文

chcon -t httpd_sys_content_t /var/www/html/index.html

5.4 永久修改策略

semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"

restorecon -Rv /var/www/html

5.5 查看日志(阻止操作)

ausearch -m avc -ts today


6️⃣ SELinux 访问控制原理

  1. 主体(Process) 发起访问请求
  2. 内核获取主体和客体的 SELinux 上下文
  3. 内核查询 策略(Policy),判断是否允许
  4. 允许 → 正常访问 拒绝 → 阻止访问并记录日志

核心点:SELinux 基于类型(Type)访问控制(Type Enforcement, TE),通过策略决定进程访问文件、端口、套接字等资源。


7️⃣ 常见问题

  1. 服务访问被阻止
    • 查看日志 /var/log/audit/audit.log
    • 使用 audit2allow 生成策略允许操作
  2. 开发调试麻烦
    • 可临时切换 Permissive 模式
    • 不建议长期关闭 SELinux
  3. 文件上下文错误
    • 用 restorecon -Rv /path 恢复默认上下文

8️⃣ 总结

  • SELinux 本质:Linux 内核的 强制访问控制系统
  • 作用:限制进程访问资源、防止越权操作、强化系统安全
  • 核心概念:主体(process)、客体(file/port)、策略(policy)、上下文(context)
  • 关键操作
    • 查看状态:sestatus
    • 查看上下文:ls -Z
    • 修改上下文:chcon / semanage
    • 查看日志:ausearch
  • 建议
    • 开发环境可用 Permissive
    • 生产环境尽量 Enforcing
    • 遇到阻止操作先分析日志,再修改策略

https://www.52runoob.com/archives/6586

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1️⃣ SELinux 概念
  • 2️⃣ SELinux 与传统权限的区别
  • 3️⃣ SELinux 核心组成
  • 4️⃣ SELinux 工作模式
  • 5️⃣ SELinux 操作示例
    • 5.1 查看状态
    • 5.2 查看文件上下文
    • 5.3 修改文件上下文
    • 5.4 永久修改策略
    • 5.5 查看日志(阻止操作)
  • 6️⃣ SELinux 访问控制原理
  • 7️⃣ 常见问题
  • 8️⃣ 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档