文章目录
文件服务(FTP)-Linux版
前言
`前段时间公司接了一个微服务项目,结果公司没有相关部署人员,
老板一画饼,我脑子就一热,这活就被我给拦下来了,
生产环境9台Linux服务器,预生产环境4台Linux服务器,测试环境1台Linux服务器`
有很多博客以及很多的教程都有介绍如何部署VSFTP
按照教程在部署FTP的时候,还是遇到很多问题,教程中未提及
都不完整,生产无法使用
因此出现了我写的这篇博客,生产环境真正可以使用的
查看服务器是否已安装FTP
rpm -qa|grep vsftpd
若已安装,查看一下是否已启动vsftp
ps -ef | grep vsftp
或者
ps -aux | grep vsftp
若可以查到进程,说明已启动
启动vsftp(若已启动跳过此步骤)
启动vsftpd: service vsftpd start
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
若已安装,建议查看一下本地vsftp的版本
vsftpd -v
或者
rpm -qa | grep vsftpd
查看一下 yum里面vsftp的版本,若本地的不是最新的,建议卸载重装
yum list | grep vsftp
卸载vsftp
方式一:rpm -e vsftpd
这里的vsftpd是rpm -qa | grep vsftpd
查出来的版本
方式二:yum remove vsftpd
二选一
安装vsftp
yum -y install vsftpd
注意:yum安装vsftpd的默认配置文件在/etc/vsftpd/vsftpd.conf
创建FTP的文件存储路径
`推荐在home下面,正常linux的home目录是空间最大的
进到home目录,创建文件夹ftp_test`
cd /home
mkdir /ftp_test
添加用户没有登录机器的权限,只有上传和下载home/ftp_test有权限
useradd ftp_test -d /home/ftp_test -s /sbin/nologin
把home/ftp_test赋给用户ftp_test
chown -R ftp_test.ftp_test /home/ftp_test
可以通过: ll 查看变更后的文件夹所属用户组
这里的用户可以根据自己的实际情况设置
查找vsftp配置文件路径
whereis vsftpd
进入:vsftp配置文件路径创建chroot_list文件
touch chroot_list
也可以用可视化工具创建
修改配置vsftpd.conf
可以参考下面的代码配置,已有的参数参照下面的修改,没有的加上即可
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ftpd_banner=Successful login to ftp_test.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
#listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_root=/home/ftp_test
anon_root=/home/ftp_test
# use_localtime=YES
pasv_min_port=61001
pasv_max_port=62000
pasv_enable=YES
在chroot_list文件中添加前面创建的ftp_test用户
解决【500 OOPS的问题】
配置完成后修改/etc/pam.d的文件夹下的vsftpd文件:注释pam_shells.so这一行
解决用ftp客户端工具连接提示530的问题
sestatus -b |grep ftp
需要将上面圈起来的两个配置设置成 on
setsebool -P ftpd_full_access 1
setsebool -P tftp_home_dir 1
如果上面执行sestatus -b |grep ftp查询不到内容没关系,直接执行上面的命令将ftpd_full_access和tftp_home_dir设置成on
若匿名账户无法创建文件文件或者文件目录
将/etc/selinux/config文件的SELINUX的值修改为SELINUX=disabled
重启ftp
service vsftpd restart
查看ftp运行状态
systemctl status vsftpd
客户端工具连接
上传和下载文件试验一下,至此,vsftp安装成功!
分享一句我特别喜欢的话:每一天都是一个新的日子,走运当然是好的,不过我情愿做到分毫不差。这样,运气来的时候,你就有准备了。 ————海明威《老人与海》