1. 程式人生 > >selinux的初級用法

selinux的初級用法

#################
1.selinux的作用
################
selinux核心級加強型防火牆,是可以保護系統安全性的額外機制。

其通過檢查安全上下文來限制訪問

在服務端/mnt/目錄下建立westos檔案,並將westos移動到/var/ftp/pub/下
匿名登陸lftp服務,發現westos轉移了過去
在這裡插入圖片描述
此時服務端selinux=disabled
在這裡插入圖片描述

編輯配置檔案/etc/sysconfig/selinux
開啟selinux服務
重啟
在這裡插入圖片描述

在/mnt/目錄下建立hello檔案,並且將該檔案移動到/var/ftp/pub下
匿名登陸lftp服務,發現hello檔案不存在
在這裡插入圖片描述

##########################
2修改安全上下文
##########################
不能看到的原因是
vsftpd只能識別public_content_t的標籤
在這裡插入圖片描述
ls -Z #檢視檔案的安全上下文
ls -Zd #檢視目錄的安全上下文

ps auxZ | grep vsftpd
檢視ftp的安全上下文
在這裡插入圖片描述
chcon -t
臨時修改安全上下文
在這裡插入圖片描述

如何永久修改安全上下文

建立目錄/test
在目錄之下建立檔案file{1…3}
檢視安全上下文
在這裡插入圖片描述
semanage fcontext -a -t public_content_t ‘/(目錄)(/.*)?’
把目錄下的所有檔案的安全上下文修改為public_content_t

restorecon -FvvR /(目錄)/
重新整理這個目錄下所有的檔案的安全上下文變為同類
在這裡插入圖片描述
semanage fcontext -l | grep test
##檢視與/test有關的安全上下文
在這裡插入圖片描述

###############################
3.在selinux開啟的情況下影響其他程式
###############################
關閉seliunx時put上傳檔案可以
開啟selinux後上傳失敗,原因是安全上下文沒有開啟並且只有讀許可權
在這裡插入圖片描述
我們需要開啟上傳開關並且修改安全上下文的許可權

getsebool -a | grep ftp
#檢視ftp服務的安全開關,可見所有都關閉了
在這裡插入圖片描述


setsebool -P ftpd_anon_write on
開啟上傳檔案的開關
在這裡插入圖片描述
但此時上傳還是失敗,原因是寫許可權沒開
在這裡插入圖片描述
chcon -t public_content_rw_t /var/ftp/pub/

ls -Zd /var/ftp/pub/
檢視安全上下文具體內容可見寫許可權已開
在這裡插入圖片描述
連線後上傳檔案報錯550是因為配置檔案沒有設定匿名上傳檔案
anon_upload_enable=YES
重讀後上傳
在這裡插入圖片描述

#####################
4.如何排錯
#####################

selinux的日誌在 /var/log/audit/audit.log
但是這個地方不提供排錯方法
在這裡插入圖片描述

cat /var/log/messages
這裡能提供排錯方法但不考慮安全性
在這裡插入圖片描述
這個軟體是setroubleshoot
解除安裝掉後不會提供建議

記不清可以yum search setrouble
搜尋該軟體

rpm -qa | grep setroubleshoot檢視是否已安裝
在這裡插入圖片描述