linux

Linux vsftp虚拟主机配置:如何设置多站点

小樊
43
2025-09-29 03:41:46
栏目: 云计算

在Linux系统上使用vsftpd(Very Secure FTP Daemon)配置虚拟主机以支持多个FTP站点,可以按照以下步骤进行操作。以下是一个基本的指南:

1. 安装vsftpd

首先,确保你的系统上已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install vsftpd

2. 配置vsftpd

编辑vsftpd的主配置文件 /etc/vsftpd.conf

sudo nano /etc/vsftpd.conf

在文件中进行以下配置:

# 启用虚拟用户
guest_enable=YES
guest_username=ftpuser

# 设置虚拟用户的根目录
local_root=/home/ftpuser

# 允许写入权限
write_enable=YES

# 允许本地用户登录
local_enable=YES

# 允许匿名用户登录
anonymous_enable=NO

# 启用被动模式
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50100

# 启用虚拟用户
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

3. 创建虚拟用户数据库

创建一个虚拟用户数据库文件 /etc/vsftpd.userlist 并添加虚拟用户名:

sudo nano /etc/vsftpd.userlist

在文件中添加虚拟用户名,例如:

ftpuser

4. 创建虚拟用户的家目录

为每个虚拟用户创建一个家目录,并设置适当的权限:

sudo mkdir -p /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

5. 配置PAM(可选)

如果你希望使用PAM(Pluggable Authentication Modules)进行用户认证,可以编辑 /etc/pam.d/vsftpd 文件:

sudo nano /etc/pam.d/vsftpd

添加以下行:

auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers

然后创建虚拟用户数据库文件 /etc/vsftpd/virtusers

sudo touch /etc/vsftpd/virtusers
sudo db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

6. 重启vsftpd服务

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

sudo systemctl restart vsftpd

7. 配置防火墙

确保防火墙允许FTP流量通过:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 50000:50100/tcp

8. 测试FTP连接

使用FTP客户端连接到服务器,测试虚拟用户是否可以正常登录和访问文件。

ftp localhost

输入虚拟用户名和密码进行登录。

通过以上步骤,你应该能够在Linux系统上使用vsftpd配置多个FTP站点。每个站点可以有不同的虚拟用户和家目录。

0
看了该问题的人还看了