版本的,每次使用都會遇到一些那些不知道的問題。記錄下來過程,學習中遇到的一些坑。
* 系統版本:CentOS Linux release 7.3.1611 (Core)
* 系統內核:3.10.0-514.el7.x86_64
#獲取selinux狀態信息
[root@17-Cobbler ~]# getenforce
Enforcing
#臨時關閉selinux,跟原來的版本一樣的
[root@17-Cobbler ~]# setenforce 0
[root@17-Cobbler ~]# getenforce
Permissive
#問題就是在修改配置文件
#按照CentOS 6修改配置文件的位置:/etc/sysconfig/selinux
[root@17-Cobbler ~]# sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/sysconfig/selinux
#一直以爲這樣就是可以了,沒有檢查。直到搭建服務Cobbler、zabbix老是出錯問題,查日誌才發現原來selinux沒有
關閉,懵逼了。修改/etc/sysconfig/selinux沒有生效,然後百度查詢發現有這樣一個命令sestatus。
[root@17-Cobbler conf.d]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
#測試將原來的修改/etc/sysconfig/selinux,selinux狀態改成enforcing
#然後將/etc/selinux/config,selinux狀態修改成disabled
[root@17-Cobbler ~]# sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
#重啓
[root@17-Cobbler ~]# reboot
#再次獲取狀態,已經關閉了
[root@17-Cobbler ~]# getenforce
Disabled
#確認已經關閉了
[root@17-Cobbler ~]# sestatus
SELinux status: disabled
/etc/sysconfig/selinux和/etc/selinux/config配置文件的聯繫及區別
1.一開始/etc/sysconfig/selinux是/etc/selinux/config的軟鏈接關係
2.由於腳本使用sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
對/etc/sysconfig/selinux文件進行修改,導致兩者軟連接關係破裂,變爲一個普通文件,並不再被系統作爲selinux的配置文件
3.關閉selinux,直接修改/etc/selinux/config配置文件,並重啓,即可生效