1.安裝vsftpd:yum install vsftpd
2.啟動/重啟/關閉vsftpd伺服器
[root@localhost ftp]# /sbin/service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
OK表示重啟成功了.
啟動和關閉分別把restart改為start/stop即可. 
假如是源碼安裝的,www.linuxidc.com到安裝文件夾下找到start.sh和shutdown.sh文件,執行它們就可以了.
3.與vsftpd伺服器有關的文件和文件夾
vsftpd伺服器的配置文件的是: /etc/vsftpd/vsftpd.conf 
vsftpd伺服器的根目錄,即ftp伺服器的主目錄:
在/var/ftp處pub處
假如你想修改伺服器目錄的路徑,那麼你只要修改/var/ftp到別處就行了 
4.添加FTP本地用戶
有的FTP伺服器需要用戶名和密碼才能登錄,就是因為設置了FTP用戶和許可權.
FTP用戶一般是不能登錄系統的,只能進入FTP伺服器自己的目錄中,這是為了安全.這樣的用戶就叫做虛擬用戶了.實際上並不是真正的虛擬用戶,只是不能登錄SHELL了而已,沒能力登錄系統. 
/usr/sbin/adduser -d /opt/test_ftp -g ftp -s /sbin/nologin test
這個命令的意思是:
使用命令(adduser)添加test用戶,不能登錄系統(-s /sbin/nologin),自己的文件夾在(-d /opt/test_ftp)),屬於組ftp(-g ftp)
然後你需要為它設置密碼 passwd test
這樣就添加了一個FTP 用戶了.下面的示例可以幫助你進入FTP伺服器了. 
[root@localhost ftp]# ftp
ftp> open 192.168.0.33
Connected to 192.168.0.33 (192.168.0.33).
220 (vsFTPd 2.0.5)
Name (192.168.0.33:gxl): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye. 
在windows中,只要在瀏覽器中輸入 ftp://192.168.0.33 進入FTP伺服器,然後右鍵登錄,輸入用戶名和密碼就可以登錄自己的目錄了.
當然你要保證自己能讀寫自己的目錄,就要在配置文件 vsftpd.conf里設置一下就可以讀寫了.
local_enable=yes
write_enable=yes
local_umask=022 
5.匿名上傳下載
修改配置文件即可vsftpd.conf,確定有以下幾行,沒有自己添加進去就可以了.
anonymous_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_umask=022 
然後你可以新建一個文件夾,修改它的許可權為完全開放,任何用戶就可以登錄這個文件夾,並上傳下載文件:
mkdir /var/ftp/guest
chmod 777 /var/ftp/guest 
6.定製進入FTP伺服器的歡迎信息
在vsftpd.conf文件中設置:
dirmessage_enable=yes
然後進入用戶目錄建立一個.message文件,輸入歡迎信息即可(我這裡寫入的是Welcome to gxlinux’s FTP!):
[root@localhost test_ftp]# ftp 192.168.0.33
Connected to 192.168.0.33 (192.168.0.33). 
220 (vsFTPd 2.0.5)
Name (192.168.0.33:gxl): test
331 Please specify the password.
Password:
230-Welcome to gxlinux’s FTP!
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.  
7.實現虛擬路徑
將某個目錄掛載到FTP伺服器下供用戶使用,這就叫做虛擬路徑.
比如將gxl用戶的目錄掛載到FTP伺服器中,供 FTP伺服器的用戶使用,使用如下命令即可:
[root@localhost opt]# mount –bind /home/gxl /var/ftp/pub #使用掛載命令
[root@localhost opt]# ls /var/ftp/pub
LumaQQ Screenshot.png 桌面 
8.打開vsFTPd的日誌功能
添加下面一行到vsftpd.conf文件中,一般情況下該文件中有這一行,只要把前面的注釋符號#去掉即可,沒有的話就添加,或者修改:
xferlog_file=/var/log/vsftpd.log 
9.限制鏈接數,以及每個IP最大的鏈接數
修改配置文件中,例如vsftp最大支持鏈接數100個,每個IP能支持5個鏈接:
max_client=100
max_per=5 
10.限制傳輸速度
修改配置文件中,例如讓匿名用戶和vsftd上的用戶(即虛擬用戶)都以80KB=1024*80=81920的速度下載
anon_max_rate=81920
local_max_rate=81920 
11.將用戶(一般指虛擬用戶)限制在自家目錄
修改配置文件中,這樣用戶就只能訪問自己家的目錄了:
chroot_local_user=yes
假如只想某些用戶僅能訪問自己的目錄,其它用戶不做這個限制,那麼就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用戶.
編輯此文件,比如將test用戶添加到此文件中,那麼將其寫入即可.一般的話,一個用戶佔一行.
[root@localhost vsftpd]# cat chroot_list
test 
12.綁定某個IP到vsFTPd
有時候要限制某些IP訪問伺服器,只答應某些IP訪問,例如只答應192.168.0.33訪問這個 FTP,同樣修改配置文件:
listen_address=192.168.0.33 
配置vsftpd.conf
                   anonymous_enable=NO                    #禁止匿名
                   local_enable=YES                       #答應本地登錄
                   write_enable=YES                       #答應寫,如需上傳,則必須
                   local_umask=027                        #將上傳文件的許可權設置為:777-local_umask
                   anon_upload_enable=YES                #答應虛擬用戶和匿名用戶上傳
                   anon_other_write_enable=YES            #答應虛擬用戶和匿名用戶修改文件名和刪除文件
                   dirmessage_enable=YES          
                   xferlog_enable=YES                      #打開日誌記錄
                   connect_from_port_20=YES
                   xferlog_file=/var/log/vsftpd.log       #日誌存放位置
                   xferlog_std_format=YES                 #標準日誌格式
                   idle_session_timeout=600               #空閑連接超時
                   data_connection_timeout=120
                   ftpd_banner=Welcome to ChinaRise FTP service       #歡迎信息
                   guest_enable=yes                       #答應虛擬用戶
                   guest_username=vsftpdguest             #虛擬用戶使用的系統賬號
                   virtual_use_local_privs=YES            #虛擬用戶擁有本地系統許可權 
                   chroot_local_user=NO             
                   chroot_list_enable=YES                 #以上兩行將虛擬用戶限制在其目錄下,不能訪問其他目錄,或者直接用
                   chroot_local_user=YES                               
                   listen=yes                           #監聽/被動模式
                   listen_port=21                       #監聽埠 
                   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list      #虛擬用戶名單保存在文件/etc/vsftpd/vsftpd.chroot_list 中
                   user_config_dir=/etc/vsftpd/vsftpd_user_conf       #每個虛擬用戶名的更加具體的培植保存在/etc/vsftpd/vsftpd_user_conf 中 
