RHCSA 認(rèn)證:SELinux 精要和控制文件系統(tǒng)的訪問(wèn)
盡管作為第一級(jí)別的權(quán)限和訪問(wèn)控制機(jī)制是必要的,但它們同樣有一些局限,而這些局限則可以由安全增強(qiáng) Linux(Security Enhanced Linux,簡(jiǎn)稱為 SELinux)來(lái)處理。
這些局限的一種情形是:某個(gè)用戶可能通過(guò)一個(gè)泛泛的 chmod 命令將文件或目錄暴露出現(xiàn)了安全違例,從而引起訪問(wèn)權(quán)限的意外傳播。結(jié)果,由該用戶開(kāi)啟的任意進(jìn)程可以對(duì)屬于該用戶的文件進(jìn)行任意的操作,最終一個(gè)惡意的或有其它缺陷的軟件可能會(huì)取得整個(gè)系統(tǒng)的 root 級(jí)別的訪問(wèn)權(quán)限。
考慮到這些局限性,美國(guó)國(guó)家安全局(NSA) 率先設(shè)計(jì)出了 SELinux,一種強(qiáng)制的訪問(wèn)控制方法,它根據(jù)最小權(quán)限模型去限制進(jìn)程在系統(tǒng)對(duì)象(如文件,目錄,網(wǎng)絡(luò)接口等)上的訪問(wèn)或執(zhí)行其他的操作的能力,而這些限制可以在之后根據(jù)需要進(jìn)行修改。簡(jiǎn)單來(lái)說(shuō),系統(tǒng)的每一個(gè)元素只給某個(gè)功能所需要的那些權(quán)限。
在 RHEL 7 中,SELinux 被并入了內(nèi)核中,且默認(rèn)情況下以強(qiáng)制模式(Enforcing)開(kāi)啟。在這篇文章中,我們將簡(jiǎn)要地介紹有關(guān) SELinux 及其相關(guān)操作的基本概念。
SELinux 可以以三種不同的模式運(yùn)行:
使用 getenforce
命令可以展示 SELinux 當(dāng)前所處的模式,而 setenforce
命令(后面跟上一個(gè) 1 或 0) 則被用來(lái)將當(dāng)前模式切換到強(qiáng)制模式(Enforcing)或?qū)捜菽J剑≒ermissive),但只對(duì)當(dāng)前的會(huì)話有效。
為了使得在登出和重啟后上面的設(shè)置還能保持作用,你需要編輯 /etc/selinux/config
文件并將 SELINUX 變量的值設(shè)為 enforcing,permissive,disabled 中之一:
# getenforce
#setenforce0
# getenforce
#setenforce1
# getenforce
#cat/etc/selinux/config
設(shè)置 SELinux 模式
通常情況下,你應(yīng)該使用 setenforce
來(lái)在 SELinux 模式間進(jìn)行切換(從強(qiáng)制模式到寬容模式,或反之),以此來(lái)作為你排錯(cuò)的第一步。假如 SELinux 當(dāng)前被設(shè)置為強(qiáng)制模式,而你遇到了某些問(wèn)題,但當(dāng)你把 SELinux 切換為寬容模式后問(wèn)題不再出現(xiàn)了,則你可以確信你遇到了一個(gè) SELinux 權(quán)限方面的問(wèn)題。
一個(gè) SELinux 上下文(Context)由一個(gè)訪問(wèn)控制環(huán)境所組成,在這個(gè)環(huán)境中,決定的做出將基于 SELinux 的用戶,角色和類型(和可選的級(jí)別):
下面就讓我們看看這些概念是如何在下面的例子中起作用的。
2015職稱計(jì)算機(jī)考試書(shū)PowerPoint2007中 .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書(shū)籍 | |
2015年全國(guó)職稱計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 |