dell物理服务器R620
系统以下:linux
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
2.1 初始化系统时优化服务器安全参数而且修改了ssh登陆服务器端口后 reboot重启服务器 竟然不能ssh远程登陆服务器, 排除服务器iptables或者firewalld防火墙的问题。那是什么问题致使的呢??
主要是服务器系统selinux没有被disabled 或者Permissive 禁用掉,致使重启服务器时,sshd服务启动失败。windows
2.2 那在centos7系列的系统中 如何禁用掉selinux呢?centos
2种方式:安全
第一种是命令行设置setenforce 0 服务器
setenforce 0 这个是临时禁用,重启服务器时就失效了, 并且须要特别注意的是: 在centos7的系统中若是只是简单是命令行setenforce 0 来禁用selinux,并无修改/etc/sysconfig/selinux中的
SELINUX=disabled 话,(sshd服务在centos7系统中默认就是开机自启动)修改了sshd的配置文件,此时服务器reboot重启时,致使sshd服务启动失败,致使不能远程ssh登陆服务器。ssh
第二种就是直接修改/etc/sysconfig/selinux 配置文件中SELINUX=disabled 修改完sshd配置文件参数,而后reboot重启服务器便可ssh远程登陆了。ide
可是任然遇到一个问题,我修改了/etc/sysconfig/selinux 配置文件中SELINUX=disabled reboot重启服务器后,始终不能ssh远程登陆服务器,只能让IDC机房值班的同事经过显示器链接服务器进入系统
setenforce 0 关闭selinux,而后重启sshd就能够了。测试
2.3 排查故障缘由:优化
出于好奇,比对了下其余正常的服务器,发现问题所在了centos7
查看正常的服务器发现:
[root@localhost scripts]# ll /etc/sysconfig/selinux
lrwxrwxrwx. 1 root root 17 Mar 21 04:59 /etc/sysconfig/selinux -> ../selinux/config
在centos7 x86_64位最小化系统中默认 /etc/sysconfig/selinux 这个文件原来是 /etc/selinux/config 这个文件的软链接(至关于windows系统的文件的快捷方式)
修改/etc/sysconfig/selinux 这个文件,同时/etc/selinux/config这个文件也会被修改。 重启服务器时,加载的是/etc/selinux/config 这个文件来关闭selinux
可是我这台物理机是给开发测试用的,他们那边都有服务器权限,不知何时这帮开发把/etc/selinux/config 这个文件的软链接给删掉了,而且cp /etc/selinux/config 到/etc/sysconfig/selinux
而且这2个文件里面的内容都仍是最初的。也就是/etc/selinux/config 这个文件中的SELINUX=Enforcing 然而修改 /etc/sysconfig/selinux 中的SELINUX=disabled 并不会同时修改/etc/selinux/config 内容
由于/etc/selinux/config 这个文件的软链接早已经被开发给删掉了。而且服务器重启只会加载/etc/selinux/config 这个文件
因此修改完sshd服务的配置文件,在重启服务器时,sshd服务启动失败,就不会ssh远程登陆服务器
因而从新建立软链接
ln -s /etc/selinux/config /etc/sysconfig/selinux [root@localhost ~]# ll /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 19 3月 23 14:07 /etc/sysconfig/selinux -> /etc/selinux/config
重启服务器OK了