centos

centos vsftp多用户管理

小樊
43
2025-07-14 13:43:11
栏目: 智能运维

在CentOS系统中,使用vsftpd(Very Secure FTP Daemon)进行多用户管理是一个常见的需求。以下是一个详细的步骤指南,帮助你在CentOS上配置vsftpd以支持多用户管理。

安装vsftpd

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

sudo yum install vsftpd

配置vsftpd

编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf,确保以下设置是正确的:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
tcp_wrappers=YES

这些设置将启用本地用户登录,禁止匿名用户登录,允许FTP写入权限,并将用户锁定在其主目录中。

创建FTP用户

使用 useradd 命令创建新的FTP用户,并使用 passwd 命令设置密码。例如:

sudo useradd -m ftpuser
sudo passwd ftpuser

按照提示输入并确认密码。

配置用户目录权限

确保FTP用户的家目录权限设置正确:

sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

配置PAM(可选)

如果你希望使用PAM进行更细粒度的用户认证和管理,可以编辑 /etc/pam.d/vsftpd 文件,添加以下内容:

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

然后创建 /etc/vsftpd/vsftpd_user_list 文件,并添加需要管理的FTP用户名:

echo "ftpuser" | sudo tee -a /etc/vsftpd/vsftpd_user_list

配置虚拟用户(可选)

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

  1. 安装必要的软件包:
sudo yum install db4 db4-utilssudo yum install vsftpd-pam
  1. 创建虚拟用户数据库文件:
sudo vi /etc/vsftpd/virtusers.txt

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

ftpuser1password1
ftpuser2password2

生成数据库文件:

sudo db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
  1. 设置数据库文件的权限:
sudo chmod 600 /etc/vsftpd/virtusers.db
  1. 编辑 /etc/pam.d/vsftpd 文件,添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers
  1. 编辑 /etc/vsftpd/vsftpd.conf 文件,添加或修改以下内容:
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_sub_token=USER local_root=/home/USER /ftp
chroot_local_user=YES
allow_writeable_chroot=YES

重启vsftpd服务

最后,重启vsftpd服务以应用所有更改:

sudo systemctl restart vsftpd

测试FTP连接

使用FTP客户端连接到服务器,验证是否可以正常登录和管理文件。

通过以上步骤,你可以在CentOS系统中使用vsftpd进行多用户管理。根据你的具体需求,可以选择使用系统用户或虚拟用户进行配置。

0
看了该问题的人还看了