centos

怎样配置CentOS FTP Server虚拟用户

小樊
46
2025-07-10 17:22:04
栏目: 云计算

在CentOS上配置FTP服务器以使用虚拟用户涉及几个步骤。以下是一个基本的指南,使用vsftpd作为FTP服务器软件:

1. 安装vsftpd

首先,确保你的系统是最新的,并安装vsftpd。

sudo yum update -y
sudo yum install vsftpd -y

2. 配置vsftpd

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

sudo vi /etc/vsftpd/vsftpd.conf

进行以下配置:

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

# 指定虚拟用户的根目录
local_root=/home/ftpuser

# 允许虚拟用户登录
allow_writeable_chroot=YES

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

# 启用用户隔离
chroot_local_user=YES

# 日志记录
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES

# 安全选项
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

3. 创建虚拟用户数据库

使用db_load工具创建一个虚拟用户数据库。

sudo mkdir /etc/vsftpd/virtual_users
sudo touch /etc/vsftpd/virtual_users/passwd
sudo touch /etc/vsftpd/virtual_users/shadow

编辑 /etc/vsftpd/virtual_users/passwd 文件,添加虚拟用户信息:

ftpuser:mypassword

然后使用db_load工具创建数据库:

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

同样地,编辑 /etc/vsftpd/virtual_users/shadow 文件,添加虚拟用户密码信息(可选):

ftpuser:mypassword

然后使用db_load工具创建shadow数据库:

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

4. 配置PAM认证

安装PAM模块并配置PAM以使用虚拟用户数据库。

sudo yum install pam_passwdqc -y
sudo vi /etc/pam.d/vsftpd

添加以下行:

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

5. 启动并启用vsftpd服务

启动vsftpd服务并设置开机自启。

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

6. 配置防火墙

确保防火墙允许FTP流量。

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload

7. 测试FTP连接

使用FTP客户端连接到服务器,测试虚拟用户登录。

ftp localhost

输入用户名 ftpuser 和密码 mypassword,看看是否能成功登录。

通过以上步骤,你应该能够在CentOS上成功配置一个使用虚拟用户的FTP服务器。

0
看了该问题的人还看了