CentOS 6.2 安裝vsftpd-2.3.2

 vsftpd目前最新版本爲vsftpd-2.3.2,下載地址:

ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.2.tar.gz 
軟件安裝
  1. 解壓軟件,
    [root@redhat local]# tar -zxvf vsftpd-2.3.2.tar.gz    //解壓vsftp source文件
    [root@redhat local]# cd vsftpd-2.3.2    //進入解壓後的目錄
 
    [root@redhat vsftpd-2.3.2]# more INSTALL //看看安裝說明。比如要做什麼工作。是個英文文檔.
 
 
 
  2. 提供安裝vsftpd服務的前提條件(根據上面more INSTALL的安裝說明)
 
    [root@redhat vsftpd-2.3.2]# useradd nobody //這裏需要加一個nobody用戶。大家可以使用finger nobody查看下。看是否有這個用戶,如果有就不需要加了.
 
        useradd: user nobody exists
 
    [root@redhat vsftpd-2.3.2]# mkdir /usr/share/empty/    //這一步同上。服務器 需要一個empty的空目錄放在/usr/share/下。可以使用ls /usr/share/empty查看。如果存在就不需要了,這步也可以跳過。
 
        mkdir: 無法創建目錄 `/usr/share/empty': 文件已存在
 
   
    
 
  3. 編譯源代碼及安裝
 
    [root@redhat vsftpd-2.3.2]# make    //編譯二進制文件
    [root@redhat vsftpd-2.3.2]# make install    //安裝,安裝的時候可以看到安裝的相關文件。
 
  4. 安裝、編輯配置
 
    [root@redhat vsftpd-2.3.2]# cp vsftpd.conf /etc/    //將默認配置文件考貝到/etc/                
    [root@redhat vsftpd-2.3.2]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd     //爲了讓vsftpd支持本地用戶登錄,我們將身份認證模塊文件(PAM安全驗證文件)拷貝到驗證文件所在的目錄。
 
    [root@redhat vsftpd-2.3.2]# vi /etc/vsftpd.conf 
  然後按,跳到行尾。設置 pam_server_name=vsftpd(要與你的PAM文件同名);userlist_enable=YES(用戶列表的用戶不允許登入服務器)。然後:wq保存退出
 
    [root@redhat vsftpd-2.3.2]# cp vsftpd.conf.5 /usr/local/man/man5 
  [root@redhat vsftpd-2.3.2]# cp vsftpd.8 /usr/local/man/man8 
 
  基本到這裏。所有工作就做完了。
 
 
    
軟件卸載
    如果需要卸載,使用如下命令:
    # rm /usr/local/sbin/vsftpd
    # rm /usr/local/man/man5/vsftpd.conf.5
    # rm /usr/local/man/man8/vsftpd.8
    # rm /etc/xinetd.d/vsftpd
    # rm -rf /etc/vsftpd
三、配置vsftpd服務
服務的啓動與停止
    啓動服務之前,我們先編輯配置文件/etc/vsftpd.conf. 打開配置文件後可以看到許多以“#”開始的行,這些行都是註釋行,大多是幫助信息,可以仔細閱讀。vsftpd.conf文件的所有項目都是以“參數=值 ”來設置的,對格式要求比較嚴格,必須嚴格區分大小寫,等號兩邊不能有空格,每行的最後也不能有空格。每個參數都有一個默認值,沒有在配置文件中明確指定 的參數就會使用默認值。我們這裏不理會配置文件本來的信息,把所有內容都刪掉或註釋掉,最後加上下面四行,每行右邊的//及後的文字是含義說明,不要輸入 到文件中:
 
 
[root@xm06 data]# /usr/local/sbin/vsftpd &
standalone啓動方式
[root@xm06 data]# ps -aux|grep vsftpd
[root@xm06 data]#kill -9 ID號
 
vsftpd.conf裏面
local_enable=YES
listen=YES
pasv_enable=YES
pasv_max_port=9090
pasv_min_port=9000
ftpd_banner=220 wellpie FTP Server
write_enable=YES
local_umask=022
chroot_list_enable=YES
chroot_local_user=NO
chroot_list_file=/etc/vsftpd.chroot_list(這個文件裏面有一個用戶xm06.com,用來限制跳到其他目錄)
xm06.com這個是本地用戶,即是FTP用戶,不然會看到別人的文件,跳到其他目錄。用來限制在自己的家目錄
 
root@localhost www]# adduser -s /sbin/nologin -d /data/www/phpmy phpmy
adduser: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@localhost www]# chown phpmy:phpmy /data/www/phpmy/
[root@localhost www]# passwd phpmy
Changing password for user phpmy.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
 
以上是創建PHPMY這個FTP用戶與密碼,然後/data/www/phpmy這個目錄要755
並用戶與組分別是phpmy與apache,這樣上傳下載刪除正常,訪問要寫的可能要777才行
 
    listen=yes                        //vsftpd工作在standalone 模式下
    anonymous_enable=yes                //允許匿名用戶登陸服務器
    local_enable=yes                    //允許本地用戶登錄到服務器
    pam_service_name=vsftpd            //使用PAM認證
 
 
 
    vsftpd有兩種工作模式,standalone模式和xinetd守護進程模式,第1行就是讓其工作在standalone模式下。此種模式中,每次 修改配置文件必須重新啓動vsftpd服務才能生效,關於兩種模式在後面有詳細介紹。我們安裝時還把 Redhat 目錄下的 vsftpd.pam 文件複製成了/etc/pam.d/vsftpd 文件。這個文件就是本地用戶登陸的 pam 驗證配置文件。關於這個文件我們會在後面具體介紹。這裏我們要知道,必須得有這個配置文件,而且主配置文件裏要加上 pam_service_name=vsftpd語句,我們才能讓本地用戶登陸。用以下命令啓動服務:
    [root@redhat vsftpd-2.3.2]# /usr/local/sbin/vsftpd &    //後臺啓動vsftp
 
 
 
我們可以通過pgrep vsftpd 來查看vsftpd服務器是否運行起來;
 
    [root@redhat vsftpd-2.3.2]# pgrep vsftpd
     4248
上面顯示vsFTPd服務器運行起來了,您可以通過ftp命令、lftp工具或gftp或其它的FTP客戶端來測試連接;
 
    爲保證服務確實啓動,我們用如下命令檢測:
    [root@redhat vsftpd-2.3.2]# netstat -an |grep 21
    tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
    我們看到服務器已經打開了tcp21端口,表明ftp確實已經啓動。再登錄服務器:
    [root@redhat vsftpd-2.3.2]# ftp 127.0.0.1
    Connected to 127.0.0.1.
    220 (vsFTPd 2.0.5)
    530 Please login with USER and PASS.
    530 Please login with USER and PASS.
    KERBEROS_V4 rejected as an authentication type
    Name (127.0.0.1:root): ftp
    331 Please specify the password.
    Password:
    230 Login successful.
    這時我們已經用匿名用戶(用戶名ftp或anonymous,密碼任意)登錄到服務器了,還可以用本地用戶登錄。我們做測試時建議使用如上所示的ftp命 令(windows、Linux及Unix都帶這個命令,用法都是一樣的)來登錄服務器,這樣可以看到更詳細的信息,對於我們調試服務器是非常有幫助的。 最簡單的ftp服務器就已經達建起來了。
 
 
 
使用如下命令關閉ftp服務:
    [root@redhat vsftpd-2.3.2]# killall vsftpd    //或是 pkill vsftpd
 
    [root@redhat vsftpd-2.3.2]# pgrep vsftpd   //查看vsftpd服務器是否已經關閉
 
 
 
四、 開機自啓動
            用vi打開etc/rc.local在裏面加入/usr/local/bin/vsftpd & 即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章