ubuntu

Ubuntu vsftp如何配置多站点

小樊
40
2025-07-09 11:26:22
栏目: 智能运维

在Ubuntu上配置vsftpd以支持多站点,可以按照以下步骤进行:

1. 安装vsftpd

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

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

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

sudo nano /etc/vsftpd.conf

在文件中添加或修改以下配置项:

# 启用本地用户登录
local_enable=YES

# 启用写权限
write_enable=YES

# 允许匿名用户上传文件
anon_upload_enable=YES

# 允许匿名用户下载文件
anon_mkdir_write_enable=YES

# 设置本地用户的根目录
local_root=/home/vsftpd/$USER

# 设置匿名用户的根目录
anon_root=/var/ftp

# 启用虚拟用户(可选)
guest_enable=YES
guest_username=vsftpd

# 设置虚拟用户的根目录
virtual_use_local_privs=YES
local_root=/home/vsftpd/$USER

# 设置虚拟用户的家目录
chroot_local_user=YES
allow_writeable_chroot=YES

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

3. 配置虚拟用户(可选)

如果你希望使用虚拟用户而不是本地用户,可以按照以下步骤进行配置:

创建虚拟用户数据库文件

sudo touch /etc/vsftpd/virtual_users.txt
sudo chmod 666 /etc/vsftpd/virtual_users.txt

添加虚拟用户

sudo nano /etc/vsftpd/virtual_users.txt

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

user1
password1
user2
password2

创建虚拟用户映射文件

sudo touch /etc/pam.d/vsftpd.virtual
sudo chmod 644 /etc/pam.d/vsftpd.virtual

编辑 /etc/pam.d/vsftpd.virtual 文件:

sudo nano /etc/pam.d/vsftpd.virtual

添加以下内容:

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

创建虚拟用户数据库

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

修改vsftpd配置文件

编辑 /etc/vsftpd.conf 文件,添加以下内容:

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

# 设置虚拟用户的根目录
virtual_use_local_privs=YES
local_root=/home/vsftpd/$USER

# 设置虚拟用户的家目录
chroot_local_user=YES
allow_writeable_chroot=YES

# 启用PAM认证
pam_service_name=vsftpd.virtual

4. 重启vsftpd服务

保存并关闭所有配置文件后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

5. 配置防火墙

确保防火墙允许FTP流量。如果你使用的是UFW,可以运行以下命令:

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

6. 测试FTP连接

使用FTP客户端连接到服务器,测试是否可以正常访问和上传下载文件。

通过以上步骤,你应该能够在Ubuntu上成功配置vsftpd以支持多站点。

0
看了该问题的人还看了