Author:think
Date:2021-11-17
yum install -y vsftpd
systemctl start vsftpd systemctl enable vsftpd
添加用户并设置访问的ftp目录
useradd ftpuser -s /sbin/nologin -d /ftp_data && echo "123456"|passwd ftpuser --stdin
其中新增的用户名为ftpuser,密码为123456,vsftpd的数据目录为/ftp_data
将/ftp_data的所有者修改为ftpuser
chown ftpuser:ftpuser /ftp_data/
备份vsftpd的配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
修改vsftpd.conf
配置文件,禁用匿名用户访问ftp服务器
vim /etc/vsftpd/vsftpd.conf
将配置文件中的
anonymous_enable=YES
修改成anonymous_enable=NO
修改配置文件/etc/pam.d/vsftpd
#备份配置文件 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak #编辑配置文件 vim /etc/pam.d/vsftpd #将auth required pam_shells.so修改为->auth required pam_nologin.so
参考文章:(10条消息) centos7下配置ftp服务器,各种登录异常排查_andy_521521的博客-CSDN博客
重启ftp服务
systemctl restart vsftpd.service
查看并修改selinux中有关ftp的配置
getsebool -a | grep ftp
如下显示:
ftpd_anon_write --> offftpd_connect_all_unreserved --> offftpd_connect_db --> offftpd_full_access --> offftpd_use_cifs --> offftpd_use_fusefs --> offftpd_use_nfs --> offftpd_use_passive_mode --> offhttpd_can_connect_ftp --> offhttpd_enable_ftp_server --> offtftp_anon_write --> offtftp_home_dir --> off
#修改配置setsebool -P ftpd_full_access onsetsebool -P tftp_home_dir on #测试时只配置上面`ftpd_full_access`不用配置`tftp_home_dir`也行
-P参数为永久开启,CentOS 7开始使用
tftp_home_dir
代替ftp_home_dir
参考文章:【Linux/CentOS】Boolean ftp_home_dir is not defined - 霍莉雪特 - 博客园 (cnblogs.com)
配置防火墙
firewall-cmd --permanent --zone=public --add-service=ftp或firewall-cmd --zone=public --add-port=21/tcp --permanent#重置防火墙配置,使得配置立即生效firewall-cmd --reload
配置连接参数
连接成功之后默认是没有任何文件的
上传文件进行测试
显示能够上传成功
删除文件测试成功之后即可代表FTP服务器安装配置成功。