成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

不要一上來就關(guān)閉 SELinux,五分鐘帶你搞懂 SELinux 是什么鬼?

運維
在一些教程中,往往會讓你一開始就將SELinux關(guān)閉,但生產(chǎn)環(huán)境中有些是不允許關(guān)閉的,是有必要深入學習一下SELinux。

今天分享一下SELinux。

在一些教程中,往往會讓你一開始就將SELinux關(guān)閉,但生產(chǎn)環(huán)境中有些是不允許關(guān)閉的,是有必要深入學習一下SELinux。篇幅有點長,希望耐心看完。

在使用 Linux 的過程中,你可能遇到過下面這些場景:

  • 權(quán)限全給了,服務(wù)還是無法訪問文件;
  • 日志里一堆 “permission denied”,可你偏偏就是 root;
  • 改了配置,重啟沒報錯,就是跑不起來……

如果你遇到這些靈異事件,那大概率是——SELinux 在背后搞鬼!

一、 什么是 SELinux?

SELinux(Security-Enhanced Linux) 是由美國國家安全局(NSA)最初開發(fā)的一套 安全訪問控制機制,它為 Linux 系統(tǒng)提供了比傳統(tǒng)用戶權(quán)限(如 chmod、chown)更強、更細粒度的安全控制。

即使是 root 用戶,也必須遵守它的規(guī)則!

二、 為什么要有 SELinux?

傳統(tǒng)的 Linux 安全機制靠文件權(quán)限控制,但它有一個致命缺陷:

root 可以為所欲為。

一旦某個服務(wù)被攻擊拿到 root 權(quán)限,攻擊者就能橫著走。而 SELinux 通過強制訪問控制(MAC),哪怕你是 root,只要沒被允許,也寸步難行。

三、SELinux是怎么工作的

1.  標簽系統(tǒng):給對象貼標簽

在 SELinux 眼里,每個文件、目錄、進程、端口都有一個“安全上下文”,本質(zhì)就是一個標簽。例如:

ls -Z /var/www/html/index.html

上圖 httpd_sys_content_t 就是該文件的 SELinux 類型標簽。

2. 策略規(guī)則

系統(tǒng)有一套策略規(guī)則(Policy),明確規(guī)定:

哪種類型的進程,能訪問哪種類型的對象,以什么方式訪問(讀、寫、執(zhí)行等)。

比如:

  • 類型為 httpd_t 的進程(例如 nginx、httpd)
  • 可以讀取類型為 httpd_sys_content_t 的文件
  • 不可以寫這些文件,除非文件被標記為 httpd_sys_rw_content_t

只要行為不符合規(guī)則,哪怕權(quán)限沒問題,訪問照樣被拒絕!

通過下面命令可以查看所有規(guī)則類型:

semanage fcontext -l

3. 整體的工作過程:

1. 進程發(fā)起訪問請求(如httpd訪問`/var/www/html/index.html`)
2. 內(nèi)核SELinux模塊攔截該請求
3. 獲取進程和目標對象的安全上下文
   - 進程類型:`httpd_t`
   - 文件類型:`httpd_sys_content_t`
4. 在AVC(訪問向量緩存)中查找權(quán)限
   - 有記錄:允許或拒絕
   - 無記錄:查詢SELinux策略決策模塊
5. 策略模塊判斷是否允許訪問
   - 比如是否允許 `httpd_t` 類型訪問 `httpd_sys_content_t` 文件進行`read`操作
6. 結(jié)果反饋內(nèi)核:允許 or 拒絕
7. 內(nèi)核執(zhí)行或拒絕該訪問操作
8. 如果被拒絕,則在日志中記錄AVC拒絕信息(/var/log/audit/audit.log)

四、SELinux 的三種工作模式

使用 getenforce 命令可以查看當前模式:

getenforce

三種模式如下:

模式

描述

Enforcing

強制執(zhí)行 SELinux 策略,違規(guī)操作將被阻止

Permissive

只記錄違規(guī)操作,不阻止(適合排查問題)

Disabled

完全關(guān)閉 SELinux

臨時切換模式(重啟后失效):

setenforce 0  # 切換到 Permissive
setenforce 1  # 切換回 Enforcing

永久修改需編輯配置文件 /etc/selinux/config:重啟才生效

SELINUX=enforcing
# 可選值:enforcing、permissive、disabled

# 也可以直接一條命令修改
sed -i "s#=enforcing#=disabled#g" /etc/selinux/config

五、經(jīng)典場景

1. nginx 無法讀取自定義目錄

你把網(wǎng)站內(nèi)容放到 /data/www,nginx 報 403:

ls -Z /data/www

