Linux 如何管理SELinux?

2021-10-07 11:18:39 字數 3173 閱讀 4462

ermissive 模式:經常用於排故。這個模式,selinux允許所有訪問,即使與規則衝突,但會記錄拒絕訪問的行為日誌。 強制模式和允許模式之間變更,

不需要重啟系統。

enforcing 模式: selinux強制執行訪問控制規則。 在強制模式下,如果規

則沒有明確允許訪問,則拒絕訪問,並寫入日誌。

disable 模式:完全關閉selinux。不拒絕任何selinux違規,不予記錄。從

強制模式或者允許模式變更到禁用模式,或者從禁用模式變更到強制模式或

者允許模式都 需要重啟系統。

selinux標籤有多個內容:使用者,角色,型別和敏感度。

檢視當前生效的模式

[root@workstation ~]

# getenforce

enforcing

強制模式臨時切換為允許模式

[root@workstation ~]

# setenforce 0|permissive

允許模式臨時切換為強制模式

[root@workstation ~]

# setenforce 1|enforcing

強制模式和允許模式切換成disabled模式或者disabled模式切換成強制模式和

允許模式,都需要重啟系統才能生效。

切換方法:編輯配置檔案

[root@workstation ~]

# vim /etc/selinux/config

selinux=disabled

selinuxtype=targeted

設定selinux預設策略方法。

在執行selinux的系統上,所有程序和檔案都會有相應的標籤。新檔案通常從父目錄繼承其selinux上下文,從而確保它們具有適當的上下文。

但是,有兩種情況例外:

如果在不同的位置建立檔案,然後移動檔案, 則該檔案將具有建立它

時所在目錄的selinux上下文,而不是目標目錄的selinux上下文。

如果是複製乙個保留selinux上下文的檔案(正如使用cp -a 命令),則

selinux上下文將反映原始檔案的位置。

semanage fcontext命令,宣告檔案的預設標籤,將標籤新增至資料庫中,需要使用estorecon恢復時才可生效 選項

描述-a,–add

新增指定物件型別的記錄

-d , --delete

刪除指定物件型別的記錄

-l, --list

列出指定物件型別的記錄

estorecon命令,將該semanage fcontext宣告的預設標籤應用於檔案。這樣可確保標籤符合預期,即便在對檔案系統完全重新標記之後也是如此。

chcon命令,更改檔案selinux上下文,它不會將上下文更改儲存到selinux上下文資料庫中。當 restorecon命令執行時, chcon命令所做的更改也同樣無法保留。此外,如果對整個檔案系統進行重新標記,則使用chcon更改過的檔案的selinux上下文將恢復

semanage fcontext命令用於顯示和修改預設規則,restorecon命令將使用這個規則恢復文字預設規則。semanage fcontext命令使用擴充套件的正規表示式指定路徑和檔名。比較常見的擴充套件正規表示式(/.*)?,表示隨意匹配/後面接任意數量字元,遞迴匹配資料夾下的子檔案和子資料夾。

定義檔案預設selinux上下文

下面**使用semanage fcontext命令為/test目錄新增了預設標籤,並使用estorecon命令對目錄進標籤的更新

# restorecon -rfv /test/ 重置該目錄內所有檔案規則

chcon命令臨時修改selinux上下文

這裡/test的預設標籤為httpd_sys_content_t,我們通過chcon命令臨時修改了標籤,之後使用restorecon命令將恢復為資料庫儲存的標籤內容

CentOS系統如何快速關閉SELINUX

centos系統是linux發行版之一,它是來自於red hat enterprise linux依照開放源 規定發布的源 所編譯而成。由於出自同樣的源 因此有些要求高度穩定性的伺服器以centos替代商業版的red hat enterprise linux使用。我們有很多人叫它社群企業作業系統,不...

linux系統如何管理檔案

1 硬碟中的靜態檔案和inode i節點 1 檔案平時都在存放在硬碟中的,硬碟中儲存的檔案以一種固定的形式存放的,我們叫靜態檔案。2 一塊硬碟中可以分為兩大區域 乙個是硬碟內容管理表項,另乙個是真正儲存內容的區域。作業系統訪問硬碟時是先去讀取硬碟內容管理表,從中找到我們要訪問的那個檔案的扇區級別的資...

linux核心如何管理程序

程序 有諸多的定義,在許多的教材資料上,其定義是乙個程式的執行例項,這不無道理,也有的人認為它是程式處理所描述的所有資料結構的集合。這裡不深究其定義,如果換個角度而言,程序就好像我們人類,他們被產生,它們有自己的生命週期,儘管生命週期的長短不一,從幾毫秒至幾秒,甚至幾個月,幾年。與人類的真正區別就在...