本文曾在haopython公众号上发布过,本次做简单修改,并补充FTP主动模式下的配置方法以及浏览器的设置技巧,启用FTP文件夹视图等方法。
1.安装vsftpd并启动
1)安装vsftpd
- [root@localhost ~]# yum install -y vsftpd
2)设置开机自动启动FTP服务
- [root@localhost ~]# systemctl enable vsftpd.service
- Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
3)启动FTP服务并查看FTP服务端口
- [root@localhost ~]# systemctl start vsftpd
- [root@localhost ~]# netstat -antup | grep ftp
- tcp6 0 0 :::21 :::* LISTEN 3246/vsftpd
- [root@localhost ~]#
2.配置vsftpd
1)创建用户并设置密码
- [root@localhost ~]# useradd ftpadmin
- [root@localhost ~]# passwd ftpadmin
- 更改用户 ftpadmin 的密码 。
- 新的 密码:111111
- 无效的密码: 密码是一个回文
- 重新输入新的 密码:111111
- passwd:所有的身份验证令牌已经成功更新。
- [root@localhost ~]#
2)创建FTP使用的文件目录
- [root@localhost ~]# mkdir /var/ftp/work01
3)将work01文件夹所有者改为用于登录FTP的本地帐户
- [root@localhost ~]# chown -R ftpadmin:ftpadmin /var/ftp/work01
- [root@localhost ~]#
4)修改vsftpd.conf文件
在/etc/vsftpd/vsftpd.conf中进行修改
这里需要说明,FTP工作模式分主动模式和被动模式,两种方式配置如下:
【主动模式】
#############################
- anonymous_enable=NO #禁止匿名用户登录FTP服务器
- local_enable=YES #允许本地用户登录FTP服务器
- local_root=/var/ftp/work01 #FTP本地用户的文件目录
- #下面参数,限制用户只能访问自身的主目录
- chroot_local_user=YES #所有用户都被限制在其主目录
- chroot_list_enable=YES #启用例外用户名单
- chroot_list_file=/etc/vsftpd/chroot_list #例外用户名单,需新建一个chroot_list文件
- allow_writeable_chroot=YES
#############################
【被动模式】
被动模式除了需要配置主动模式所需的所有参数外,还需要配置的参数如下:
- listen=YES
- listen_ipv6=NO
- pasv_address=123.183.158.191 #FTP服务器的公网IP地址
- pasv_min_port=3000 #被动模式下的最小端口
- pasv_max_port=3200 #被动模式下的最大端口
配置完成后重启vsftpd服务生效。
3开启防火墙
- [root@localhost vsftpd]# firewall-cmd --permanent --add-service=ftp
- success
- [root@localhost vsftpd]# firewall-cmd --reload
- success
- [root@localhost vsftpd]#
4.测试
- ftp://123.183.158.191
【注意点】
在测试时,FTP服务器配置为主动模式时,客户端访问FTP站点时,需进行IE浏览器设置,才能打开FTP文件夹。
工具->Internet选项->高级,勾选“启用FTP文件夹视图”,取消勾选“使用被动FTP”。