1、創建一個虛擬用戶對應的那個系統用戶:useradd virftp -s /sbin/nologin
2、創建一個虛擬用戶存放用戶名密碼的文件:vim /etc/vsftpd/vsftpd_login
寫入內容:
test1
111222aaa
test2
aaa111bbb
然後更改其權限:chmod 600 /etc/vsftpd/vsftpd_login
3、將vsftpd_login這個文件生成一個vsftpd這個服務能識別的一個二進制的庫文件:
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
4、創建虛擬用戶:
(1)創建一個虛擬用戶配置文件存放的一個目錄: mkdir /etc/vsftpd/vsftpd_user_conf
(2)進入到這個目錄下進行配置文件的創建: cd /etc/vsftpd/vsftpd_user_conf
(3)創建一個跟第2步配置文件中用戶名同名的一個配置文件: vim test1
寫入內容:
local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
(4)既然在上面配置文件中我們有限制test1的家目錄到/home/vsftpd/test1下,我們自然要去創建這個目錄:
mkdir /home/virftp/test1
然後更改其屬主以及屬組爲我們的系統用戶:
chown -R virftp:virftp /home/virftp/test1
(5)編輯認證相關的一個配置文件:(告訴配置文件你得用哪種方式去認證,要不然會用系統默認的用戶名和密碼,
現在我們要用虛擬用戶的來認證,這時候就需要告訴配置文件他的這些密碼庫文件這些在哪裏,要去用它)
vim /etc/pam.d/vsftpd
添加兩行信息即可:
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
保存之前我們要先去確認下/lib/security/pam_userdb.so這個文件存在不存在
(因爲這個關係到系統是32位還是64位的問題,32位的系統是存放在上面所說的路徑下的,但是如果是64位操作系統的話
是存放在/lib64/security/pam_userdb.so裏的) 可以用uname -a查看系統是多少位的操作系統
(6)編輯vsftpd的配置文件: vim /etc/vsftpd/vsftpd.conf
(將一些關於匿名用戶信息行的選項打開並將其改成NO;注:local_enable=YES這一行就是默認的YES別去改)
並在配置文件最底下添加一些配置信息:
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
(7)重啓vsftpd服務: /etc/init.d/vsftpd restart
5、接下來就是登陸測試了
(1)可以在本服務器上進行測試:
lftp [email protected]