1.linux
yum install vsftpd
2.啓動/重啓/關閉vsftpd服務器
shell
[root@localhost ftp]# /sbin/service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
OK表示重啓成功了.
啓動和關閉分別把restart改成start/stop便可.
若是是源碼安裝的,到安裝文件夾下找到start.sh和shutdown.sh文件,執行它們就能夠了.
windows
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服務器了.
session
[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裏設置一下就能夠讀寫了.
ui
local_enable=yes write_enable=yes local_umask=022
5.匿名上傳下載
修改配置文件便可vsftpd.conf,肯定有如下幾行,沒有本身添加進去就能夠了.
spa
anonymous_enable=yes anon_upload_enable=yes anon_mkdir_write_enable=yes anon_umask=022
而後你能夠新建一個文件夾,修改它的權限爲徹底開放,任何用戶就能夠登陸這個文件夾,並上傳下載文件:
.net
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下建立一個對應的目錄便可