centos

如何在CentOS上配置SFTP虚拟用户

小樊
49
2025-08-06 13:39:20
栏目: 云计算

在CentOS上配置SFTP虚拟用户需要以下几个步骤:

  1. 安装必要的软件包

首先,确保已经安装了OpenSSH服务器和PAM(Pluggable Authentication Modules)模块。如果没有,请使用以下命令安装:

sudo yum install openssh-server
sudo yum install pam
  1. 创建虚拟用户

创建一个新文件,例如/etc/vsftpd/virtual_users.txt,并在其中添加虚拟用户的用户名和密码。例如:

user1
password1
user2
password2
  1. 创建PAM数据库

使用db_load命令创建一个PAM数据库文件:

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

设置正确的权限:

sudo chmod 600 /etc/vsftpd/virtual_users.db
  1. 配置PAM

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

auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
  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
user_sub_token=$USER
local_root=/home/$USER
virtual_use_local_privs=YES
  1. 创建虚拟用户的家目录

为每个虚拟用户创建一个家目录,并设置正确的权限:

sudo mkdir /home/user1
sudo mkdir /home/user2
sudo chown root:root /home/user1
sudo chown root:root /home/user2
sudo chmod 755 /home/user1
sudo chmod 755 /home/user2
  1. 重启vsftpd服务

使用以下命令重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

现在,您应该能够使用虚拟用户名和密码登录SFTP。请注意,这些步骤可能需要根据您的具体需求进行调整。

0
看了该问题的人还看了