第一步:查看正常文件的权限#ls -Z filename
第二步:查看我们认为有问题的文件(无权限运行)#ls -Z filename
第三步:复制权限#chcon --reference=标准权限文件 需要修改的文件
标签: selinux
修改SSH默认远程端口为21号端口
在防火墙配置的规则下默认只开放了21端口,需要远程通过ssh管理服务器,经过测试可以设置,具体步骤如下。
一、修改sshd服务默认监听端口
#vim /etc/ssh/sshd_config
找到#port 22去掉注释修改为port 21
二、修改iptables防火墙过滤规则
1.将22端口修改为21端口号
#vim /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
端口修改为
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
2.重启iptables服务,重新加载配置生效
#service iptables restart
三、修改SElinux规则
1.安装 semanage selinux规则管理软件
#yum -y install policycoreutils-python
2.查看现有的端口情况
#semanage port -l|grep -w ’21’(精确匹配21端口使用情况)
3.把21端口添加到ssh服务端口组(可以先停止SElinux:setseforce 0)
#semanage port -a -t ssh_port_t -p tcp 21
此时再用(2)的方法查看21端口使用情况,同时存在ssh和ftp服务端口里。
四、测试
重启服务器并测试通过putty等软件ssh链接服务器21端口是否成功
#reboot
以上设置完成之后,默认的FTP服务21端口可以继续使用,ssh服务也可以使用21端口连接。
Mysql数据库服务器连接失败的问题处理
一、数据库连接失败的情况
- 数据库服务没有正常运行或者服务器已经卡死;
- 账号没有权限或者配置文件绑定了连接IP地址;
- 服务器防火墙iptables没有开放端口;
- 服务器防火墙selinux没有开放httpd服务连接数据库权限。
二、查找解决数据库服务失败的原因
说明:以下解决方法在linux中处理,windows中查找方法类似
- 登录服务器查看服务器是否有报错信息以及内存用量是否已经用完
#free –m
- 通过以下命令检查现有开机启动的项目
检查Mysqld服务开机启动是否正常,如果在中途有重启过服务器,并且没有设置mysqld为开机服务器自启动,可能导致连接数据库失败。
#chkconfig –list |grep mysqld
- 检查现有运行服务中是否有mysqld
#pstree
- 查看配置文件是否指定或者绑定了访问的IP地址
在社区版本5.1版本之后,配置文件中一般不会默认存在绑定IP地址的配置,之前在ubuntu的mysql配置文件中有存在过类似语句。如果有可以删除或者注释该语句。
- 防火墙iptables状态检查
#service iptables status
- 检查selinux运行状态
# sestatus –v
- 检查selinux中httpd服务权限
#getsebool -a | grep httpd
其中有一项 httpd_can_network_connect_db –> off 为关闭状态,现在我们将其开起来,完成之后在selinux上允许链接数据库:
#/usr/sbin/setsebool -P httpd_can_network_connect_db on
- 终极大招:重启服务器
以上完成之后,一般情况如果还是不行,将数据库服务器重启一下,可以再检查服务器错误日志文件记录的内容,查找是否有其他原因导致服务启动失败。