在Ubuntu上管理多个FTP站点,您可以使用vsftpd(Very Secure FTP Daemon)软件
-
安装vsftpd: 在终端中运行以下命令以安装vsftpd:
sudo apt update sudo apt install vsftpd
-
配置vsftpd: 使用文本编辑器打开/etc/vsftpd.conf文件:
sudo nano /etc/vsftpd.conf
在此文件中,您可以配置vsftpd的全局设置。例如,您可以启用或禁用匿名访问,更改默认端口等。
-
为每个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
-
创建FTP用户: 创建一个新的FTP用户,用于访问FTP站点:
sudo adduser ftpuser sudo passwd ftpuser
输入并确认新用户的密码。
-
配置虚拟用户(可选): 如果您希望使用虚拟用户而不是系统用户,请安装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
-
配置PAM虚拟用户支持: 编辑/etc/pam.d/vsftpd文件:
sudo nano /etc/pam.d/vsftpd
在文件顶部添加以下行以启用PAM虚拟用户支持:
auth required pam_virtuser.so account required pam_virtuser.so
-
配置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
-
更新PAM配置: 编辑/etc/pam.d/common-session文件:
sudo nano /etc/pam.d/common-session
在文件底部添加以下行以创建FTP用户的家目录:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
-
重启vsftpd服务:
sudo systemctl restart vsftpd
现在,您已经成功设置了多个FTP站点。您可以使用FTP客户端连接到服务器,并使用不同的FTP用户登录到各个站点。