1. 程式人生 > >SELinux的啟動和關閉

SELinux的啟動和關閉

efs 所有 能夠 mis iss har 表示 強制 兩個

1、SELinux簡介

SELinux是Security Enhanced Linux的縮寫,字面上的意思就是安全強化的Linux,它是由美國國家安全局 (NSA) 開發的,整合到Linux核心的一個模塊,是對於強制訪問控制(MAC)的實現,是 Linux歷史上最傑出的新安全子系統,提供了比傳統的UNIX權限更好的訪問控制。在SELinux的訪問控制體系的限制下,進程只能訪問那些在他的任務中所需要文件。

2、SELinux 的啟動、關閉和狀態

並非所有的 Linux發行版都支持 SELinux 的,CentOS 5.x 以後就支持 SELinux了,目前 SELinux 支持三種模式:

  • enforcing:強制模式,表示SELinux 運行中,且已經正確的開始限制 domain/type 了;
  • permissive:寬容模式,表示SELinux 運行中,不過僅會有警告信息,並不會實際限制 domain/type 的存取。這種模式可以運來作為 SELinux 的 debug 之用;
  • disabled:關閉,SELinux 沒有運行。

1)獲取SELinux的狀態

[[email protected] ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted

2)獲取SELinux運行模式

[[email protected] ~]# getenforce
Enforcing //當前的模式為 Enforcing

3)SELinux運行模式切換

[[email protected] ~]# setenforce [0|1]
選項與參數:
0:轉成 Permissive 寬容模式;
1:轉成 Enforcing 強制模式

[[email protected] ~]# setenforce 0
[[email protected] ~]# getenforce
Permissive

[[email protected] ~]# setenforce 1


[[email protected] ~]# getenforce
Enforcing

4)SELinux 的啟動和關閉

由於SELinux 整合到Linux核心裏了,如果由 enforcing 或 permissive模式改成 disabled,或由 disabled 改成其他兩個,系統必須要重新啟動;
在 SELinux運行(enforcing或permissive模式)時,只能在enforcing和permissive模式切換,不能夠直接關閉 SELinux,只能通過修改配置文件,然後重啟系統。
在 SELinux關閉(disabled)時,setenforce命令不能設置Enforcing或Permissive模式,只能通過修改配置文件來設置,然後重啟系統。

[[email protected] ~]# vim /etc/selinux/config
SELINUX=enforcing                //默認為enforcing,可設置為enforcing、permissive、disabled中的一項。
SELINUXTYPE=targeted //目前只能設置成targeted、mls中的一項

註意:
1)如果從 disable 切換到enforcing或permissive模式時,由於系統必須要針對文檔寫入安全性本文的信息,因此開機過程會花費不少時間在等待重新寫入 SELinux 安全性本文 (有時也稱為 SELinux Label),而且在寫完之後還得要再次的重新啟動。
2)如果已經運行在Enforcing模式,但是可能由於SELinux的設置問題,導致某些服務無法正常的運行,此時可以將Enforcing 模式改為Permissive模式,讓 SELinux只會警告無法順利聯機的信息,而不是直接阻擋主體程序的讀取權限。

3、SELinux布爾變量

SELinux的一些布爾變量的設置對程序的運行起著控制作用,有時需要根據情況需要打開或關閉。
[[email protected] ~]# getsebool -a | grep samba //獲取和samba安全性設置有關的布爾值
bacula_use_samba --> off
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off

[[email protected] ~]#setsebool -P samba_enable_home_dirs=1

[[email protected] ~]# getsebool samba_enable_home_dirs
samba_enable_home_dirs --> on

4、SELinux安全性文本

1)查看文件的安全性文本
[[email protected] home]# ls -Z rjfws/     
drwxrws---. rjfws rjfws unconfined_u:object_r:user_home_t:s0 data
drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 公共的
drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 模板
drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 視頻
drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 圖片
drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 文檔
drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 下載
drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 音樂
drwxr-xr-x. rjfws rjfws unconfined_u:object_r:user_home_t:s0 桌面

2)查看目錄的安全性文本
[[email protected] home]# ls -Zd rjfws/   
drwxrwx---. rjfws rjfws unconfined_u:object_r:user_home_dir_t:s0 rjfws/

=-=-=-=-=
Powered by Blogilo

SELinux的啟動和關閉