centos7.1 1503部署FTP

一、簡述

FTP服務器(File Transfer Protocol Server)是在互聯網上提供文件存儲和訪問服務的計算機,它們依照FTP協議提供服務。

FTP(File Transfer Protocol: 文件傳輸協議)作用: Internet 上用來傳送文件的協議

功能:用來實現文件的上傳(upload)和下載(download)

ftp的工作端口:
21 : 控制端口,用於在客戶機和服務器之間建立連接

         20 : 數據端口,用於服務器給客戶機主動進行數據連接

vsftpd:非常安全文件傳輸協議守護進程(very secure ftp daemon)

ftp的工作模式:主動port、被動passive模式

客戶端與服務端傳輸數據時,服務端傳輸端口爲20時爲主動模式,傳輸端口爲>1024的隨機端口時爲被動模式

ftp主動(port)模式工作過程:

1.客戶機和服務器建立連接關係(登錄): 客戶機(>1024的隨機端口號) <----> 服務器 21號port

2.雙方建立數據連接關係,傳輸數據:客戶機(>1024的隨機port) <----> 服務器 20號port

ftp被動(pasv)模式工作過程:

1.客戶機和服務器建立連接關係(登錄): 客戶機(>1024的隨機端口號) <----> 服務器 21號port

2.雙方建立數據連接關係,傳輸數據:客戶機(>1024的隨機port) <----> 服務器(>1024的隨機port)

說明:當ftp服務器上有防火牆時,通常客戶機是以被動模式去訪問ftp服務器的。在ftp服務器的vsftpd.conf和防火牆上要指定放行的被動模式端口範圍的最小值和最大值。

二、部署過程

1、# yum install vsftpd ftp lftp -y //會安裝以下包
ftp.x86_64 0:0.17-67.el7
vsftpd.x86_64 0:3.0.2-22.el7
lftp.x86_64 0:4.4.8-8.el7_3.2
2、相關配置文件:

/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件

/etc/vsftpd/ftpusers:用於指定哪些用戶不能訪問FTP 服務器。 黑名單

/etc/vsftpd/user_list:指定允許使用vsftpd 的用戶列表文件。 白名單

3、備份配置文件後修改:
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
grep -v “^#” ./vsftpd.conf.bak>./vsftpd.conf
vim vsftpd.conf

1.允許匿名用戶訪問:
listen_port=6069   ##修改ftp服務側端口
pasv_enable=YES
pasv_min_port=10221   ##被動連接端口
pasv_max_port=10231
pasv_promiscuous=YES
ftpd_banner=Welcome to XXX.com FTP service
anonymous_enable=YES             #是否允許匿名用戶訪問;(默認YES)

2.允許匿名用戶上傳文件並可以創建目錄:

anon_upload_enable=YES            #允許匿名用戶上傳文件;

anon_mkdir_write_enable=YES        #允許匿名用戶創建目錄;

3.允許匿名用戶刪除文件和文件命名:

anon_other_write_enable=YES        #允許匿名用戶命名文件刪除文件;

4.設置匿名用戶所上傳的文件的默認掩碼值:

anon_umask=022                      #......

5.設置匿名用戶的FTP根目錄(默認爲/var/ftp/)

anon_root=/var/ftp                  #......

給匿名用戶權限最好不要太大,建議755   

注:實際生活中,匿名用戶只是只讀訪問,寫的權限也沒有。

本地用戶:

1.允許本地用戶登錄:

local_enable=YES                #允許本地用戶登錄

2.設置本地用戶的FTP根目錄(默認爲用戶的宿主目錄)

Local_root=/var/ftp
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

3.本地用戶上傳的默認權限掩碼值:

Local_umask=022

4.設置本地用戶上傳寫入支持:

write_enable=YES                #啓動上傳寫入支持

5.爲不同的虛擬用戶建立獨立的配置文件:

    user_config_dir=/etc/vsftp/vusers_dir      #設置從/etc/vsftp/vusers_dir目錄中查找每個用戶的獨立配置文件;

添加虛擬用戶:

pam_service_name=vsftpd.vu       //修改

userlist_enable=NO                  //修改

anon_root=/var/ftp/soft             //末尾添加

guest_enable=yes                //添加

guest_username=zhangsan          //添加

user_config_dir=/etc/vsftpd/vusers_dir    //添加

allow_writeable_chroot=YES     

完成修改端口還需要修改/etc/services
ftp 6069/tcp

ftp 6069/udp

注意:/etc/services文件是記錄網絡服務名和它們對應使用的端口號及協議。
文件中的每一行對應一種服務,它由4個字段組成,中間用TAB或空格分隔,分別表示“服務名稱”、“使用端口”、“協議名稱”以及“別名”。

端口說明:
1–1023 系統保留,只能由root用戶使用
1024—4999 由客戶端程序自由分配
5000—65535 由服務器端程序自由分配

4、驗證:
lftp 用戶名:密碼@ftp地址:傳送端口(默認21)

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