Ubuntu FTP服务器如何实现用户认证

1073
2025/4/8 9:33:09
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上实现FTP服务器的用户认证,通常使用vsftpd(Very Secure FTP Daemon)这个流行的FTP服务器软件。以下是详细的步骤来设置和配置vsftpd以实现用户认证:

1. 安装vsftpd

首先,确保你的系统是最新的,然后安装vsftpd:

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

安装完成后,你需要编辑vsftpd的配置文件 /etc/vsftpd.conf

sudo nano /etc/vsftpd.conf

在配置文件中,你可以根据需要进行以下设置:

  • 允许本地用户登录

    local_enable=YES
    
  • 允许写操作(如果你需要用户能够上传文件):

    write_enable=YES
    
  • 使用本地用户数据库进行认证

    local_enable=YES
    local_umask=022
    chroot_local_user=YES
    allow_writeable_chroot=YES
    
  • 启用被动模式(如果需要通过防火墙):

    pasv_enable=YES
    pasv_min_port=1024
    pasv_max_port=1048
    
  • 禁用匿名访问

    anonymous_enable=NO
    
  • 使用PAM进行用户认证

    pam_service_name=vsftpd
    

3. 配置PAM

为了使用PAM进行用户认证,你需要编辑PAM配置文件 /etc/pam.d/vsftpd

sudo nano /etc/pam.d/vsftpd

确保文件包含以下内容:

auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.user_list onerr=succeed
auth required pam_shells.so
account required pam_nologin.so
account required pam_access.so

4. 创建用户列表

你可以创建一个用户列表文件 /etc/vsftpd.user_list 来指定哪些用户可以访问FTP服务器。

sudo nano /etc/vsftpd.user_list

在文件中添加允许访问FTP服务器的用户名,每行一个用户名。

5. 重启vsftpd服务

完成配置后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

6. 配置防火墙

如果你有防火墙(如ufw),确保允许FTP流量:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 1024:1048/tcp

7. 测试FTP连接

使用FTP客户端(如FileZilla)测试连接。输入你的Ubuntu服务器的IP地址,用户名和密码,确保能够成功登录并进行文件传输。

通过以上步骤,你应该能够在Ubuntu上成功设置和配置vsftpd以实现用户认证。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在Ubuntu上安装MySQL数据库