CentOS基础系列五 :搭建FTP服务(详细图解)
一、FTP服務(wù)介紹
FTP ( File Transfer Protocol,文件傳輸服務(wù))服務(wù)是一種專門用于文件傳輸?shù)姆?wù),該服務(wù)使用的是文件傳輸協(xié)議,使用該服務(wù)將極大地方便文件的傳輸與管理。其最主要的功能是在服務(wù)器端與客戶端之間進(jìn)行文件的傳輸。FTP是以TCP封包的模式來(lái)進(jìn)行服務(wù)器與客戶端之間的連接的,當(dāng)連接建立后,用戶便可以在客戶端連接FTP服務(wù)器來(lái)進(jìn)行文件的上傳與下載,同時(shí)也可以直接管理用戶在FTP服務(wù)器上的文件。
1. 工作原理
FTP是基于客戶端/服務(wù)器模式的,其工作原理如下
(1)客戶端向服務(wù)器發(fā)出連接請(qǐng)求,同時(shí)客戶端系統(tǒng)動(dòng)態(tài)打開(kāi)一個(gè)大于1024的端口(比如 2888 )等候服務(wù)器連接。
(2)當(dāng)FTP服務(wù)器在端口21偵聽(tīng)到該請(qǐng)求后,會(huì)在客戶端1031端口和服務(wù)器的21端口之間建立起一個(gè)FTP會(huì)話連接。
(3)要傳輸數(shù)據(jù)時(shí),FTP客戶端再動(dòng)態(tài)打開(kāi)一個(gè)大于1024的端口(比如2889)連接到服務(wù)器的20端口,并在這兩個(gè)端口之間進(jìn)行數(shù)據(jù)的傳輸。
(4)數(shù)據(jù)傳輸完畢后,FTP客戶端將斷開(kāi)與FTP服務(wù)器的連接,客戶端上動(dòng)態(tài)分配的端口將自動(dòng)釋放掉。
二、安裝FTP服務(wù)
在使用ftp服務(wù)之前一定要記得關(guān)閉防火墻和selinux
[root@centos7-108 etc]# systemctl stop firewalld [root@centos7-108 etc]# setenforce 0 setenforce: SELinux is disabled1. 安裝ftp軟件包
[root@centos8-106 home]# rpm -qa | grep vsftpd vsftpd-3.0.3-32.el8.x86_64若沒(méi)有發(fā)現(xiàn)則沒(méi)有安裝軟件包,此時(shí)我們使用yum安裝軟件包
sudo 表示已管理員的身份執(zhí)行
2. FTP服務(wù)啟動(dòng)
systemctl start vsftpd.service3. FTP開(kāi)機(jī)啟動(dòng)
systemctl enable vsftpd.service三、FTP配置文件
1. 配置文件介紹
[root@centos7-108 ~]# tree /etc/vsftpd/ /etc/vsftpd/ ├── ftpusers # 所有位于此文件內(nèi)的用戶都不能訪問(wèn)vsFTPd服務(wù)。 ├── user_list # ftp 用戶名單,可以設(shè)置白名單或黑名單 ├── vsftpd.conf # ftp配置文件 └── vsftpd_conf_migrate.sh /etc/pam.d/vsftpd # vsFTPd的The Pluggable Authentication Module配置文件,它主要用來(lái)加強(qiáng)vsFTPd服務(wù)器的用戶認(rèn)證。先備份原來(lái)的vsftpd配置文件,然后去掉里面的注釋行,剩下的就是默認(rèn)配置
[root@centos7-108 ~]# cd /etc/vsftpd/ [root@centos7-108 vsftpd]# cp vsftpd.conf vsftpd.conf.bak [root@centos7-108 vsftpd]# grep -v "#" vsftpd.conf.bak > vsftpd.conf [root@centos7-108 vsftpd]# cat vsftpd.conf anonymous_enable=YES # 匿名用戶是否運(yùn)行登錄 local_enable=YES # 允許本地用戶登錄 FTP write_enable=YES # 運(yùn)行用戶在 FTP 目錄有寫入的權(quán)限 local_umask=022 # 設(shè)置本地用戶的文件生成掩碼為 022, 默認(rèn)是 077 dirmessage_enable=YES # 激活目錄信息,當(dāng)遠(yuǎn)程用戶更改目錄時(shí),將出現(xiàn)提示信息 xferlog_enable=YES # 啟用上傳和下載日志功能 connect_from_port_20=YES # 啟用 FTP 數(shù)據(jù)端口的連接請(qǐng)求 xferlog_std_format=YES # 是否使用標(biāo)準(zhǔn)的 ftpd xferlog 日志文件格式 listen=NO # 使 vsftpd 處于獨(dú)立啟動(dòng)監(jiān)聽(tīng)端口模式 listen_ipv6=YESpam_service_name=vsftpd # 設(shè)置PAM認(rèn)證服務(wù)配置文件名稱, 文件存放在/etc/pam.d/目錄 userlist_enable=YES # 用戶列表中的用戶是否允許登錄 FTP 服務(wù)器,默認(rèn)是不允許 tcp_wrappers=YES # 戶列表中的用戶是否允許登錄 FTP 服務(wù)器,默認(rèn)是不允許 [root@centos7-108 vsftpd]#2. 實(shí)現(xiàn)匿名登錄管理
匿名用戶登錄
查看ftp配置文件/etc/vsftpd/vsftpd.conf
此時(shí)我們使用匿名用戶登錄ftp服務(wù),匿名用戶的賬號(hào)名默認(rèn)為anonymous ,密碼為空
也可以通過(guò)文件管理器訪問(wèn)ftp服務(wù)
匿名用戶配置參數(shù)
在配置文件中加入?yún)?shù),給予上傳文件夾777權(quán)限。
測(cè)試,我們登錄ftp,上傳文件試試,成功上傳了文件
3. 實(shí)現(xiàn)本地用戶登錄
本地用戶創(chuàng)建及配置參數(shù)
- 創(chuàng)建本地用戶
- 添加配置文件參數(shù)
(1)創(chuàng)建用戶 jack
useradd jack # 創(chuàng)建用戶Jack passwd jack # 設(shè)置 jack 的登錄密碼 useradd tom passwd tom # 創(chuàng)建用戶,但是不能登錄終端,可以登錄FTP useradd -s /sbin/nologin mark # 創(chuàng)建用戶,當(dāng)不能登錄終端 sed -i '$a /sbin/nologin' /etc/shells # 用戶登錄登錄FTP
(2)本地用戶配置參數(shù)
(3)測(cè)試,先只打開(kāi)local_enable=YES ,運(yùn)行本地用戶登錄
匿名用戶登錄失敗
jack用戶登錄成功
小案例
實(shí)現(xiàn)jack用戶可以訪問(wèn)同級(jí)目錄下的文件,tom用戶不能離開(kāi)主目錄。用戶登錄默認(rèn)切換到home下面
實(shí)現(xiàn):
配置文件
- chroot_list 文件
- user_list 文件
- 測(cè)試tom
- 測(cè)試jack
4. 連接配置
## ============ 自定義連接配置 =============== ## max_clients=100 # 最多允許100個(gè)客戶端連接 max_per_ip=5 # 同時(shí)在線最多5個(gè) idle_session_timeout=15 # 設(shè)置連接超時(shí)時(shí)間好了,這是些簡(jiǎn)單的FTP配置,更深入的配置我也不會(huì),哈哈。希望大家能學(xué)有所成,天天開(kāi)心哈。
四、工具介紹
FTP連接工具很多,比如常見(jiàn)的有winscp,可以實(shí)現(xiàn)文件傳輸,還有filezilla,xftp等等。
使用工具可以很方便傳輸文件。
- filezilla
我使用的是這個(gè),之前有用過(guò)winscp,后面不知道為啥不用了。這是軟件截圖,用著還可以。
總結(jié)
以上是生活随笔為你收集整理的CentOS基础系列五 :搭建FTP服务(详细图解)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 超融合如何克服启动风暴
- 下一篇: tpx色卡电子版_潘通色卡电子版