vsftpd 是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點。vsftpd 是一個 UNIX 類作業系統上運作的伺服器的名字,它可以運作在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面,是一個完全免費的、開發源代碼的ftp伺服器軟體,支援很多其他的 FTP 伺服器所不支援的特征。比如:非常高的安全性需求、帶寬限制、良好的可伸縮性、可建立虛拟使用者、支援IPv6、速率高等。
之前就有弄過vsftpd,就不再介紹了!
安裝:
[root@chenyi ~]# mount /dev/cdrom /media #挂載鏡像 省去yum源的配置
[root@chenyi ~]# yum install vsftpd #yum安裝vsftpd
[root@chenyi ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/@vsftpd.conf.bak #備份原始配置檔案,以供日後的參照及使用
[root@chenyi ~]# vi /etc/vsftpd/vsftpd.conf #建立vsftpd.conf
内容如下:
建立chroot虛拟使用者映射檔案
[root@chenyi ~]# cat /etc/vsftpd/vsftpd.chroot_list
chenyi #該檔案為手動建立,每一行代表一個欲将虛拟使用者映射到本地賬戶的名稱
建立使用者賬戶檔案
[root@chenyi ~]# cat /etc/vsftpd/passwd.file
chenchen #該檔案預設也不存在的,該檔案用來存儲使用者賬戶以及明文密碼,格式為每個賬戶兩行,第一行是使用者名,第二行是密碼,以此類推!
123
密碼可以使用Centos 自帶的強密碼生成工具建立
[root@chenyi ~]# mkpasswd 參數 使用者名
-l 定義生成密碼的長度,預設9
-d 定義密碼裡面包含數字個數,預設2
-c 定義包含小寫字母個數,預設2
-C 定義包含大寫字母個數,預設2
-s 定義包含特殊字元個數,預設1
-p 另外指定一個生成密碼的程式,預設是/etc/yppasswd
mkpasswd 隸屬于 expect RPM 包,如果系統中沒有,可以通過yum安裝!
建立使用者賬戶編譯腳本
vsfptd使用DBD資料庫進行賬戶驗證,是以需要将使用者賬戶檔案passwd.file編譯為DBD格式.
[root@chenyi ~]# vi /etc/vsftpd/db_load.sh #建立一個腳本,也可以不建立,直接使用指令實作!
[root@chenyi ~]# chmod 755 /etc/vsftpd/db_load.sh #進行相應的賦權,對passwd.file賬戶檔案進行編譯,并生成ftpuser_passwd.db格式檔案,db_load 隸屬于db4 RPM包,如沒有請自行安裝。
[root@chenyi ~]# sh /etc/vsftpd/db_load.sh
[root@chenyi ~]# ll /etc/vsftpd/ftpuser_passwd.db
-rw-r--r--. 1 root root 12288 12月 6 09:33 /etc/vsftpd/ftpuser_passwd.db
建立使用者配置檔案
建立好賬戶後,需要為每個使用者建立記錄FTP目錄位置、使用者權限等資訊的配置檔案
[root@chenyi ~]# mkdir /etc/vsftpd/user_config
配置檔案以FTP使用者名為檔案名稱,每個FTP使用者一個檔案,例如chenchen
[root@chenyi ~]# vi /etc/vsftpd/user_config/chenchen
注:FTP 使用者所映射到的系統帳戶必須對 FTP 使用者主目錄擁有相應的讀/寫權限。仍然以chenchen使用者為例,本文中chenchen虛拟使用者是被映射到 chenyi 系統帳戶的,是以 chenyi 系統帳戶必須擁有對 chenchen 的 FTP 主目錄/vsftptest/www.itchenyi.com/ 的讀/寫權限
修改Pam 認證子產品
備份vsftpd 原始的pam認證子產品配置檔案:
[root@chenyi ~]# mv /etc/pam.d/vsftpd /etc/pam.d/@vsftpd.bak #如想使用原配置,後面的配置參數必須在前排!
寫入新的PAM認證子產品配置:
[root@chenyi ~]# cat /etc/pam.d/vsftpd #此處字尾無須帶上.db
啟動vsftpd
測試
<a href="http://www.itchenyi.com/wp-content/uploads/2013/02/vsftpdv.jpg"></a>
到這裡就配置完成了,如果你出現vsftpd 500 OOPS: cannot change directory
為selinux 未關閉!
如果你不能通路vsftpd伺服器,應檢測iptables 關于iptables的應用和vsftpd檔案參數對應的功能請參考我部落格裡另一篇
本文轉自 lgpqdwjh 51CTO部落格,原文連結:http://blog.51cto.com/itchenyi/1134557,如需轉載請自行聯系原作者