温馨提示×

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

小樊
48
2025-10-07 14:51:39
栏目: 云计算

在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

确保以下配置项被正确设置:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

3. 创建用户和目录

为每个FTP站点创建一个用户,并为每个用户分配一个主目录:

sudo adduser user1
sudo adduser user2

为每个用户设置密码:

sudo passwd user1
sudo passwd user2

创建每个用户的FTP目录,并设置适当的权限:

sudo mkdir -p /home/user1/ftp
sudo mkdir -p /home/user2/ftp
sudo chown user1:user1 /home/user1/ftp
sudo chown user2:user2 /home/user2/ftp
sudo chmod 755 /home/user1/ftp
sudo chmod 755 /home/user2/ftp

4. 配置虚拟主机

创建一个虚拟主机配置文件,例如 /etc/vsftpd/virtual_users.conf

sudo nano /etc/vsftpd/virtual_users.conf

添加以下内容:

[user1]
password=your_password_for_user1
home=/home/user1/ftp

[user2]
password=your_password_for_user2
home=/home/user2/ftp

5. 创建虚拟用户数据库

使用 db_load 工具创建虚拟用户数据库:

sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.conf /etc/vsftpd/virtual_users.db

设置数据库文件的权限:

sudo chmod 600 /etc/vsftpd/virtual_users.db

6. 配置PAM

编辑PAM配置文件 /etc/pam.d/vsftpd

sudo nano /etc/pam.d/vsftpd

添加以下行:

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

7. 重启vsftpd服务

重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

8. 测试FTP连接

使用FTP客户端连接到服务器,并尝试登录到不同的用户账户,以确保配置正确。

ftp your_server_ip

输入用户名和密码进行测试。

通过以上步骤,你应该能够在Linux系统上使用vsftpd配置多个FTP站点。每个站点都有自己的用户和主目录,并且可以通过不同的用户名和密码进行访问。

0