1 下载安装
地址:http://mirror.centos.org/centos/7/os/x86_64/Packages/vsftpd-3.0.2-27.el7.x86_64.rpm
上传离线包到 /usr
目录下,安装vsftpd服务
1 2 3
| cd /usr
rpm -ivh vsftpd-3.0.2-27.el7.x86_64.rpm
|
2 全局配置
去掉配置文件里的注释行
1 2 3
| mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
grep -v "#" /etc/vsftpd/vsftpd.conf.bak > /etc/vsftpd/vsftpd.conf
|
配置firewalld防火墙开放2231和45000-49000端口
1 2 3 4 5 6 7 8 9
| systemctl status firewalld
firewall-cmd --list-ports
firewall-cmd --permanent --add-port=2231/tcp
firewall-cmd --permanent --add-port=45000-49000/tcp
firewall-cmd --reload
|
3 配置虚拟用户
创建用于FTP认证的用户数据库文件
1
| vi /etc/vsftpd/vuser.txt
|
注:第一行用户名,第二行密码,依此类推
明文信息不安全,需要使用db_load命令用哈希(hash)算法将明文信息转换成数据文件,然后将明文信息文件删除。
1 2 3 4 5
| db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db
rm -f /etc/vsftpd/vuser.txt
|
创建虚拟用户映射的系统本地用户和FTP根目录
1 2 3 4 5
| useradd -d /home/ftpuser -s /sbin/nologin ftpuser
chmod -Rf 755 /home/ftpuser/
|
shells更新
新增
建立用于支持虚拟用户的PAM文件
新建一个用于虚拟用户认证的PAM文件vsftpd.vu,其中PAM文件内的“db=”参数为使用db_load命令生成的账户密码数据文件的路径,但不用写数据文件的后缀。
内容
1 2
| auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser
|
设置权限
1 2 3
| mkdir /etc/vsftpd/vusers_dir
vi /etc/vsftpd/vusers_dir/ftpuser
|
内容
1 2 3
| anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
|
4 修改配置文件
1
| vi /etc/vsftpd/vsftpd.conf
|
内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| anonymous_enable=NO
anon_umask=022 local_enable=YES
guest_enable=YES
guest_username=ftpuser
allow_writeable_chroot=YES write_enable=YES local_umask=022
local_root=/home/ftpuser dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen_port=2231 listen=NO listen_ipv6=YES
pam_service_name=vsftpd.vu userlist_enable=YES tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_dir pasv_min_port=45000 pasv_max_port=49000
|
5 vsftpd常用命令
1 2 3 4 5 6 7 8
| chkconfig vsftpd on
service vsftpd start
service vsftpd restart
service vsftpd status
|