1. <wbr id="cnjas"><legend id="cnjas"></legend></wbr>

          Linux培訓
          達內IT學院

          400-111-8989

          Linux下FTP配置備忘

          • 發布:Linux培訓
          • 來源:Linux運維
          • 時間:2016-07-20 14:19

          關于Linux下搭建FTP服務的文章網上有很多,但是大部分都局限于某一點,在實際操作過程中會遇到各種問題,針對本人在使用中用到的一些設置和出現的問題對網絡信息進行了歸納整理和總結。

          示例操作系統:CentOS.

          示例FTP軟件:VSFTPD.

          測試工具:windows cmd或者cuteftp、smartftp等工具

          一、VSFTPD環境安裝:

          輸入#rpm -qa |grep vsftpd檢測是否安裝了vsftpd軟件,

          如果沒有安裝,使用YUM命令進行安裝。即yum install vsftpd -y.

          安裝完成后啟動FTP。

          啟動命令#service vsftpd start

          停止命令#service vsftpd stop

          重啟命令#service vsftpd restart

          二、VSFTPD環境的初步配置:

          ftp的配置文件主要有三個,位于/etc/vsftpd/目錄下,分別是:

          ftpusers 該文件用來指定那些用戶不能訪問ftp服務器。

          user_list 該文件用來指示的默認賬戶在默認情況下也不能訪問ftp.

          vsftpd.conf vsftpd的主配置文件.

          ftpusers和user_list用來控制登錄用戶。

          ftpusers文件中的內容不受任何配制項的影響,總是有效,是一個黑名單!

          該文件存放的是一個禁止訪問FTP的用戶列表,通常為了安全考慮,管理員不希望一些擁有過大權限的帳號(比如root)登入FTP,以免通過該帳號從FTP上傳或下載一些危險位置上的文件從而對系統造成損壞。

          而user_list文件則是和vsftpd.conf中的userlist_enable和userlist_deny兩個配置項緊密相關的,它可以有效,也可以無效,有效時它可以是一個黑名單,也可以是一個白名單。

          userlist_enable和userlist_deny兩個選項聯合起來針對的是:本地全體用戶(除去ftpusers中的用戶)和出現在user_list文件中的用戶以及不在在user_list文件中的用戶這三類用戶集合進行的設置。

          當且僅當userlist_enable=YES時:userlist_deny項的配置才有效,user_list文件才會被使用;當其為NO時,無論userlist_deny項為何值都是無效的,本地全體用戶(除去ftpusers中的用戶)都可以登入FTP

          當userlist_enable=YES時,userlist_deny=YES時:user_list是一個黑名單,即:所有出現在名單中的用戶都會被拒絕登入;

          當userlist_enable=YES時,userlist_deny=NO時:user_list是一個白名單,即:只有出現在名單中的用戶才會被準許登入(user_list之外的用戶都被拒絕登入);另外需要特別提醒的是:使用白名單后,匿名用戶將無法登入!除非顯式在user_list中加入一行:anonymous

          而最常用的配置文件是vsftpd.conf,在配置完成后要運行#service vsftpd restart重啟FTP服務。

          vsftpd.conf中常用的配置內容:

          1、匿名用戶能否上傳和寫文件,一般配置為NO

          anon_upload_enable=NO

          anon_mkdir_write_enable=NO

          匿名用戶能否登錄,視情況而定,看是否是專有用戶使用。

          anonymous_enable=NO

          2、端口設定

          port_enable=YES,即默認情況下,FTP PORT主動模式被啟用

          connect_from_port_20=YES,即默認情況下,FTP PORT主動模式進行數據傳輸時使用20端口(ftp-data)。YES使用,NO不使用。

          ftp_data_port=port number,設定ftp數據傳輸端口(ftp-data)值。默認值為20。此參數用于PORT FTP模式。

          3、通信編碼模式

          默認情況下可以通過ascii模式傳輸。將配置改為NO后,只能通過binary形式傳輸。

          ascii_upload_enable=YES

          ascii_download_enable=YES

          三、為FTP添加用戶和目錄:

          添加用戶和用戶登錄的處理shell,并設定密碼。

          useradd -d /var/ftp -s /sbin/nologin ftp

          passwd pwftp

          為用戶設置權限:

          chmod -R 755 /var/ftp

          chown -R ftp /var/ftp

          用戶的登錄控制還可以參照上文中user_list進行設定。

          四、FTP 的主動與被動模式

          FTP是基于TCP的服務,在實際應用中有兩個接口:一個數據接口,一個控制接口。默認情況下這兩個端口是21(控制端口)和20(數據端口)。

          主動方式的FTP是:客戶端從一個任意的非特權端口N(N>1024)連接到FTP服務器的命令端口,也就是21端口。然后客戶端開始監聽端口N+1,并發送FTP命令“port N+1”到FTP服務器。接著服務器會從它自己的數據端口(20)連接到客戶端指定的數據端口(N+1)。

          被動方式,或者叫做PASV,當客戶端通知服務器它處于被動模式時才啟用。在被動方式FTP中,命令連接和數據連接都由客戶端發起.當開啟一個 FTP連接時,客戶端打開兩個任意的非特權本地端口(N>1024和N+1)。第一個端口連接服務器的21端口,但與主動方式的FTP不同,客戶端不會提交PORT命令并允許服務器來回連它的數據端口,而是提交 PASV命令。這樣做的結果是服務器會開啟一個任意的非特權端口(P > 1024),并發送PORT P命令給客戶端。然后客戶端發起從本地端口N+1到服務器的端口P的連接用來傳送數據。

          簡單的來說,可以認為兩者的區別主要在于客戶端和服務器端到底是由誰來確定非特權端口,也就是這一對TCP通信組合的通道。如果是客戶端先確定非特權端口就是主動模式,服務器端先確定非特權端口就是被動模式。(但實質上通信過程是不一樣的,這種說法只可以做簡單區分用)

          五、FTP相關的防火墻設定

          當Linux系統啟動了防火墻后,需要相應的對防火墻進行設定,防止防火墻阻斷FTP通信。

          支持主動方式FTP,防火墻設定:

          1. 任何大于1024的端口到FTP服務器的21端口。(客戶端初始化的連接)

          2. FTP服務器的21端口到大于1024的端口。 (服務器響應客戶端的控制端口)

          3. FTP服務器的20端口到大于1024的端口。(服務器端初始化數據連接到客戶端的 數據端口)

          4. 大于1024端口到FTP服務器的20端口(客戶端發送ACK響應到服務器的數據端口)

          支持被動方式的FTP,防火墻設定:

          1. 從任何大于1024的端口到服務器的21端口(客戶端初始化的連接)

          2. 服務器的21端口到任何大于1024的端口(服務器響應到客戶端的控制端口的連接)

          3. 從任何大于1024端口到服務器的大于1024端口(客戶端初始化數據連接到服務器指定的任意端口)

          4. 服務器的大于1024端口到遠程的大于1024的端口(服務器發送ACK響應和數據到客戶端的數據端口)

          下面以被動模式的防火墻為例給出示范:

          首先vi /etc/vsftpd/vsftpd.conf文件中配置開啟pasv被動模式:

          pasv_enable=YES

          設定非特權端口的通信范圍(示例只做參考):

          最小值pasv_min_port=10020

          最大值pasv_max_port=11020

          保存后注意配置后重啟vsftpd服務。

          然后vi /etc/sysconfig/iptables,配置系統防火墻:

          -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

          -A INPUT -p icmp -j ACCEPT

          -A INPUT -i lo -j ACCEPT

          -A INPUT -p tcp -m state --state NEW -m tcp --dport 10020:11020 -j ACCEPT

          -A INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

          -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

          保存后注意重啟iptables服務。

          如果FTP服務器為云服務器或者有局域網路由控制,除了單獨設定路由端口映射規則并在云服務器安全規則中添加例外,還要在/etc/vsftpd/vsftpd.conf中聲明被動模式的公網地址,以防端口映射出現問題:

          pasv_address=111.111.111.111(示例)

          pasv_addr_resolve=yes

          pasv_promiscuous=yes

          注:如果連接過程中出現200 PORT command successful. Consider using PASV.這條錯誤信息,不要輕易按照網上建議最多的關閉PASV模式,只采用主動模式。因為在很多情況下客戶端處于VLAN等網絡環境下,很難主動給出鏈接端口,不得不采用被動模式,出現這個錯誤并不能通過關閉PASV模式解決,而應該尋找PASV各方面的位置,找到配置中存在的問題進行解決。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:linux運維工程師必須掌握的基礎技能
          下一篇:Linux操作系統的十大版本

          在Linux中設置sudo的十條sudoers實用配置

          Linux下安裝Node.js詳細完整教程

          深入 Linux I/O 重定向

          安裝Linux時的注意事項

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          欧美做爰视频免费播放_做暖全过程免费的视频_性爱免费视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>