centos

CentOS SFTP虚拟用户如何设置

小樊
82
2025-02-13 10:04:49
栏目: 云计算

在CentOS系统中,为SFTP设置虚拟用户需要经过以下几个步骤:

  1. 安装必要的软件包

首先,确保已经安装了vsftpdpam_pwquality。如果没有,请使用以下命令安装:

sudo yum install vsftpd pam_pwquality
  1. 创建虚拟用户数据库

使用文本编辑器(如vim)创建一个名为/etc/vsftpd/virtusers.txt的文件,并添加虚拟用户的用户名和密码。例如:

sudo vim /etc/vsftpd/virtusers.txt

在文件中添加以下内容:

user1
password1
user2
password2

保存并退出。

  1. 生成虚拟用户数据库

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

sudo db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
  1. 配置PAM

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

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

编辑/etc/vsftpd/vsftpd.conf文件,确保以下配置项已设置:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER

这里,guest_enable=YES表示启用虚拟用户,guest_username=ftpuser表示虚拟用户的主目录将映射到ftpuserlocal_root表示虚拟用户的根目录。

  1. 创建虚拟用户的根目录

为每个虚拟用户创建一个根目录:

sudo mkdir -p /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
  1. 重启vsftpd服务

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

sudo systemctl restart vsftpd

现在,您应该能够使用虚拟用户登录SFTP。请注意,这些步骤仅适用于CentOS 7。对于其他版本的CentOS,可能需要进行一些调整。

0
看了该问题的人还看了