在Ubuntu上设置FTP服务器并配置用户认证,可以使用多种FTP服务器软件,如vsftpd、ProFTPD或Pure-FTPd等。下面以vsftpd为例,介绍如何设置用户认证。
打开终端并更新包列表:
sudo apt update
安装vsftpd:
sudo apt install vsftpd
编辑vsftpd配置文件:
sudo nano /etc/vsftpd.conf
进行以下配置:
启用本地用户登录:
local_enable=YES
启用写权限(可选):
write_enable=YES
允许本地用户上传文件(可选):
local_umask=022
启用被动模式(可选,如果需要通过防火墙):
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
启用用户认证:
auth_enable=YES
使用PAM进行用户认证(可选,但推荐):
pam_service_name=vsftpd
保存并退出编辑器(在nano中按Ctrl+X
,然后按Y
确认,最后按Enter
)。
如果你选择使用PAM进行用户认证,需要创建或编辑PAM服务文件:
创建PAM服务文件:
sudo nano /etc/pam.d/vsftpd
添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/user_list
account required pam_userdb.so db=/etc/vsftpd/user_list
保存并退出编辑器。
创建一个新的系统用户(例如ftpuser
):
sudo adduser ftpuser
设置用户的FTP密码:
sudo passwd ftpuser
将用户添加到/etc/vsftpd/user_list
文件中以启用该用户登录:
echo "ftpuser" | sudo tee -a /etc/vsftpd/user_list
sudo systemctl restart vsftpd
如果你使用的是UFW防火墙,需要允许FTP流量:
允许FTP控制端口(默认21):
sudo ufw allow 21/tcp
允许被动模式端口范围(例如1024到1048):
sudo ufw allow 1024:1048/tcp
重新加载防火墙规则:
sudo ufw reload
完成以上步骤后,你应该能够使用新创建的FTP用户通过FTP客户端连接到你的Ubuntu服务器并进行认证。