1、vsftpd虛擬用戶配置apache
一、安裝vsftpd (rpm包或者用yum安裝)bash
yum install vsftpd
二、在/etc/vsftpd/下建立vuser.txt文件,在裏面填寫用戶名和帳號,第一行帳號,第二行密碼,依次類推。
服務器
三、創建訪問者的口令庫文件,而後修改其權限app
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
(若是系統提示找不到db_load命令,則需先安裝tcp
yum –y install db4
(pam*是否需安裝沒通過測試)ide
四、進入/etc/pam.d/中建立vsftpd,在其中添加以下信息而且將其他的信息註釋測試
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser #32位系統是/lib/目錄 account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser #32位系統是/lib/目錄
五、建立虛擬用戶映射的系統帳號ui
#useradd –d /home/vsftpd –s /sbin/nologin vuserftp #建立系統帳號,但使之不能登陸系統 #chmod 700 /home/vsftpd
六、先備份/etc/vsftpd/vsftpd.conf文件,而後清空內容並添加以下信息:spa
經常使用配置文件 listen=YES listen_port=58745 anonymous_enable=NO local_enable=YES local_umask=022 guest_enable=YES guest_username=vuserftp pam_service_name=vsftpd user_config_dir=/etc/vsftpd/vuser_conf virtual_use_local_privs=YES write_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES chroot_local_user=YES userlist_enable=YES tcp_wrappers=YES |
參考配置文件 listen=yes listen_port=21 #port_enable=yes #connect_from_port_20=yes pasv_enable=yes #使用被動傳輸 pasv_min_port=52000 #指定被動模式端口範圍 pasv_max_port=52020 local_enable=YES #使系統帳號能登陸 write_enable=YES #可寫 #anon_root=/var/ftp/vuser #local_root=/ #local_umask=022 userlist_enable=yes userlist_deny=yes userlist_file=/etc/vsftpd/user_list max_clients=20 #鏈接ftp的最大客戶端 max_per_ip=20 #最多20個IP能鏈接ftp
guest_enable=yes #啓用虛擬用戶 guest_username=vuser #虛擬用戶映射到的系統帳號 pam_service_name=vsftpd.vuser #PAM認證文件 user_config_dir=/etc/vsftpd/vuser_conf #虛擬用戶配置文件存放目錄 |
七、建立虛擬用戶配置文件存放目錄
mkdir /etc/vsftpd/vuser_conf
八、進入/etc/vsftpd/vuser_conf目錄,建立與虛擬用戶名相同名稱的文件(虛擬用戶名即vuser.txt中的用戶名名,文件名必須和虛擬用戶用戶名一致),好比建立demo
九、在demo中填寫以下信息(紅色爲對匿名用戶的設置)
write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/usr/local/amp/apache/htdocs/demo #此路徑根據虛擬用戶要訪問的目錄對應修改
總結:客戶端根據建立的虛擬用戶鏈接服務器,虛擬用戶映射到系統帳號vuser登陸ftp,而後FTP根據配置文件vsftpd.conf的設置(user_config_dir=/etc/vsftpd/vuser_conf)找到虛擬用戶配置文件的存放目錄,而後根據虛擬用戶的配置文件指定的目錄路徑(local_root=/usr/local/amp/apache/htdocs/demo)訪問到指定的目錄。(注:虛擬用戶訪問到的文件根目錄屬主須要改爲vuserftp,即真正存在的用戶)