發(fā)現(xiàn)目錄類型是 default_t,而不是 nginx 允許的類型。

  • 臨時解決方法:
chcon -R -t httpd_sys_content_t /data/www
  • 永久更改(推薦):
# 會保存在SELinux策略數(shù)據(jù)庫
semanage fcontext -a -t httpd_sys_content_t "/data/www(/.*)?"
restorecon -Rv /data/www

2. 服務(wù)監(jiān)聽端口被阻止

比如某服務(wù)想監(jiān)聽 8080 端口,結(jié)果啟動失敗。

  • 查看當前允許的端口:
# 如果沒有8080端口就會被攔截
semanage port -l | grep http_port_t

  • 添加允許的端口:
semanage port -a -t http_port_t -p tcp 8080

3. Docker 容器莫名權(quán)限問題

Docker 默認使用 container_t 類型運行容器,如果你掛載了宿主機目錄,但標簽不對,也會被 SELinux 拒絕。

解決方案之一:

-v /data:/data:Z  # 自動設(shè)置 SELinux 標簽

六、SELinux相關(guān)常用命令

命令

用途

getenforce

查看當前 SELinux 模式

setenforce

臨時切換模式

ls -Z

查看文件或目錄的標簽

ps -eZ

查看進程的標簽

chcon

臨時修改標簽(重啟失效)

restorecon

恢復默認標簽(結(jié)合 semanage 使用)

semanage

配置永久標簽、端口、布爾值等

七、到底要不要開啟 SELinux?

下面是一些建議:

場景

建議

生產(chǎn)環(huán)境

強烈建議開啟 Enforcing

測試環(huán)境

建議用 Permissive 模式排查問題

學習/開發(fā)環(huán)境

可關(guān)閉,但最好學會調(diào)試 SELinux

關(guān)閉 SELinux 雖然簡單粗暴,但也等于把“系統(tǒng)最后一道防線”拆了,得不償失。

SELinux 并不復雜,它只是更嚴謹。

當別人還在為“權(quán)限沒問題卻訪問不了”頭禿時,你已經(jīng)能輕松用 semanage 和 restorecon 一鍵修復。

責任編輯:趙寧寧 來源: 運維李哥不背鍋
相關(guān)推薦

2025-03-13 06:22:59

2021-06-18 07:34:12

Kafka中間件微服務(wù)

2024-12-11 07:00:00

面向?qū)ο?/a>代碼

2025-01-21 07:39:04

Linux堆內(nèi)存Golang

2019-08-09 10:33:36

開發(fā)技能代碼

2025-01-20 08:50:00

2021-10-19 07:27:08

HTTP代理網(wǎng)絡(luò)

2024-01-16 07:46:14

FutureTask接口用法

2025-01-24 08:38:47

2020-12-18 08:40:44

Chrome瀏覽器渲染

2017-03-30 19:28:26

HBase分布式數(shù)據(jù)

2023-12-05 15:24:46

2023-12-06 08:48:36

Kubernetes組件

2023-09-18 15:49:40

Ingress云原生Kubernetes

2024-01-12 07:38:38

AQS原理JUC

2024-07-05 09:31:37

2024-12-13 15:29:57

SpringSpringBeanJava

2020-02-19 19:26:27

K8S開源平臺容器技術(shù)

2022-05-23 09:10:00

分布式工具算法

2024-07-02 11:22:35

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久精品一 | 国产精品影视在线观看 | 国产91网站在线观看 | 欧洲尺码日本国产精品 | 中文字幕精品一区 | 亚洲精品一区二区三区在线 | 成人欧美一区二区三区黑人孕妇 | 中国一级特黄真人毛片 | 久久久久久综合 | 91久久综合亚洲鲁鲁五月天 | 亚洲久久 | 老牛嫩草一区二区三区av | 国产亚洲精品美女久久久久久久久久 | 婷婷一级片 | 超碰在线播 | 午夜成人免费视频 | 国产在线激情视频 | 亚洲欧美国产精品一区二区 | 一级片在线观看 | 成人av网站在线观看 | 国产特黄一级 | 999精品网| 91精品久久久久久久久中文字幕 | 色99视频 | 99亚洲精品 | 国产综合精品一区二区三区 | 午夜激情影院 | 精品国产99 | 岛国视频 | 国产一区不卡 | 中文字幕一区二区三区精彩视频 | 一区二区三 | 日本一区视频在线观看 | av中文字幕在线观看 | 国产超碰人人爽人人做人人爱 | 中文字幕专区 | 日韩av中文 | 日韩欧美在线播放 | 99re热精品视频国产免费 | 国产精品无码久久久久 | 亚洲综合国产 |