sftp(Very SecureFTP)是一種在Unix/Linux中非常安全且快速穩定的FTP服務器,目前已經被許多大型站點所採用,如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等。Vsftpd的實現有三種方式
1、匿名用戶形式:在默認安裝的情況下,系統只提供匿名用戶訪問
2、本地用戶形式:以/etc/passwd中的用戶名爲認證方式
3、虛擬用戶形式:支持將用戶名和口令保存在數據庫文件或數據庫服務器中。相對於FTP的本地用戶形式來說,虛擬用戶只是FTP服務器的專有用戶,虛擬用戶只能訪問FTP服務器所提供的資源,這大大增強系統本身的安全性。相對於匿名用戶而言,虛擬用戶需要用戶名和密碼才能獲取FTP服務器中的文件,增加了對用戶和下載的可管理性。對於需要提供下載服務,但又不希望所有人都可以匿名下載;既需要對下載用戶進行管理,又考慮到主機安全和管理方便的FTP站點來說,虛擬用戶是一種極好的解決方案。
安裝:yum -y installvsftpd db4-utils*
vsftpd虛擬用戶的配置
womaiadmin 讀寫刪除(上傳、下載、刪除)
womairw 讀寫(上傳、下載、不能刪除)
womairo 讀(只能下載)
一、創建虛擬用戶數據庫
1、創建文件loginuser.txt
#vim/etc/vsftpd/loginuser.txt
womaiadmin
womaiadmin
womairw
womairw
womairo
womairo
2、生成數據庫文件:
#db_load -T -t hash-f /etc/vsftpd/loginuser.txt /etc/vsftpd/vsftpd_login.db
#chmod 600/etc/vsftpd/vsftpd_login.db
3、配置pam文件(64bit改/lib64)(32位就是/lib)
#vim/etc/pam.d/vsftpd.vu
auth required/lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required/lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
二、爲虛擬用戶創建本地系統用戶
#useradd vsftp -d/data/ftpdir -s /bin/false
#chown vsftp.vsftp/data/ftpdir
#mv /etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftp.conf.bak
#vim /etc/vsftpd/vsftpd.conf 配置主服務
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_port=21
userlist_enable=YES
chroot_local_user=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vsftp
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
pasv_min_port=50000
pasv_max_port=60000
pasv_enable=yes
max_clients=200
max_per_ip=10
idle_session_timeout=600
#mkdir/etc/vsftpd/vsftpd_user_conf 創建虛擬用戶配置目錄
#vim/etc/vsftpd/vsftpd_user_conf/womaiadmin 創建womaiadmin用戶配置文件
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/data/ftpdir
#vim/etc/vsftpd/vsftpd_user_conf/womairw 創建womairw用戶配置文件
write_enable=YES
cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT
local_umask=022
local_root=/data/ftpdir
#vim/etc/vsftpd/vsftpd_user_conf/womairo 創建womairo用戶配置文件
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_umask=022
download_enable=yes
local_root=/data/ftpdir
三、測試虛擬用戶
分別登陸ftpadmin ftpuser ftp pwd:123456嘗試mkdir delete put get等權限
#ftp -n 192.168.2.200
Connected to192.168.2.200 (192.168.2.200).
220 Welcome to FTP service
ftp> use ftpuser
331 Please specifythe password.
Password:
230 Loginsuccessful.