Linux下快速安裝vsftpd方法

Linux下快速安裝vsftpd方法
vsftp的含義就是Very Security Ftp,其實就是一款FTP軟件。
每個人安裝軟件的時候都有自己不同的方法,不過大多大同小異,以下是本人安裝VSFTPD的方法
1、下載:
    下載源碼到服務器,其下載地址是ftp://vsftpd.beasts.org/users/cevans/,當前的版本是vsftpd-2.0.6.tar.gz 。
    強烈建議使用源碼安裝,即可擺脫類似rpm包依賴的困惑,又可以實現在不同unix/linux下自如的工作。
2、編譯源代碼:
          tar xvzf vsftpd-2.0.6.tar.gz (解壓,並進入解壓後目錄vsftpd-2.0.6,通常在/usr/local下解壓)
          make
          make install
3、安裝配置:
          cp vsftpd.conf /etc
          cp RedHat/vsftpd.pam /etc/pam.d/ftp (用戶身份識別)
4、編輯配置:
      修改配置文件/etc/vsftpd.conf。這個配置文件是vsftpd的關鍵所在,修改下列值,以實現不同的功能:
     
      (1)修改的部分:把 local_enable=yes
              write_enable=yes和
              local_umask=022前面的註釋取消。
     
      (2)增加部分:listen=YES(ftp作爲獨立的守護進程)
      chroot_local_user=yes(用戶被定位在自己的主目錄裏,用cd / 並不能切換到根目錄)
     
      cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,
      PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER,
      ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST(只許上傳文件和目錄,但不許刪除。注意:這些必須一行寫完)
5、啓動服務:
           /usr/local/vsftpd-2.0.6/vsftpd &
           用netstat -tnl查看,如果有21端口證明已經安裝配置成功
           這個時候已經能用FTP,但不能使用匿名訪問。
6、關閉服務:
      pkill vsftpd

7、開機自啓動
          用vi打開、etc/rc.local在裏面加入/usr/local/vsftpd-2.0.6/vsftpd & 即可。
         
補充一:
    改端口:
     在vsftpd.conf最後加:
     listen_port=2121
   
    取消anonymous 登入
     anonymous_enable=NO
   
    老大原文提到,讓用戶不能切換到別的目錄,需要添加一個文件:
    vim /etc/vsftpd/chroot_list 加入你所要限制的用戶
    vsftpd.conf也去掉相應的註釋:chroot_list_file=/etc/vsftpd/chroot_list
補充二:打開vsFTP服務器的日誌功能:
  把下面xferlog_file前面的#號對掉,也就是把vsftp的log功能打開,這樣我們就能在/var/log目錄下查看vsftpd.log。這是vsFTP的日誌功能,
   這對於我們來說是極爲重要的。
  #xferlog_file=/var/log/vsftpd.log
補充三:如何讓綁定IP到vsFTP?也就是說,如何讓用戶只能通過某個IP來訪問FTP。其實這個功能很有意思。如果綁定的是內網的IP,
     外部是沒有辦法訪問的。如果綁定的是對外服務的IP,內網也只能通過對外服務的IP來訪問FTP
     在/etc/vsftpd/vsftpd.conf中加一行,以我的局域網爲例,請看第一帖中的操作環境,這樣外網就不能訪問我的FTP了,
     內網也可能通過192.168.0.2來訪問FTP
        listen_address=192.168.0.2
  加完後,要重啓vsFTP服務器


