怎樣進(jìn)行l(wèi)inuxftp服務(wù)的搭建配置

今天就跟大家聊聊有關(guān)怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)站營銷推廣,域名申請,網(wǎng)頁空間,網(wǎng)站托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請聯(lián)系成都創(chuàng)新互聯(lián)公司。

FTP介紹

FTP:是文件傳輸協(xié)議的縮寫。

功能:用來實(shí)現(xiàn)文件的上傳(upload)和下載(download)

ftp的工作端口: 21 : 控制端口,用于在客戶機(jī)和服務(wù)器之間建立連接

                       20 : 數(shù)據(jù)端口,用于服務(wù)器給客戶機(jī)主動進(jìn)行數(shù)據(jù)連接

vsftpd:非常安全文件傳輸協(xié)議守護(hù)進(jìn)程(very secure ftp daemon)

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

客戶端與服務(wù)端傳輸數(shù)據(jù)時,服務(wù)端傳輸端口為20時為主動模式,傳輸端口為>1024的隨機(jī)端口時為被動模式

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

1.客戶機(jī)和服務(wù)器建立連接關(guān)系(登錄): 客戶機(jī)(>1024的隨機(jī)端口號)  <---->   服務(wù)器 21號port

2.雙方建立數(shù)據(jù)連接關(guān)系,傳輸數(shù)據(jù):客戶機(jī)(>1024的隨機(jī)port) <---->   服務(wù)器 20號port

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

1.客戶機(jī)和服務(wù)器建立連接關(guān)系(登錄): 客戶機(jī)(>1024的隨機(jī)端口號)  <---->   服務(wù)器 21號port

2.雙方建立數(shù)據(jù)連接關(guān)系,傳輸數(shù)據(jù):客戶機(jī)(>1024的隨機(jī)port) <---->   服務(wù)器(>1024的隨機(jī)port)

說明:當(dāng)ftp服務(wù)器上有防火墻時,通??蛻魴C(jī)是以被動模式去訪問ftp服務(wù)器的。在ftp服務(wù)器的vsftpd.conf和防火墻上要指定放行的被動模式端口范圍的最小值和最大值。

vsftpd.conf 的被動模式端口范圍:

pasv_min_port=5000

pasv_max_port=6000

vsftpd部署思路:

1.關(guān)閉安全功能,并查狀態(tài):

    systemctl  stop  firewalld    ;  setenforce  0                  #關(guān)閉防火墻及selinux安全設(shè)置

    systemctl  status  firewalld  ;  getenforce                    #查看防火墻狀態(tài),檢查是否關(guān)閉

2.查軟件是否已安裝,如果未安裝就安裝軟件。

    rpm  -q  vsftp  ftp  lftp                                                  #vsftpd是服務(wù)器端程序, ftp lftp為客戶端程序 

3.啟動服務(wù),并允許開機(jī)自動啟動

   systemctl  restart  vsftpd                                               #重啟vsftpd服務(wù)

   systemctl  enable  vsftpd                                               #設(shè)置vsftpd開機(jī)自啟動

4.設(shè)置共享目錄,重新加載設(shè)置。

5.做本地(內(nèi)測)訪問測試,做異地(公測)訪問測試。

實(shí)驗(yàn)環(huán)境:

centos7.6 (以本機(jī)IP為例 192.168.11.11)

安裝步驟:

yum  install -y  vsftpd  ftp  lftp                              #使用yum安裝vsftpd  ftp  lftp 軟件systemctl  restart  vsftpd                                      #啟動服務(wù)systemctl  enable  vsftpd                                       #設(shè)置開機(jī)自啟動systemctl  status  vsftpd                                       #查看服務(wù)狀態(tài),為running 時則服務(wù)啟動成功

共享需要的文件:

vsftpd的默認(rèn)共享目錄:

1.匿名用戶(ftp或anonymous)共享:/var/ftp目錄

2.普通用戶:訪問的是普通用戶自己的家目錄,通常是"/home/用戶名"文件夾

