ubuntu

Ubuntu FTP Server如何管理多个站点

小樊
45
2025-05-22 18:52:05
栏目: 智能运维

在Ubuntu上管理多个FTP站点,您可以使用vsftpd(Very Secure FTP Daemon)软件

  1. 安装vsftpd: 在终端中运行以下命令以安装vsftpd:

    sudo apt update
    sudo apt install vsftpd
    
  2. 配置vsftpd: 使用文本编辑器打开/etc/vsftpd.conf文件:

    sudo nano /etc/vsftpd.conf
    

    在此文件中,您可以配置vsftpd的全局设置。例如,您可以启用或禁用匿名访问,更改默认端口等。

  3. 为每个FTP站点创建一个目录: 为每个FTP站点创建一个单独的目录,例如:

    sudo mkdir /home/ftp/site1
    sudo mkdir /home/ftp/site2
    

    更改目录权限,以便FTP用户可以访问:

    sudo chown ftpuser:ftpuser /home/ftp/site1
    sudo chown ftpuser:ftpuser /home/ftp/site2
    
  4. 创建FTP用户: 创建一个新的FTP用户,用于访问FTP站点:

    sudo adduser ftpuser
    sudo passwd ftpuser
    

    输入并确认新用户的密码。

  5. 配置虚拟用户(可选): 如果您希望使用虚拟用户而不是系统用户,请安装libpam-virtualuser库并创建一个虚拟用户映射文件:

    sudo apt install libpam-virtualuser
    sudo touch /etc/vsftpd/virtusers.txt
    sudo chmod 666 /etc/vsftpd/virtusers.txt
    

    在virtusers.txt文件中,添加虚拟用户名和密码,每行一个:

    ftpuser1
    password1
    ftpuser2
    password2
    
  6. 配置PAM虚拟用户支持: 编辑/etc/pam.d/vsftpd文件:

    sudo nano /etc/pam.d/vsftpd
    

    在文件顶部添加以下行以启用PAM虚拟用户支持:

    auth required pam_virtuser.so
    account required pam_virtuser.so
    
  7. 配置vsftpd虚拟用户映射: 编辑/etc/vsftpd/virtusers.conf文件:

    sudo nano /etc/vsftpd/virtusers.conf
    

    在此文件中,添加以下行以指定虚拟用户映射文件的位置:

    user_sub_token=$USER
    local_root=/home/ftp/$USER
    chroot_local_user=YES
    allow_writeable_chroot=YES
    
  8. 更新PAM配置: 编辑/etc/pam.d/common-session文件:

    sudo nano /etc/pam.d/common-session
    

    在文件底部添加以下行以创建FTP用户的家目录:

    session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
    
  9. 重启vsftpd服务:

    sudo systemctl restart vsftpd
    

现在,您已经成功设置了多个FTP站点。您可以使用FTP客户端连接到服务器,并使用不同的FTP用户登录到各个站点。

0
看了该问题的人还看了