Author:think
Date:2021-11-17
安装vsftpd
yum install -y vsftpd
启动服务并且将服务设置成开机自启
systemctl start vsftpd
systemctl enable vsftpd
配置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服务器
-
配置连接参数
-
连接成功之后默认是没有任何文件的
-
上传文件进行测试
显示能够上传成功
-
删除文件测试成功之后即可代表FTP服务器安装配置成功。