Centos6.7安裝配置vsftpd虛擬用戶演示環境系統:Linux CentOS 6.7 64位賬號:root環境:無安裝vsftpd1、安裝依賴軟件[root@localhost ~]# yum install pam* db4* -y 安裝PAM(用於虛擬用戶認證)和DB4(用於生成虛擬用戶的用戶名密碼的db文件)。2、安裝vsftpd[root@localhost ~]# yum install vsftpd -y 設置vsftpd開機啟動: [root@localhostvsftpd]# chkconfig vsftpd on 通過chkconfig –list|grep vsftpd 查看啟動項
3. 配置vsftpd.conf
[root@localhost vsftpd]# cd /etc/vsftpd/ //切換到該目錄下
[root@localhost vsftpd]# vim vsftpd.conf //更改配置文件
部分配置解釋anonymous_enable=NO //控制是否允許匿名用戶登入,YES 為允許匿名登入,NO 為不允許。默認值為YES。 local_enable=YES //控制是否允許本地用戶登入,YES 為允許本地用戶登入,NO為不允許。默認值為YES。
write_enable=YES //是否允許登陸用戶有寫權限。屬於全局設置,默認值為YES。
local_umask=022 //本地用戶新增檔案時的umask 值。默認值為077。
xferlog_enable=YES //是否啟用上傳/下載日志記錄。如果啟用,則上傳與下載的信息將被完整紀錄在xferlog_file 所定義的檔案中。預設為開啟。
xferlog_file=/etc/vsftpd/vsftpd.log //設置日志文件名和路徑,默認值為/var/log/vsftpd.log。
xferlog_std_format=YES //如果啟用,則日志文件將會寫成xferlog的標准格式,如同wu-ftpd 一般。默認值為關閉。
connect_from_port_20=YES //指定FTP使用20端口進行數據傳輸,默認值為YES。
idle_session_timeout=600 //
listen=YES //設置多長時間不對FTP服務器進行任何操作,則斷開該FTP連接,單位為秒。默認值為300 。
pam_service_name=vsftpd //設置PAM使用的名稱,默認值為/etc/pam.d/vsftpd。
userlist_enable=YES //是否啟用vsftpd.user_list文件。
tcp_wrappers=YES //設置vsftpd是否與tcp wrapper相結合來進行主機的訪問控制。
要添加的是下面幾行上圖中添加行解釋pam_service_name=vsftpd.v //設置PAM使用的名稱,默認值為/etc/pam.d/vsftpd。 注意:要在/etc/pam.d/建立vsftpd.v文件(這裡可以根據自己愛好設置路徑,一般采用默認配置即可。)guest_enable=YES //啟用虛擬用戶。默認值為NO。
guest_username=ftpsite //這裡用來映射虛擬用戶。默認值為ftp。(這裡可以根據自己愛好設置用戶,一般采用默認,如果自己設定了就要建立這個用戶)
user_config_dir=/etc/vsftpd/vsftpd_user_conf //虛擬用戶的配置文件路徑,所以別忘了在/etc/vsftpd/目錄下新建一個vsftpd_user_conf文件夾。(這裡的文件名字可以根據自己愛好設置,但是路徑不能改動)
4、配置虛擬用戶
比如我要添加一個叫jiaao的用戶,ftp客戶端就使用該用戶名(密碼後面設置)進行上傳下載,在/etc/vsftpd/ vsftpd_user_conf新建一個名叫jiaao的文件。//
文件名等於vsftpd_login.txt裡面的賬戶名,否則下面設置無效文件裡面的內容為:
上圖中添加行解釋local_root=/home/ap/ftpsite/shanghu/jiaao //該虛擬用戶上傳下載的根目錄(可以根據自己愛好設置路徑)anon_world_readable_only=NO //這個anon_world_readable_only參數意思是,當他為YES時候,文件的其他人必須有讀的權限才允許下載,單單所有人為ftp且有讀權限是無法下載的,必須其他人也有讀權限,才允許下載,這是為安全性的一方面考慮,若為NO則只要ftp用戶對文件有讀權限即可下載,write_enable=YES //可寫(可上傳)anon_upload_enable=YES //anon_mkdir_write_enable=YESanon_other_write_enable=YESanon_umask=022
接下來在/etc/vsftpd/目錄新建一個記錄所有客戶端用戶(虛擬用戶)的用戶名密碼的文本文檔: vsftpd_login.txt裡面的內容為:jiaao123奇數行是用戶名,偶數行是密碼。接著,生成虛擬用戶認證的db文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login.txt /etc/vsftpd/ vsftpd_login.db 隨後,編輯認證文件/etc/pam.d/vsftpd.v, (如果你沒有設置pam_service_name=vsftpd.v這個參數的話,那麼就要編譯默認的/etc/pam.d/vsftpd文件,而且要將裡面原來的那些行給注釋掉,然後再添加如下圖的兩行) 增加以下兩句
auth required pam_userdb.so db=/etc/vsftpd/ vsftpd_login account requiredpam_userdb.so db=/etc/vsftpd/ vsftpd_login5、設置服務器上的目錄權限[root@localhost ap]# chown ftpsite -R /home/ap/ftpsite/[root@localhost ap]# chmod 755 –R /home/ap/ftpsite/注意:系統沒有該用戶時候要先添加該用戶6、驗證是否可以登錄ftp服務器
登錄成功。
本文出自 “jiaao” 博客,請務必保留此出處http://jiaao.blog.51cto.com/10894904/1769073