首頁 > 軟體

selinux設定錯誤導致CentOS無法重新啟動

2020-06-16 16:43:14

錯誤原因

設定關閉SELinux,結果誤操作

應修改組態檔/etc/selinux/config中的“SELINUX”引數的值,
# SELINUX=enforcing  原始設定
SELINUX=disabled    正確

但是誤將“SELINUXTYPE”看成“SELINUX”,設定了SELINUXTYPE引數:
#SELINUXTYPE=targeted  原始設定 這個不必修改。
SELINUXTYPE=disabled  錯誤

錯誤結果

重新啟動後 機器就報 Failed to load SELinux policy. Freezing 錯誤 導致一直不能啟動

解決辦法:

1. 重新啟動時在啟動頁面,選擇你要啟動的核心 按 E, 進入 grub 編輯頁面。

2. 找到 linux16 那一行,在language 後面 也就是LANG=zh_CN.UTF-8,空格 加上 selinux=0 或者 enforcing=0 (備註:我是加入selinux=0 生效的。)

3. 然後 ctrl + x 啟動,就看到熟悉的登入介面。

4 .修改selinux組態檔,正確關閉selinux ~!

vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#    enforcing - SELinux security policy is enforced.
#    permissive - SELinux prints warnings instead of enforcing.
#    disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#    targeted - Targeted processes are protected,
#    minimum - Modification of targeted policy. Only selected processes are protected.
#    mls - Multi Level Security protection.
SELINUXTYPE=targeted

修改完畢後,重新啟動。檢視是否會報錯 。over。

安全增強型 Linux(Security-Enhanced Linux)

SELinux,它是一個 Linux 核心模組,也是 Linux 的一個安全子系統。

SELinux 主要由美國國家安全域性開發。2.6 及以上版本的 Linux 核心都已經整合了 SELinux 模組。

1、SELinux 的作用及許可權管理機制

1.1 SELinux 的作用

SELinux 主要作用就是最大限度地減小系統中服務進程可存取的資源(最小許可權原則)。

目前系統檔案許可權的管理有兩種:DAC(傳統的) 和 MAC(SELinux)

1.2 DAC

傳統的檔案許可權與帳號關係:自主式存取控制, DAC(Discretionary Access Control, DAC)

在沒有使用 SELinux 的作業系統中,決定一個資源是否能被存取的因素是:某個資源是否擁有對應使用者的許可權(讀、寫、執行)。

只要存取這個資源的進程符合以上的條件就可以被存取。

而最致命問題是,root 使用者不受任何管制,系統上任何資源都可以無限制地存取。

這種許可權管理機制的主體是使用者,也稱為自主存取控制(DAC)。

1.3 MAC

以政策規則訂定特定程式讀取特定檔案:委任式存取控制,MAC

在使用了 SELinux 的作業系統中,決定一個資源是否能被存取的因素除了上述因素之外,還需要判斷每一類進程是否擁有對某一類資源的存取許可權。

這樣一來,即使進程是以 root 身份執行的,也需要判斷這個進程的型別以及允許存取的資源型別才能決定是否允許存取某個資源。進程的活動空間也可以被壓縮到最小。

即使是以 root 身份執行的服務進程,一般也只能存取到它所需要的資源。即使程式出了漏洞,影響範圍也只有在其允許存取的資源範圍內。安全性大大增加。

這種許可權管理機制的主體是進程,也稱為強制存取控制(MAC)。

而 MAC 又細分為了兩種方式,一種叫類別安全(MCS)模式,另一種叫多級安全(MLS)模式。
在 DAC 模式下,只要相應目錄有相應使用者的許可權,就可以被存取
在 MAC 模式下,還要受進程允許存取目錄範圍的限制。

【總結理解】
DAC是以使用者為出發點來管理許可權的
MAC是以程式為出發點來管理許可權的


以前:root--->啟動httpd---->httpd可以存取系統任何檔案
現在:root--->啟動httpd---->httpd只能存取/var/www/目錄(這是MAC)規則的約束

如果httpd想要存取其他目錄,那麼必須滿足兩個條件:DAC的rwx + MAC的規則


IT145.com E-mail:sddin#qq.com