vsftpd 安裝(Linux)
1、安裝系統環境
centos 6.9 64位
2、vsftpd版本
vsftpd-2.2.2-24.el6.x86_64
3、安裝步驟
1.安裝
執行 yum -y install vsftpd
eg:linux
(1)是否使用sudo權限執行請根據您具體環境來決定
(2)rpm -qa |grep vsftpd 可經過這個檢查是否已經安裝vsftpd
(3)默認配置文件在/etc/vsftpd/vsftpd.conf
2.建立虛擬用戶
(1)選擇在根或者用戶目錄下建立ftp文件夾:mkdir ftpfile
(2)添加匿名用戶:useradd ftpuser -d /ftpfile -s /sbin/nologin
(3)修改ftpfile權限:chown -R ftpuser.ftpuser /ftpfile
(4)重設ftpuser密碼:passwd ftpuser
3. 配置
(1)cd /etc/vsftpd
(2)sudo vi chroot_list
(3)把剛纔新增的虛擬用戶添加到此配置文件中,後續要引用
(4):wq退出
(5)sudo vi /etc/selinux/config,修改成SELINUX=disabled
(6):wq保存退出
eg:若是一會驗證的時候噴到550拒絕訪問請執行:
sudo setsebool -P ftp_home_dir l
而後重啓Linux服務器,執行reboot命令
(7)執行:#sudo vi /etc/vsftpd/vsftpd.conf
4.防火牆配置
(1) vi /etc/sysconfig/iptables
(2)#vsftpd
-A INPUT -p TCP --dport 61001:62000 -j ACCEPT
-A OUTPUT -P TCP --sport 61001:62000 -j ACCEPT
-A INPUT -p TCP --dport 20 -j ACCEPT
-A OUTPUT -p TCP --sport 20 -j ACCEPT
-A INPUT -p TCP --dport 21 -j ACCEPT
-A OUTPUT -p TCP --sport 21 -j ACCEPT
(3):wq保存退出
(4)sudo service iptables restart(重啓防火牆)
4、vsftpd驗證
1.執行 sudo service vsftpd restart
注: 第一次啓動時Shutting down vsftpd是failed不用理會,
由於這是重啓命令,保證Starting vsftpd 是OK即表明vsftpd服務成功啓動
2.執行ifconfig查看運行vsftpd服務器的ip地址
3.在瀏覽器輸入:http://vsftpd服務器的ip地址
4.輸入以前建立的ftp匿名用戶帳號和密碼
5.看到如圖所示就表明成功
6.經過ftp客戶端軟件(filezilla、cuteftp、viperftp)進行鏈接ftp服務器,進行文件上傳、下載驗證
5、經常使用命令
1.啓動:sudo service vsftpd start
2.關閉;sudo service vsftpd stop
3.重啓:sudo srvice vsftpd restart
ftpserver安裝(window)
1、安裝系統環境
windows10 64位
基本用到的配置項:
1)local_root=/ftpfile(當本地用戶登入時,將被更換到定義的目錄下,默認值爲各用戶的家目錄)
2)anon_root=/ftpfile(使用匿名登入時,所登入的目錄)
3)use_localtime=YES(默認是GMT時間,改爲使用本機系統時間)
4)anonymous_enable=NO(不容許匿名用戶登陸)
5)local_enable=YES(容許本地用戶登陸)
6)write_enable=YES(本地用戶能夠在本身家目錄中進行讀寫操做)
7)local_umask=022(本地用戶新增檔案時的umask值)
8)dirmessage_enable=YES(若是啓動這個選項,那麼使用者第一次進入一個目錄時,會檢查該目錄下是否有.message這個檔案,若是有,則會出現此檔案的內容,一般這個檔案會放置歡迎話語,或是對該目錄的說明。默認值爲開啓)
9)xferlog_enable=YES(是否啓用上傳/下載日誌記錄。若是啓用,則上傳與下載的信息將被完整紀錄在xferlog_file 所定義的檔案中。預設爲開啓。)
10)connect_from_port_20=YES(指定FTP使用20端口進行數據傳輸,默認值爲YES)
11)xferlog_std_format=YES(若是啓用,則日誌文件將會寫成xferlog的標準格式)
12)ftpd_banner=Welcome to mmall FTP Server(這裏用來定義歡迎話語的字符串)
13)chroot_local_user=NO(用於指定用戶列表文件中的用戶是否容許切換到上級目錄)
14)chroot_list_enable=YES(設置是否啓用chroot_list_file配置項指定的用戶列表文件)
15)chroot_list_file=/etc/vsftpd/chroot_list(用於指定用戶列表文件)
16)listen=YES(設置vsftpd服務器是否以standalone模式運行,以standalone模式運行是一種較好的方式,此時listen必須設置爲YES,此爲默認值。建議不要更改,有不少與服務器運行相關的配置命令,須要在此模式下才有效,若設置爲NO,則vsftpd不是以獨立的服務運行,要受到xinetd服務的管控,功能上會受到限制)
17)pam_service_name=vsftpd(虛擬用戶使用PAM認證方式,這裏是設置PAM使用的名稱,默認便可,與/etc/pam.d/vsftpd對應) userlist_enable=YES(是否啓用vsftpd.user_list文件,黑名單,白名單均可以
18)pasv_min_port=61001(被動模式使用端口範圍最小值)
19)pasv_max_port=62000(被動模式使用端口範圍最大值)
20)pasv_enable=YES(pasv_enable=YES/NO(YES)
若設置爲YES,則使用PASV工做模式;若設置爲NO,則使用PORT模式。默認值爲YES,即便用PASV工做模式。
FTP協議有兩種工做方式:PORT方式和PASV方式,中文意思爲主動式和被動式。
1、PORT(主動)方式的鏈接過程是:客戶端向服務器的FTP端口(默認是21)發送鏈接請求,服務器接受鏈接,創建一條命令鏈路。
當須要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴服務器:「我打開了****端口,你過來鏈接我」。因而服務器從20端口向客戶端的****端口發送鏈接請求,創建一條數據鏈路來傳送數據。
2、PASV(被動)方式的鏈接過程是:客戶端向服務器的FTP端口(默認是21)發送鏈接請求,服務器接受鏈接,創建一條命令鏈路。
當須要傳送數據時,服務器在命令鏈路上用 PASV命令告訴客戶端:「我打開了****端口,你過來鏈接我」。因而客戶端向服務器的****端口發送鏈接請求,創建一條數據鏈路來傳送數據。
從上面能夠看出,兩種方式的命令鏈路鏈接方法是同樣的,而數據鏈路的創建方法就徹底不一樣。而FTP的複雜性就在於此。
)windows