selinux导致ftp上传失败案例_Linux服务器维护_龙虎鹰师网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

selinux导致ftp上传失败案例

作者:龙虎鹰师网安linux教程网 来源:龙虎鹰师网安linux教程网 浏览次数:0

本篇关键词:LinuxLinux教程Linux维护
龙虎鹰师网安网讯:这是一台squid代理服务器(一台式机,安装的是redhat 5.4 64位操作系统),每天下午4点一台服务器通过ftp上传主机数据库巡检报告到这台代理PC机的一个用户家目录下的xunjian目录下,这台PC再通过发送邮件的方式将巡检
这是一台squid代理服务器(一台式机安装的是redhat 5.4 64位操作系统)每天下午4点一台服务器通过ftp上传主机数据库巡检报告到这台代理PC机的一个用户家目录下的xunjian目录下,这台PC再通过发送邮件的方式将巡检报告发给组内成员,进行巡检

       此为背景,之前的selinux设置的为Permissive,不料同事中午睡觉的时候,脚这么一碰,将这台代理PC重启了,重启后,连续2天的巡检报告都没有通过邮件收到,赶紧解决吧

     1、手动的执行ftp上传动作,报如下错误:553 Could not create file.

 sshuser@station90.example.com:~/xunjian/0108> ftp 192.168.1.123

Connected to 192.168.1.123.

220 (vsFTPd 2.0.5)

Name (192.168.1.123:oracle): oracle

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>binary

200 Switching to Binary mode.

ftp> put xunjian_0108.zip

local: xunjian_0108.zip remote: xunjian_0108.zip

229 Entering Extended Passive Mode (|||10717|)

553 Could not create file.

     2、代理PCoracle家目录,肯定是有读写权限的,因为是代理PC重启导致的,突然想到selinux若开启的话,是不允许用户的家目录进行ftp的,需要将ftp_home_dir这个sebool打开,如下所示:

[root@squid ~]# getenforce

Enforcing

[root@squid ~]# getsebool -a  | grep ftp_home_dir

ftp_home_dir --> off

[root@squid ~]# setsebool ftp_home_dir on

     3、这时候去上传,就可以成功了,如下所示

sshuser@station90.example.com:~/xunjian/0108> ftp 192.168.1.123

Connected to 192.168.1.123.

220 (vsFTPd 2.0.5)

Name (192.168.1.123:oracle): oracle

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> bi

200 Switching to Binary mode.

ftp> put xunjian_0108.zip

local: xunjian_0108.zip remote: xunjian_0108.zip

229 Entering Extended Passive Mode (|||19974|)

150 Ok to send data.

100% |***********************************************************************|   577 KB    2.31 MB/s    00:00 ETA

226 File receive OK.

591290 bytes sent in 00:00 (2.18 MB/s)

    4、另外一种方式,就是将selinux设置为Permissive

[root@squid ~]# getenforce

Enforcing

[root@squid ~]# setenforce  0

[root@squid ~]# getenforce

Permissive

    5、同时在/etc/rc.local中添加这么一行,那么下次系统重启后,就不会发生这样的情况了

[root@squid ~]# which setenforce

/usr/sbin/setenforce

[root@squid ~]# cat /etc/rc.local | tail -n 1

/usr/sbin/setenforce 0

  好啦,这样就顺利解决问题了,希望对一些朋友有所帮助

    龙虎鹰师网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-19618-1.html
网站维护教程更新时间:2013-01-14 22:16:08  【打印此页】  【关闭
全站连接N点 | 龙虎鹰师网安 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。龙虎鹰师网安服务器维护基地招商进行中!请致电24小时热线: 13910257075 王先生
  开户名:王俊鹏 开户行:招商银行清华园支行:9555500101708872 建设银行清华园分行 6227000014970239251 

footer  footer  互联网安全  footer