天天看點

linux三種運作模式的英文,SELinux三種模式

一、SELinux三種模式簡介

Enforcing:強制模式。代表SELinux在運作中,且已經開始限制domain/type之間的驗證關系

Permissive:寬容模式。代表SELinux在運作中,不過不會限制domain/type之間的驗證關系,即使驗證不正确,程序仍可以對檔案進行操作。不過如果驗證不正确會發出警告

Disabled:關閉模式。SELinux并沒有實際運作

二、getenforce指令

功能:檢視目前SELinux的運作模式

linux三種運作模式的英文,SELinux三種模式

三、sestatus指令

功能:檢視目前系統上面SELinux的政策,運作模式等資訊

指令格式:

sestatus  [-vb]

相關參數與選項:

-v:檢查列于/etc/sestatus.conf内的檔案禦錦城的安全上下文

-b:将目前政策的規則布爾值列出,亦即某些規則是否要啟動(0/1)之意

示範案例

可以看到目前的政策為targeted。模式為enforcing

linux三種運作模式的英文,SELinux三種模式

四、SELinux的配置檔案(/etc/selinux/config)

SELINUX=enforcing:目前SELinux的模式

SELINUXTYPE=targeted:目前SELinux的政策

如果想要修改政策和模式,就更改這個檔案裡面的内容即可

linux三種運作模式的英文,SELinux三種模式

五、SELinux模式的更改(setenforce指令)

SELinux模式的更改規則:

①不論是從Enforcing或Permissive改為Disabled,還是由Disabled改為Enforcing或Permissive,系統都需要重新啟動。因為SELinux是整合到核心中的

②在SELinux已經運作的模式下:隻能夠在Enforcing和Permissive兩種模式之間進行切換,而不能直接關閉SELinux(Disabled),如果你使用getenforce發現目前SELinux模式為Disabled時,請立即到/etc/selinux/config檔案中将SELinux改為Enforcing,然後重新啟動系統

③如果你從Disable轉到啟動SELinux的模式時,系統必須針對檔案寫入安全上下文的資訊,是以啟動過程會花費不少時間等待重新寫入SELinux安全上下文(有時成為SELinux Label),而且在寫完之後還要再重新啟動一次

④如果你在Enforcing模式,但是可能由于一些設定的問題導緻SELinux讓某些服務無法正常地運作,此時可以将Enforcing的模式改為寬容(Permissive)的模式,讓SELinux隻會警告而,而不會直接阻止主體程序的讀取權限

setenforce指令格式:

# 轉換為Permissive寬容模式

setenforce  0

# 轉換為Enforcing強制模式

setenforce  1

注意事項:setenforce無法設定SELinux為Disabled模式

示範案例

linux三種運作模式的英文,SELinux三種模式

六、restorecon -Rv 指令

介紹:

當你從Disabled切換為Enforcing模式時,會有一堆服務無法順利啟動,會跟你說/lib/xxx裡面的資料沒有權限讀取,是以啟動失敗。原因:大多是重新寫入SELinux類型時出錯的緣故

解決辦法:切換為Permissive寬容模式,然後使用restorecon  -Rv  /  重新還原所有SELinux的類型,就能解決這個問題