这是一台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、代理PC的oracle家目录,肯定是有读写权限的,因为是代理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
好啦,这样就顺利解决问题了,希望对一些朋友有所帮助
selinux导致ftp上传失败 工作中的真实案例
2019-12-11 16:17Linux教程网 Linux
这是一台squid代理服务器(一台式机,安装的是redhat 5.4 64位操作系统),每天下午4点一台服务器通过ftp上传主机数据库巡检报告到这台代理PC机的一个用户家目录下的xunjian目录下,这台PC再通过发送邮件的方式将巡检报告发给组内成员
延伸 · 阅读
- 2022-03-08CentOS 6.5平台实现快速部署FTP的方法
- 2022-03-08CentOS 6.5 环境实现本地局域网搭建YUM的方法【基于
- 2022-03-07android传送照片到FTP服务器的实现代码
- 2022-03-04SpringBoot项目集成FTP的方法步骤
- 2022-03-02linux中ftp服务器搭建需要注意的地方
- 2022-02-22C#基于FTP协议的简易软件自动升级程序
- Linux
linux中cd命令使用详解
这篇文章主要介绍了linux中cd命令使用详解,总结的十分全面,这里推荐给小伙伴们。 ...
- Linux
Linux下apache如何限制并发连接和下载速度
在Linux下限值Apache的并发连接数和下载速度需要用到一款Apache的扩展模块mod_limitipconn,下面我们就来讨论mod_limitipconn的安装使用方法...
- Linux
深入理解Linux修改hostname(推荐)
这篇文章主要介绍了深入理解Linux修改hostname(推荐),具有一定的参考价值,有兴趣的可以了解一下。...
- Linux
全面讲解在Linux系统中安装和配置HAProxy的过程
这篇文章主要介绍了在Linux系统中安装和配置HAProxy的过程,HAProxy可以提供负载均衡以及基于TCP和HTTP应用的代理,十分强大,需要的朋友可以参考下...
- Linux
Linux下partprobe命令的使用详解
这篇文章主要介绍了Linux下partprobe命令的使用详解,partprobe命令主要用于处理硬盘分区的相关操作,需要的朋友可以参考下...
- Linux
Linux下检测DVD刻录机的设备名及写入速度的几种方法
如何知道自己电脑的DVD刻录机的名字及写入速度呢?下面与大家分享Linux下检测DVD刻录机的名字及写入速度的方法,想知道的朋友可以看看 ...
- Linux
Linux下如何实现shell多线程编程以提高应用程序的响应
Linux中多线程编程拥有提高应用程序的响应、使多cpu系统更加有效等优点,下面为大家介绍有关shell多线程编程的例 ...
- Linux
linux中快速清空文件内容的几种方法
这篇文章主要介绍了linux中快速清空文件内容的几种方法,需要的朋友可以参考下 ...