SELinux相關指令工具

經常使用命令以下:html


sestatuslinux

查詢系統的selinux目 前的tcp

selinuxenabledide

查詢系統的selinux支 援是否有啓用工具

setenforcespa

設定selinux運 做rest

getseboolorm

出全部selinux bool數值清單表與內容htm

setsebool      ci

設定selinux bool數值內容

chcon

檔案目security context

restorecon

檔案目的預設的security context

fixfiles

修正檔案目的預設的security context

semanage

SELiux policy程式

secon

檢視程、檔案等等項目的SELinux context

audit2why

檢視SELinux audit訊息內容

sealert

SELinux 訊息診斷用戶端程式


下面列出幾個經常使用的:

一、sestatus工具
查詢系統的selinux 目前的狀態
例如:root@monitor:~# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          permissive
Policy version:                 21
Policy from config file:        targeted

二、selinuxenabled工具
檢查系統selinux是否開啓,是經過返回值進行判斷selinux是否已經啓動,0:表示已經啓動selinux;1:表示已經關閉selinux
例如:selinuxenabled ; echo?,返回的結果爲:1

三、setenforce工具
功能:設定切換selinux的運行狀態(0或者1),前提是開啓了selinux,同時這種切換隻對當前有效,若是從新啓動的話,就沒有效了(注意:若是關閉了selinux,那麼就必須配置/etc/selinux/config文件)
語法:setenforce [ Enforcing | Permissive | 1 | 0 ]
說明以下:
enforcing 或者1,表示開啓強制模式
permissive 或者0,表示開啓警告可是無限制模式
例如:下面這個例子
root@monitor:~# sestatus | grep -i mod
Current mode:                   permissive
Mode from config file:          permissive
root@monitor:~# setenforce 1
root@monitor:~# sestatus | grep -i mod
Current mode:                   enforcing
Mode from config file:          permissive

四、getsebool與setsebool工具
說明:SELinux規範了許多boolean數值清單檔案,提供開啓或關閉功能存取項目,而這些值都存放在/selinux/booleans/目錄內相關檔案,這些檔案裏的值只有兩種:1(啓用)或 0(關閉)

1)getsebool
說明:列出全部selinux bool數值清單列表與內容
使用方式:getsebool [ -a ]
例如如下範例:
#getsebool ftpd_disable_trans
ftpd_disable_trans --> off
#getsebool -a
NetworkManager_disable_trans --> off
allow_cvs_read_shadow --> off
allow_daemons_dump_core --> on
allow_daemons_use_tty --> off
allow_execheap --> off
allow_execmem --> on
allow_execmod --> off
..........

2)setsebool
說明:設定selinux bool數值清單列表與內容
使用方式:setsebool [ -P ]  boolean value | bool1=val1 bool2=val2 bool3=val3......
參數配置: -P表示設定該項目永久套用
使用範例:
setsebool ftpd_disable_trans=on ( on 或者 1 )
setsebool -P ftpd_disable_trans=off ( off 或者 0 )

五、chcon
說明:變動檔案目錄的security context
使用方式:
chcon [OPTION]... CONTEXT FILE...
chcon [OPTION]... --reference=RFILE FILE...
參數以下:
-u USER:set user USER in the target security context
-r ROLE:set role ROLE in the target security context
-t TYPE:set type TYPE in the target security context
範例:
chcon -t var_t /etc/vsftpd/vsftpd.conf
chcon --reference=/var/www/html index.html
注意事項:如果變動於目錄上,後續於該目錄內創建的檔案目錄會套用目錄自己type設定

六、restorecon
說明:恢復檔案目錄的預設的security Context
規格來源:/etc/selinux/<POLICY>/contexts/files/目錄內的file_contexts與file_contexts.local
經常使用參數以下:
-r | -R:包含子目錄與其下檔案目錄
-F:恢復使用預設的項目(就算是檔案符合存取規範)
-v:顯示執行過程
使用方式:restorecon [FRrv] [-e excludedir ] pathname... ]
使用範例以下:
restorecon /etc/ntp.conf
restorecon -v /etc/ntp.conf
restorecon -v -F /etc/ntp.conf
手動配置新增恢復規則
1)檔案名稱
/etc/selinux/<POLICYTYPE>/contexts/files/file_contexts.local
2)新增配置範例
/var/ftp(/.*)?   system_u:object_r:public_content_t
3)注意
可使用semanage程式來維護會比較方便

七、fixfiles
說明:修正檔案目錄的預設的security Context,依據/etc/selinux/<POLICY>/contexts/files/內相關檔案修正
使用方式:
fixfiles { check | restore|[-F] relabel } [[dir] ... ]
fixfiles -R rpmpackage[,rpmpackage...] { check | restore }
參數:
-R:使用指定的rpm 套件所提供的檔案清單
使用範例:
fixfiles check /etc
fixfiles restore /etc
fixfiles -F relabel /
fixfiles -R setup check

八、audit2why
說明:檢視SELinux audit訊息內容,提供檢視/var/log/audit/audit.log內的記錄資訊說明
使用範例:audit2why <  /var/log/audit/audit.log
注意:須要搭配啓動auditd服務程式一塊兒使用

九、sealert
說明:SELinux 訊息診斷用戶端程序
參數以下:
-H, --html_output:使用網頁格式輸出(搭配 -a or -l 使用)
-l, --lookupid ID:檢視指定ID的警示訊息
使用範例:
sealert -l xxxxx-xxxxx-xxxx
sealert -H -l xxxxx-xxxxx-xxxx > output.html
注意:須要搭配setroubleshoot服務一塊兒使用
setroubleshoot服務啓動後,會依據audit服務提供的資訊給予適當問題診斷,而後輸出於/var/log/messages,該檔案內會有相關輸出資訊提供除錯檢視

十、semanage
說明:selinux policy維護工具
使用方式:semanage { login | user | port | interface | fcontext | translation} -l [-n]
使用範例:
semanage login -l
semanage user -l
semanage port -l
semanage port -a -t http_port_t -P tcp 81
semanage fcontext  -a  -t    httpd_sys_Context_t   "/home/users/(.+)/public_html(/.*)?「

十一、secon
說明:檢視程式、檔案與使用者等相關SELinux Context
使用方式:
secon [-hVurtscmPRfLp] [CONTEXT]
secon [--file] FILE | [--link] FILE | [--pid] PID
參數:
-u, --user:show the user of the security context
-r, --role:show the role of the security context
-t, --type:show the type of the security context
-f, --file FILE:gets the context from the specified file FILE
-p, --pid PID:gets the context from the specified process PID
使用範例:
secon -u
secon -r
secon -t
secon --file /etc/passwd
secon --pid <pid>

相關文章
相關標籤/搜索