以下是vsftpd.conf的參數程序代碼:
Anonymous_enable=yes                        允許匿名登陸
Dirmessage_enable=yes                         切換目錄時,顯示目錄下.message的內容
Local_umask=022                                 FTP上本地的文件權限,默認是077
Connect_form_port_20=yes                   啓用FTP數據端口的數據連接
Xferlog_enable=yes                               激活上傳和下傳的日誌
Xferlog_std_format=yes                         使用標準的日誌格式
Ftpd_banner=XXXXX                           顯示歡迎信息
Pam_service_name=vsftpd                      驗證方式
Listen=yes                                             獨立的VSFTPD服務器
Anon_upload_enable=yes                        匿名用戶上傳權限
Anon_mkdir_write_enable=yes                創建目錄的同時可以在此目錄中上傳文件
Write_enable=yes                                  本地用戶寫的權限
Anon_other_write_enable=yes                匿名帳號可以有刪除的權限
Anon_world_readable_only=no                匿名用戶瀏覽權限
Ascii_upload_enable=yes                         啓用上傳的ASCII傳輸方式
Ascii_download_enable=yes                     啓用下載的ASCII傳輸方式
Banner_file=/var/vsftpd_banner_file          用戶連接後歡迎信息使用的是此文件中的相關信息
Idle_session_timeout=600(秒)              用戶會話空閒後10分鐘
Data_connection_timeout=120(秒)       將數據連接空閒2分鐘斷
Accept_timeout=60(秒)                      將客戶端空閒1分鐘後斷
Connect_timeout=60(秒)                    中斷1分鐘後又重新連接
Local_max_rate=50000(bite)             本地用戶傳輸率50K
Anon_max_rate=30000(bite)              匿名用戶傳輸率30K
Pasv_min_port=5000                             將客戶端的數據連接端口改在
Pasv_max_port=6000                             5000—6000之間
Max_clients=200                                    FTP的最大連接數
Max_per_ip=4                                       每IP的最大連接數
Listen_port=5555                                  從5555端口進行數據連接
Local_enble=yes                                    本地帳戶能夠登陸
Write_enable=no                                   本地帳戶登陸後無權刪除和修改文件
Chroot_local_user=yes                            本地所有帳戶都只能在自家目錄
Chroot_list_enable=yes                           文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list      前提是chroot_local_user=no
Userlist_enable=yes                                在指定的文件中的用戶不可以訪問
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路徑/文件名                      連接失敗時顯示文件中的內容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2                          將虛擬服務綁定到某端口
Guest_enable=yes                                   虛擬用戶可以登陸
Guest_username=所設的用戶名              將虛擬用戶映射爲本地用戶
Chown_uploads=yes                                改變上傳文件的所有者爲root
Chown_username=root
Deny_email_enable=yes                           是否允許禁止匿名用戶使用某些郵件地址
Banned_email_file=//任意指定的路徑/xx/
Pasv_enable=yes                                     服務器端用被動模式
User_config_dir=/任意指定的路徑//任意文件目錄 指定虛擬用戶存放配置文件的路徑
上傳的ASCII傳輸方式Ascii_download_enable=yes                     啓用下載的ASCII傳輸方式Banner_file=/var/vsftpd_banner_file          用戶連接後歡迎信息使用的是此文件中的相關信息Idle_session_timeout=600(秒)              用戶會話空閒後10分鐘Data_connection_timeout=120(秒)       將數據連接空閒2分鐘斷Accept_timeout=60(秒)                      將客戶端空閒1分鐘後斷Connect_timeout=60(秒)                    中斷1分鐘後又重新連接Local_max_rate=50000(bite)             本地用戶傳輸率50K Anon_max_rate=30000(bite)              匿名用戶傳輸率30K Pasv_min_port=5000                             將客戶端的數據連接端口改在Pasv_max_port=6000                             5000—6000之間Max_clients=200                                    FTP的最大連接數Max_per_ip=4                                       每IP的最大連接數Listen_port=5555                                  從5555端口進行數據連接Local_enble=yes                                    本地帳戶能夠登陸Write_enable=no                                   本地帳戶登陸後無

 


1、如果我們想把beinan這個用戶目錄定位在/mnt/beifen這個目錄中,並且不能登錄系統;我們應該如下操作
root@localhost ~]# adduser -d /mnt/beifen -g ftp -s /sbin/nologin beinan
[root@localhost ~]# passwd beinan
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#

2、如何實現虛擬路徑?

比如:
/home/a 映射爲 ftp://localhost/a
/home/b/c 則爲 ftp://localhost/c


其實這個不能說是vsFTPd的內容,其實我們早就接觸過了,可能我們沒有注意,我們可以通過如下的方法來實現。
[root@localhost ~]# mount --bind [原有的目錄] [新目錄]


比如我的ftp的默認目錄是/var/ftp,我想把/mnt/LinG/WinSoft文件夾,映射到/var/ftp目錄中,我就如下操作

我們要先在/var/ftp目錄中建一個目錄
[root@localhost ~]# mkdir /var/ftp/WinSoft


然後執行mount命令
[root@localhost ~]# mount --bind /mnt/LinG/WinSoft /var/ftp/WinSoft
這樣就OK了。
3、端口有衝突。查看下:
#netstat -utl |grep 21 是不是被佔用

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章