虛擬用戶其他設置
在/etc/vsftpd/vsftpd.chroot_list 文件中寫入答應登陸的虛擬用戶名稱,每行一個
在/etc/vsftpd/vsftpd_user_conf 文件夾中創建一個以虛擬用戶用戶名命名的文件,
寫入:local_root = /var/FTP/子目錄名
然後在/var/FTP下創建一個對應的目錄即可 
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=50000 | 將客戶端的數據連接埠改在 | 
| Pasv_max_port=60000 | 50000—60000之間 | 
| 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=/任意指定的路徑/vsftpd.chroot_list | 前提是chroot_local_user=no | 
| 這又是一組 | |
| Userlist_enable=yes | 在指定的文件中的用戶不可以訪問 | 
| Userlist_deny=yes | |
| Userlist_file=/指定的路徑/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=所設的用戶名 | 將虛擬用戶映射為本地用戶 | 
| User_config_dir=/任意指定的路徑/為用戶策略自己所建的文件夾 | 指定不同虛擬用戶配置文件的路徑 | 
| 又是一組 | |
| Chown_uploads=yes | 改變上傳文件的所有者為root | 
| Chown_username=root | |
| 又是一組 | |
| Deny_email_enable=yes | 是否允許禁止匿名用戶使用某些郵件地址 | 
| Banned_email_file=//任意指定的路徑/xx/ | |
| 又是單的 | |
| Pasv_enable=yes | 伺服器端用被動模式 | 
| User_config_dir=/任意指定的路徑//任意文件目錄 | 指定虛擬用戶存放配置文件的路徑 | 
 VPSMVP部落 - 便宜VPS|VPS優惠|VPS測評|美國VPS|VPS教程
VPSMVP部落 - 便宜VPS|VPS優惠|VPS測評|美國VPS|VPS教程





 
		