1. 程式人生 > >SELinux入門:模式檢視與切換

SELinux入門:模式檢視與切換

SELinux–Security Enhanced Linux,是一個可以實現強訪問控制(MAC)的Linux安全子系統。使用者編寫了安全策略,並且載入到系統中,可以控制主體(程序)對客體(種類很多,如普通檔案,socket等)的操作。如果系統運行了SELinux,除了要滿足標準Linux訪問控制,還要滿足SELinux訪問控制,主體才能訪問客體。

系統的SELinux有三種模式:permissive、enforcing、disabled。
permissive:寬容模式, SELinux 處於執行狀態,當主體對客體的訪問不滿足SELinux策略要求時,會有列印資訊,但是不會真正限制其進行訪問。這種模式一般作為 SELinux 的 debug 之用。

enforcing:強制模式,SELinux處於執行狀態,當不符合策略要求,主體無法訪問客體。

disabled:SELinux處於關閉狀態。

使用sestatus命令,可以檢視系統中SELinux的執行情況:
這裡寫圖片描述

當SELinux status是enabled時,說明SELinux處於permissive或者enforcing模式,可以使用setenforce命令在這兩種模式之間進行切換,0表示permissive模式,1表示enforcing模式,切換後可以用getenforce命令檢視狀態:
這裡寫圖片描述

使用這種切換方式切換過去的模式,在系統重啟後失效,因為系統會重新從/etc/selinux/config檔案中讀取模式。如果想切換到disabled模式,或者從disabled模式切換到permissive或者enforcing模式,使用setenforce命令是無效的,需要修改這個檔案。就是下面截圖“SELINUX=”這一欄:
這裡寫圖片描述