天天看點

Centos 6.2 快速配置vsftpd虛拟使用者

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,如需轉載請自行聯系原作者