注意:root用戶默認(rèn)不能登錄vsftpd服務(wù)器來訪問共享,因?yàn)閞oot賬號在黑名單里。

服務(wù)測試:

 方式一: ftp 192.168.11.11  回車 再按照提示輸入用戶密碼即可登陸

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

 方式二: lftp  192.168.11.11  -u  用戶名,密碼  即可登陸成功 (例: 用戶名為tom  密碼為0 登陸)

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

 在window下可以用資源管理器進(jìn)行登陸: ftp://192.168.11.11

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

vsftpd配置文件:  rpm  -qc  vsftpd  (查看vsftpd的配置文件)

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

主配置文件為 /etc/vsftpd/vsftpd.conf

FTP服務(wù)功能及修改對應(yīng)配置文件介紹

黑名單功能:

/etc/vsftpd/ftpusers  和  /etc/vsftpd/user_list  為黑名單文件

功能:可以把用戶設(shè)置為黑白名單,限制用戶訪問

例:root用戶默認(rèn)在黑名單中,把兩個上述文件中的root用#號注釋即可用root用戶訪問

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

也可以把其他用戶加入黑名單中

(注: user_list 可以設(shè)置為白名單,在/etc/vsftpd/vsftpd.conf 配置文件中最后一行添加 userlist_deny=NO )

添加后重啟服務(wù),白名單的用戶可以訪問,而非白名單用戶不能訪問,當(dāng)黑白名單同時存在時,黑名單優(yōu)先級大于白名單,也就是只要出現(xiàn)在  黑名單就不能正常登陸服務(wù)

建議:修改配置文件時最好先備份文件

chroot牢籠功能:

因登陸的用戶訪問的是自身的家目錄,但可以通過命令查看其他文件,比如根目錄或其他配置文件,所以可以使用chroot牢籠功能限制,只  允許登陸的用戶訪問自己的家目錄

chroot牢籠分為四種情況:

 1.全部用戶不加鎖(默認(rèn),但不安全)

 2.全部加鎖

 3.少數(shù)用戶不加鎖

 4.少數(shù)用戶加鎖

情況一:使用vim 編輯 配置文件/etc/vsftpd/vsftpd.conf ,并用set nu顯示行號,可以看到以下行數(shù)的配置文件,默認(rèn)不加鎖,不用修改

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

情況二:啟動所有普通用戶的牢籠功能(即對所有人加鎖)

按照上述步驟編輯配置文件/etc/vsftpd/vsftpd.conf ,set nu顯示行號,去除101行#號,并添加allow_writeable_chroot=YES,如下圖所示:

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

情況三:給指定少數(shù)用戶不啟用牢籠功能(即少數(shù)人不加鎖)

同理編輯配置文件,并指定白名單路徑,如下圖所示:

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

vim編輯/etc/vsftpd/chroot_list,添加不需要啟用牢籠功能的用戶,再重啟服務(wù)即可

情況四:給指定的少數(shù)普通用戶啟用牢籠功能(即少數(shù)人加鎖)

編輯配置文件如下圖所示:

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

用#號注釋掉101行 chroot_local_user=YES,此時只有文件/etc/vsftpd/chroot_list 中的用戶啟用了牢籠功能

最后重啟服務(wù)(注:每次修改完配置文件都得重啟服務(wù)  systemctl  restart  vsftpd)

anonymous匿名用戶功能

實(shí)際作用:實(shí)現(xiàn)允許anonymous匿名用戶對共享文件具有可讀可寫的權(quán)限

分析:想實(shí)現(xiàn)上述功能必須滿足以下條件

1.文件共享軟件必須允許這個用戶有可讀可寫的權(quán)限。

2.用戶對共享目錄自身要有可讀可寫的權(quán)限。

3.匿名用戶僅允許上傳文件到/var/ftp中的子目錄中。如/var/ftp/upload,且ftp匿名用戶對upload目錄要有可讀可寫權(quán)限。

