Ubuntu 下 vsftpd 用户管理实操指南
一 基础准备与启停
sudo apt update && sudo apt install vsftpd -ysudo systemctl start vsftpd && sudo systemctl enable vsftpdanonymous_enable=NOlocal_enable=YESwrite_enable=YESsudo systemctl restart vsftpdsudo systemctl status vsftpdsudo tail -f /var/log/vsftpd.log
以上步骤为后续用户管理的前置条件与通用运维动作。二 系统用户管理
sudo adduser ftpuser1(设置密码与家目录)sudo useradd -m ftpuser2 -s /bin/bash && sudo passwd ftpuser2sudo usermod -s /sbin/nologin ftpuser1sudo chown -R ftpuser1:ftpuser1 /home/ftpuser1sudo chmod 755 /home/ftpuser1(用户读写执行,组与其他只读执行)/etc/vsftpd.conf 确保:local_enable=YES,如需上传再开 write_enable=YES三 虚拟用户管理(隔离、可扩展)
sudo nano /etc/vsftpd/virtual_users.txt
ftpvirt1:password123sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.dbsudo chmod 600 /etc/vsftpd/virtual_users.dbsudo useradd -m ftpvirt_common -s /sbin/nologinsudo mkdir -p /var/ftp && sudo chown ftpvirt_common:ftpvirt_common /var/ftpguest_enable=YESguest_username=ftpvirt_commonvirtual_use_local_privs=YESuser_sub_token=$USER 与 local_root=/var/ftp/$USERchroot_local_user=YES、allow_writeable_chroot=YES四 访问控制与目录隔离
userlist_enable=YESuserlist_file=/etc/vsftpd.user_listuserlist_deny=NO(仅列表内可登录);黑名单模式:userlist_deny=YESchroot_local_user=YES(所有本地用户被限制在其家目录)
allow_writeable_chroot=YESchroot_local_user=NO 且 chroot_list_enable=YES、chroot_list_file=/etc/vsftpd.chroot_list
chroot_list 中列出的用户将被 chrootallow_writeable_chroot五 安全与网络配置
ssl_enable=YES,并配置证书与强制本地登录/数据传输使用 SSL;或直接使用 SFTP(基于 SSH,系统自带)sudo ufw allow 21/tcpsudo ufw allow 40000:50000/tcpsudo ufw allow 990/tcpftp 测试登录、上传/下载与目录隔离是否生效