温馨提示×

Linux vsftp虚拟用户配置:实现多用户共享

小樊
38
2025-11-24 10:27:21
栏目: 云计算

在Linux系统中,使用vsftpd(Very Secure FTP Daemon)配置虚拟用户可以实现多用户共享FTP服务。以下是详细的配置步骤:

1. 安装vsftpd

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

sudo apt-get update
sudo apt-get install vsftpd

2. 创建虚拟用户数据库

你需要创建一个虚拟用户数据库文件,并添加虚拟用户信息。

创建虚拟用户数据库文件

sudo touch /etc/vsftpd/virtusers.txt
sudo chmod 660 /etc/vsftpd/virtusers.txt
sudo chown root:root /etc/vsftpd/virtusers.txt

添加虚拟用户

使用db_load命令将文本文件转换为数据库文件:

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

创建虚拟用户映射文件

创建一个PAM(Pluggable Authentication Modules)配置文件来映射虚拟用户到系统用户:

sudo touch /etc/pam.d/vsftpd-virt
sudo chmod 644 /etc/pam.d/vsftpd-virt
sudo chown root:root /etc/pam.d/vsftpd-virt

编辑/etc/pam.d/vsftpd-virt文件,添加以下内容:

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

3. 配置vsftpd

编辑/etc/vsftpd.conf文件,进行以下配置:

sudo nano /etc/vsftpd.conf

添加或修改以下配置项:

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

# 指定虚拟用户数据库文件
local_root=/home/ftpuser
chroot_local_user=YES

# 允许写入权限
write_enable=YES

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

# 允许匿名用户登录(可选)
anonymous_enable=NO

# PAM认证
pam_service_name=vsftpd-virt

# 启用被动模式
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048

4. 创建系统用户

为了使虚拟用户能够访问FTP服务器,你需要创建一个系统用户,并将其主目录设置为FTP用户的根目录。

sudo adduser --system --no-create-home --shell /sbin/nologin ftpuser
sudo mkdir -p /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser

5. 重启vsftpd服务

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

sudo systemctl restart vsftpd

6. 测试FTP连接

使用FTP客户端连接到你的服务器,使用你在virtusers.txt中添加的虚拟用户名和密码进行登录,测试是否可以正常访问和操作文件。

通过以上步骤,你就可以在Linux系统上使用vsftpd配置虚拟用户,实现多用户共享FTP服务。

0