(警告:/var/ftp目錄的屬主、屬組不允許修改,且other權(quán)限不允許有w可寫權(quán)限,否則用ftp匿名用戶訪問共享時會提示下面這個500錯誤:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

           Login failed.

           421 Service not available, remote server has closed connection)

實(shí)際操作步驟:

1.編輯配置文件/etc/vsftpd/vsftpd.conf ,去除29 , 30行的#號,再添加兩行代碼,如圖所示:

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

#anon_upload_enable=YES        允許匿名用戶上傳#anon_mkdir_write_enable=YES   允許匿名用戶用mkdir創(chuàng)建目錄anon_other_write_enable=YES    允許匿名用戶執(zhí)行rm刪除等操作(添加此行)anon_world_readable_only=NO    關(guān)閉匿名用戶只讀的限制(為YES時會無法下載)

2.用root用戶創(chuàng)建/var/ftp/upload目錄,權(quán)限為777或?qū)僦骱蛯俳M均為ftp,重啟vsftpd服務(wù),使用ftp登陸,即可實(shí)現(xiàn)匿名共享

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

ftp服務(wù)限速功能:  

即對不同用戶限制不同的文件傳輸速度

1.在配置文件/etc/vsftpd/vsftpd.conf 中添加如下內(nèi)容:

user_config_dir=/etc/vsftpd/userconf                        #指定個性化配置文件的主目錄

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

2.創(chuàng)建指定個性化配置文件的主目錄: mkdir -pv /etc/vsftpd/userconf

使用vim 創(chuàng)建編輯 /etc/vsftpd/userconf/gg

添加內(nèi)容: local_max_rate=2000000          #即對名為gg的用戶上傳和下載速度限制為2MB/s

vsftpd的tcp_wrapers防火墻設(shè)置:

tcp_wrapers功能:一個迷你的防火墻,可以用來做基于tcp協(xié)議的應(yīng)用程序的ip安全訪問控制

配置文件: /etc/hosts.allow (白名單)  ;  /etc/hosts.deny (黑名單)

!技巧:讓少數(shù)人為白戶,那么先在hosts.deny中做拒絕所有(all)黑名單,然后在hosts.allow中做少數(shù)IP的放行白名單。

設(shè)置舉例:

格式說明: 守護(hù)進(jìn)程名稱 : 主機(jī)名或IP地址

vim  /etc/hosts.deny           #黑名單

vsftpd:192.168.11.1              #拒絕192.168.11.1這臺主機(jī)訪問vsftpd共享

sshd:192.168.11.1                 #拒絕192.168.11.1這臺主機(jī)訪問sshd共享

vsftpd虛擬用戶功能:

虛擬用戶:即非useradd創(chuàng)建的用戶賬號(非/etc/passwd中的賬號),而是用vim創(chuàng)建的屬于vsftpd的獨(dú)立用戶賬號。

虛擬用戶的優(yōu)勢:可以避免系統(tǒng)中的用戶賬號過多,讓vsftpd文件共享軟件獨(dú)立管理自己的用戶賬號。

虛擬用戶賬號文件格式:

文件中的奇數(shù)行是用戶賬號,偶數(shù)行是用戶的密碼。

例:

1.創(chuàng)建虛擬用戶賬號文件:vim /etc/vsftpd/vuser.txt,輸入圖中內(nèi)容,即創(chuàng)建虛擬用戶f1,f2,f3,密碼為123456

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

2.將虛擬用戶賬號轉(zhuǎn)換成加密的數(shù)據(jù)庫格式文件。

yum  install  -y  libdb-utils                                 #安裝libdb-utils

cd  /etc/vsftpd                                                     #cd到/etc/vsftpd目錄下

db_load  -T  -t  hash  -f  /etc/vsftpd/vuser.txt  /etc/vsftpd/vuserdb.db         #用hash算法對vuser.txt轉(zhuǎn)化格式為.db

