【redhat5.5】SELinux的基本配置和使用思路

来源:互联网 发布:linux分辨率代码 编辑:程序博客网 时间:2024/05/16 08:50
【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 ~]# 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
 
原创粉丝点击