vsftpd配置虛擬用戶

在VSFTP中,虛擬用戶認證使用的是單獨的口令庫文件(pam_userdb),由可插入認證模塊(PAM)認證。使用這種方式只能訪問服務器爲其提供的FTP服務,而不能訪問系統的其它資源,由此來提高系統的安全性。並且配置更加靈活。


下面介紹配置過程。注意防火牆和selinx


1.生成虛擬用戶口令文件。

# vim /etc/vsftpd/login.txt

ftpu1#用戶名

1234#密碼

ftpu2

qwer

ftpu3

5678


2.生成口令庫文件,並修改其權限:

# db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db
# chmod 600 /etc/vsftpd/vsftpd_login.db


3.編輯虛擬用戶的PAM文件。清空並添加以下內容:

# > /etc/pam.d/vsftpd
# vim /etc/pam.d/vsftpd

32位系統:

auth  required  pam_userdb.so db=/etc/vsftpd/vsftpd_login

account  required  pam_userdb.so db=/etc/vsftpd/vsftpd_login

64位系統:

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

說明:/etc/vsftpd/vsftpd_login文件爲第2部中生成的虛擬用戶的db文件,不可加.db。


4.建立虛擬用戶(www),不允許登錄系統

# useradd -M -s /sbin/nologin www


5.編輯vsftpd配置文件

# /etc/vsftpd/vsftpd.conf

anonymous_enable=NO    #不允許匿名訪問

local_enable=YES    #本地用戶可以訪問,如果爲NO 則所有虛擬用戶都將不能訪問,因爲虛擬用戶的訪問在主機上其實是以本地用戶訪問的

local_umask=022

xferlog_enable=YES#開啓日誌

xferlog_file=/var/log/vsftpd.log#日誌保存路徑

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

one_process_model=NO

chroot_local_user=YES#限定用戶不可立刻家目錄

ftpd_banner=Welcom to lst FTP_server.

anon_world_readable_only=NO

guest_enable=YES#開啓虛擬用戶功能

guest_username=www#指定虛擬用戶的宿主內置用戶

pam_service_name=vsftpd    #指定pam認證文件名,第3部中的/etc/pam.d/vsftpd

user_config_dir=/etc/vsftpd/vuser.conf.d    #虛擬用戶獨立配置文件


6.創建每個虛擬用戶的獨立配置文件。

# mkdir /etc/vsftpd/vuser.conf.d
# vim /etc/vsftpd/vuser.conf.d/ftpu1

local_root=/www/ftpsite/ftpu1    #虛擬用戶ftpu1的根目錄

anon_world_readable_only=NO

anon_umask=022

write_enable=YES    #可寫權限

anon_mkdir_write_enable=YES

anon_upload_enable=YES

anon_other_write_enable=YES


7.創建虛擬用戶的家目錄,並賦予權限

# mkdir /www/ftpsite/ftpu1
# cd /www/ftpsite/
# chown -R www.www /ftpu1/    #設置文件所有者.所有者爲本地用戶www
# chmod 700 /www/ftpsite/ftpu1


8.重新啓動VSFTP:

# service vsftpd restart


9.本地測試

# ftp 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1).

220 Welcom to my FTP server.

Name (127.0.0.1:root): ftpu1#使用虛擬用戶ftpu1登錄

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.


10.添加FTP用戶的步驟

1.在/etc/vsftpd/login.txt中添加用戶名和密碼

2.更新口令庫文件

# db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db

3.創建虛擬用戶的獨立配置文件,文件名與虛擬用戶名相同

# vim /etc/vsftpd/vuser.conf.d/ftpuN

4.爲新用戶新建家目錄並修改權限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章