chmod  -v  600  /etc/vsftpd/vuserdb.db              #給予文件/etc/vsftpd/vuserdb.db 權(quán)限

3.在vsftpd的pam認(rèn)證文件中添加虛擬用戶賬號文件的認(rèn)證關(guān)系。

vim  /etc/pam.d/vsftpd , 在文件開頭插入以下兩行,并如圖:

auth  sufficient  pam_userdb.so     db=/etc/vsftpd/vuserdb

account  sufficient  pam_userdb.so  db=/etc/vsftpd/vuserdb (代碼作用:既能讓虛擬用戶訪問共享,也能讓普通用戶訪問共享。)

怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置

4.用useradd創(chuàng)建一個普通用戶賬號qq

 useradd  qq  -s  /sbin/nologin                #創(chuàng)建一個名為qq的用戶,指定登錄shell為.sbin/nologin

5.在vsftpd.conf配置文件中設(shè)置一個真實(shí)用戶賬號,并將真實(shí)用戶賬號vftper和虛擬用戶賬號文件關(guān)聯(lián)起來。

 vim  vsftpd.conf 在文件最后添加如下內(nèi)容:

 guest_enable=YES                                        #允許來賓用戶訪問共享,即虛擬用戶

 guest_username=vftper                               # 指定來賓用戶名為vftper用戶(即第4步新建的用戶)

 user_config_dir=/etc/vsftpd/vuser_conf     #指定用戶配置文件目錄

 allow_writeable_chroot=YES                       #允許chroot功能下執(zhí)行寫操作(必須加此行,否則會登錄失敗)

6.給每個虛擬用戶賬號設(shè)置獨(dú)立的共享訪問速度和訪問目錄。

cd  /etc/vsftpd

mkdir  -v  vuser_conf

cd  vuser_conf                                             #在/etc/vsftpd目錄下,創(chuàng)建vuser_conf目錄

#創(chuàng)建f1、f2虛擬用戶的會員個性化設(shè)置文件,允許f1這個虛擬用戶在自己的家目錄中可讀可寫。

touch  f1  f2

mkdir  -v  /home/vftper/{f1,f2}

chmod  -v  777  /home/vftper/{f1,f2}

vim  f1 輸入內(nèi)容:

                    write_enable=YES

                    anon_world_readable_only=NO

                    anon_upload_enable=YES

                    anon_mkdir_write_enable=YES

                    anon_other_write_enable=YES

                    local_root=/home/vftper/f1

#允許f2這個用戶在自己的家目錄中可讀,但不可寫。

vim  f2 輸入內(nèi)容:

                    local_root=/home/vftper/f2        #只寫這行,其余行可以不寫

                    write_enable=NO

                    anon_world_readable_only=NO

                    anon_upload_enable=NO

                    anon_mkdir_write_enable=NO

                    anon_other_write_enable=NO

7.重啟vsftpd服務(wù),并分別用虛擬用戶賬號訪問共享。

    systemctl  restart  vsftpd

    ftp  192.168.11.11 -->用f1、f2虛擬用戶分別訪問共享,測試文件的上傳。

    到此,vsftpd的虛擬用戶項(xiàng)目試驗(yàn)完畢。


ftp和lftp客戶端程序的操作功能:

兩者都是客戶端應(yīng)用程序

ftp命令格式: ftp   192.168.11.11 

lftp命令格式:lftp  192.168.11.11  -u  qq,0    #使用密碼為0,用戶名為qq的賬號登陸

ftp 和 lftp 的區(qū)別: ftp模式下傳輸文件需指定文件的根目錄,lftp則不需指定文件的根目錄

看完上述內(nèi)容,你們對怎樣進(jìn)行l(wèi)inux ftp服務(wù)的搭建配置有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

新聞名稱:怎樣進(jìn)行l(wèi)inuxftp服務(wù)的搭建配置
當(dāng)前URL:http://www.muchs.cn/article20/iidpco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、Google、做網(wǎng)站電子商務(wù)、、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)