【1】 SELinux開機的三種狀態
配置文件 /etc/sysconfig/seLinux
SELINUX = Enforcing (默認)
Disabled : 停用SELinux功能
Permissive : 僅顯示警告信息,不阻止
Enforcing : 強制執行SELinux功能,產生警告信息
SELINUXTYPE=targeted
strict : 完整的保護功能,包含網絡服務,一般指令及應用程序
targeted : 保護網絡相關服務
dhcpd
httpd
mysqld
named
nscd
ntpd
portmap
postgres
snmpd
squid
syslogd
【2】 查看SELinux 狀態
sestatus
或
getenforce 查看SELinux 狀態
【3】 重啟啟動SELinux
調用 /sbin/setfiles 為所有文件打標記
ls -Z 查看文件
ps -Z 查看進程
id -Z 查看當前用戶
【4】設置SELinux狀態 而不重啟系統
setenforce [ Enforcing | Permissive | 1 | 0 ]
【5】 圖形化管理頁面
system-config-selinux
【6】SELinux 使用思路 在SELinux開啟的情況下,配置vsftpd服務
1】 設置SELinux 允許模式
setenforce Permissive
2】 安裝啟動vsftpd 服務
yum install vsftpd -y
service vsftpd start
3】 測試
匿名登錄並下載
使用本地用戶登錄,並下載,上傳
4】設置SELinux 強制模式
setenforce Enforcing
5】再次測試相關功能
匿名用戶登錄並下載 仍然可以
使用本地用戶登錄,並下載,上傳 --- 被拒絕
【6】配置SELinux,放行需要的功能
1】方法一 看日志
a 文本方式
正常情況下 日志會在服務器的 /var/log/messages 文件中存在
還會在 /var/log/audit/audit.log 存在
b 圖形方式
正常屏幕的右上角會自動彈出一個黃色的五角星 (selinux troubleshooter)
若未看到 保證 /etc/syslog.conf 正常 啟動service syslog restart
同時啟動如下服務:
[[email protected] ~]# setroubleshootd
c 查看日志
tail /var/log/messages
sealert -l xxxxxxxxxxxxxxxxxxxx
sealert -a /var/log/audit/audit.log
d 日志中提示說
setsebool -P ftp_home_dir=1
測試,系統帳號登錄ftp登錄成功
2】方法二 看man手冊
man -k ftp | grep selinux
man 8 ftp_selinux