1. 程式人生 > >selinux配置錯誤導致CentOS無法重啟

selinux配置錯誤導致CentOS無法重啟

錯誤原因

配置關閉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的規則