在CentOS系統中,為SFTP設置虛擬用戶需要經過以下幾個步驟:
首先,確保已經安裝了vsftpd
和pam_pwquality
。如果沒有,請使用以下命令安裝:
sudo yum install vsftpd pam_pwquality
使用文本編輯器(如vim)創建一個名為/etc/vsftpd/virtusers.txt
的文件,并添加虛擬用戶的用戶名和密碼。例如:
sudo vim /etc/vsftpd/virtusers.txt
在文件中添加以下內容:
user1
password1
user2
password2
保存并退出。
使用db_load
命令將文本文件轉換為數據庫文件:
sudo db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
編輯/etc/pam.d/vsftpd
文件,添加以下內容:
auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers
編輯/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
表示虛擬用戶的主目錄將映射到ftpuser
,local_root
表示虛擬用戶的根目錄。
為每個虛擬用戶創建一個根目錄:
sudo mkdir -p /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
最后,重啟vsftpd服務以應用更改:
sudo systemctl restart vsftpd
現在,您應該能夠使用虛擬用戶登錄SFTP。請注意,這些步驟僅適用于CentOS 7。對于其他版本的CentOS,可能需要進行一些調整。