红联Linux门户
Linux帮助

Linux教程:SELinux的基本配置和使用思路

发布时间:2014-11-17 16:03:31来源:linux网站作者:kakane

【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

同时启动如下服务:

[root@www.linuxidc.com ~]# 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