vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。
本文介绍了在ubuntu 20.04下安装vsftpd、配置虚拟用户登录FTP的过程。
一、安装VSFTPD及其需要的工具
apt-get install vsftpd db5.3 db5.3-util
设置VSFTPD开机启动
systemctl enable vsftpd.service
二、配置VSFTPD
1、打开/etc/vsftpd.conf,做如下配置
vi /etc/vsftpd.conf
######################################################################
#设定不允许匿名访问
anonymous_enable=NO
#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
local_enable=YES
#设定支持ASCII模式的上传和下载功能
ascii_upload_enable=YES
ascii_download_enable=YES
#使用户不能离开主目录
chroot_list_enable=YES
#允许登录的FTP用户
chroot_list_file=/etc/vsftpd/chroot_list
#PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
pam_service_name=vsftpd
######################################################################
2、以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
mkdir /etc/vsftpd
######################################################################
#设定启用虚拟用户功能
guest_enable=YES
#指定虚拟用户的宿主用户,Ubuntu中已经有内置的ftp用户了
guest_username=ftp
#设定虚拟用户个人vsftp的Ubuntu FTP服务文件存放路径。存放虚拟用户个性的Ubuntu FTP服务文件(配置文件名=虚拟用户名
user_config_dir=/etc/vsftpd/vuser_conf
#开启PASV模式
pasv_enable=YES
#最小端口号
pasv_min_port=40000
#最大端口号
pasv_max_port=40080
pasv_promiscuous=YES
allow_writeable_chroot=YES
######################################################################
3、然后,创建相关的文件夹和文件,
mkdir -p /etc/vsftpd/vuser_conf
touch /etc/vsftpd/chroot_list
vi /etc/vsftpd/chroot_list
ftp
test
创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
vi /etc/vsftpd/vuser_passwd.txt
test
123456
4、接着,生成虚拟用户认证的db文件
db5.3_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
5、随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
vi /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
6、最后,创建虚拟用户配置文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/test
文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
########################################################################
local_root=/data/www
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
########################################################################
设置FTP根目录权限
mkdir -p /data/www
chmod -R 755 /data/www
chown -R ftp /data/www
设置防火墙
sudo ufw allow 21
现在可以使用flashfxp连接你的FTP服务器了~