Ubuntu下vsftpd多用户设置步骤
首先更新系统包列表并安装vsftpd:
sudo apt update
sudo apt install vsftpd
编辑vsftpd主配置文件/etc/vsftpd.conf,按需修改以下关键参数:
local_enable=YESwrite_enable=YESchroot_local_user=YESallow_writeable_chroot=YESpasv_enable=YES pasv_min_port=1024 pasv_max_port=1048anonymous_enable=NOmax_clients=100(全局最大连接数)local_max_rate=50000(单位:字节/秒,限制单用户下载/上传速度)注:若需通过用户列表控制访问(白名单模式),需额外添加:
userlist_enable=YESuserlist_file=/etc/vsftpd.user_listuserlist_deny=NO(允许列表内用户登录)。
sudo adduser ftpuser1 # 按提示设置密码及用户信息
/sbin/nologin,防止通过SSH登录服务器:sudo usermod -s /sbin/nologin ftpuser1
sudo chown -R ftpuser1:ftpuser1 /home/ftpuser1 # 归属用户及组
sudo chmod -R 755 /home/ftpuser1 # 目录权限(所有者可读写执行,其他用户可读执行)
若服务器启用了UFW防火墙,需开放FTP相关端口:
sudo ufw allow 21/tcp # FTP默认控制端口
sudo ufw allow 1024:1048/tcp # 被动模式数据端口范围
sudo ufw enable # 启用防火墙
应用所有配置变更:
sudo systemctl restart vsftpd
使用FTP客户端(如FileZilla)连接服务器:
若需加密FTP传输(避免数据明文泄露),可按以下步骤配置:
sudo apt install vsftpd-ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
/etc/vsftpd.conf中添加:ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
sudo systemctl restart vsftpd
通过以上步骤,即可在Ubuntu上完成vsftpd的多用户设置,支持多个用户独立登录并管理自己的主目录。根据实际需求,可进一步调整并发连接数、速率限制或扩展用户列表控制。