ubuntu

Ubuntu FTP服务器如何设置用户认证

小樊
35
2025-03-31 10:46:18
栏目: 云计算

在Ubuntu上设置FTP服务器并配置用户认证,可以使用多种FTP服务器软件,如vsftpd、ProFTPD或Pure-FTPd等。下面以vsftpd为例,介绍如何设置用户认证。

安装vsftpd

  1. 打开终端并更新包列表:

    sudo apt update
    
  2. 安装vsftpd:

    sudo apt install vsftpd
    

配置vsftpd

  1. 编辑vsftpd配置文件:

    sudo nano /etc/vsftpd.conf
    
  2. 进行以下配置:

    • 启用本地用户登录:

      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
      
  3. 保存并退出编辑器(在nano中按Ctrl+X,然后按Y确认,最后按Enter)。

配置PAM(可选)

如果你选择使用PAM进行用户认证,需要创建或编辑PAM服务文件:

  1. 创建PAM服务文件:

    sudo nano /etc/pam.d/vsftpd
    
  2. 添加以下内容:

    auth required pam_userdb.so db=/etc/vsftpd/user_list
    account required pam_userdb.so db=/etc/vsftpd/user_list
    
  3. 保存并退出编辑器。

创建FTP用户

  1. 创建一个新的系统用户(例如ftpuser):

    sudo adduser ftpuser
    
  2. 设置用户的FTP密码:

    sudo passwd ftpuser
    
  3. 将用户添加到/etc/vsftpd/user_list文件中以启用该用户登录:

    echo "ftpuser" | sudo tee -a /etc/vsftpd/user_list
    

重启vsftpd服务

  1. 重启vsftpd服务以应用更改:
    sudo systemctl restart vsftpd
    

配置防火墙(可选)

如果你使用的是UFW防火墙,需要允许FTP流量:

  1. 允许FTP控制端口(默认21):

    sudo ufw allow 21/tcp
    
  2. 允许被动模式端口范围(例如1024到1048):

    sudo ufw allow 1024:1048/tcp
    
  3. 重新加载防火墙规则:

    sudo ufw reload
    

完成以上步骤后,你应该能够使用新创建的FTP用户通过FTP客户端连接到你的Ubuntu服务器并进行认证。

0
看了该问题的人还看了