1. 安装
sudo yum -y install vsftpd
2. 防火墙设置
sudo firewall-cmd --permanent --zone=public --add-service=ftp
sudo firewall-cmd --reload
3. 登录配置
3. 1 匿名登录
匿名登录:用户登录到时不需要用户名和密码,可直接进入FTP服务器;
默认的用户为ftp用户,密码为空;
默认可以访问服务器的 /var/ftp目录。
在/var/ftp 目录下有一个pub文件夹,若想上传文件到该目录下,则需要修改pub目录的所属组用户信息和目录的权限信息;
若要上传目录到当前根目录(即:/var/ftp)下,则需修改ftp目录的组用户信息和权限信息;这里以pub目录为例:
修改目录的所属组用户信息:sudo chown -R ftp:ftp /var/ftp/pub
修改目录的权限信息:sudo chmod -R 777 /var/ftp/pub
至此,匿名登录配置完成,可以通过,可以通过如下方式进行ftp服务器的启动,关闭和重启服务。
启动: sudo systemctl start vsftpd.service
关闭: sudo systemctl stop vsftpd.service
重启: sudo systemctl restart vsftpd.service
设置开机自启动: sudo systemctl enable vsftpd.service
3.2 本地用户登录
本地用户登录:使用ftp服务器中已经添加的用户进行登录
修改 /etc/vsftpd/vsftpd.conf文件如下:
anonymous_enable=NO #禁止匿名访问
#使ftp用户始终在项目部署的根目录范围内,禁止访问系统其它文件
chroot_local_user=YES #打开注释
chroot_list_enable=YES #打开注释
chroot_list_file=/etc/vsftpd/chroot_list #打开注释
allow_writeable_chroot=YES #添加
如果/etc/vsftpd/chroot_list文件不存在,则需要创建该文件/etc/vsftpd/chroot_list, 并在其中加入ftp服务器的主机里已经存在的用户, 如testftp
sudo touch /etc/vsftpd/chroot_list
sudo echo "testftp" >> /etc/vsftpd/chroot_list
启动: sudo systemctl start vsftpd.service
关闭: sudo systemctl stop vsftpd.service
重启: sudo systemctl restart vsftpd.service
设置开机自启动: sudo systemctl enable vsftpd.service
然后就可以访问ftp服务器了,输入证明的用户名和密码即可。