1. 程式人生 > >Redhat7.0下部署 ftp檔案共享服務

Redhat7.0下部署 ftp檔案共享服務

一.什麼ftp

FTP (檔案傳輸協議 ) 是 Intenet 上常用的最老的網路協議之一 ,它為系統提供了通過網路與遠端伺服器進行傳輸的簡單方法 。

在FTP的使用當中,使用者經常遇到兩個概念:”下載”(Download)和”上傳”(Upload)。”下載”檔案就是從遠端主機拷貝檔案至自己的計算機上;”上傳”檔案就是將檔案從自己的計算機中拷貝至遠端主機上。用Internet語言來說,使用者可通過客戶機程式向(從)遠端主機上傳(下載)檔案。

二.部署ftp

安裝、啟用服務

在 Redhat Linux 7 中, FTP 伺服器包的名稱為 vsftpd,它代表 Very Secure File Transfer Protocol Damon , 服務名稱也叫vsftpd。

yum install vsftpd -y ###安裝ftp服務
systemctl start vsftpd ###開啟ftp服務
systemctl enable vsftpd ###開機自啟ftp服務

這裡寫圖片描述

這裡寫圖片描述

firewall-config ###配置防火牆,把ftp設定成永久,然後過載火牆

這裡寫圖片描述

三.測試

/var/ftp/ 這意味著遠端 FTP 客戶端能以使用者 anonymous 或 ftp 身份連線到伺服器 (無需密碼 ), 並從 ftp 伺服器上的 /var/ftp/ 目錄下載檔案 ( 其本地 ftp 使用者可以讀取這些檔案 )

首先我們在部署ftp服務的主機/var/ftp/下建立三個檔案:

這裡寫圖片描述

然後用另一臺主機檢視是否能看到共享檔案

這裡寫圖片描述

到這裡就說明我們的ftp服務已經部署好了!

三.ftp服務的配置引數

/etc/vsftpd/vsftpd.conf ###配置檔案

1.匿名使用者設定

anonymous_enable=YES|NO ##匿名使用者登陸限制
預設是YES,也就是允許匿名使用者無密碼登入,現在我們修改為NO(每次修改配置檔案,都要重啟服務),看看效果:

這裡寫圖片描述

這裡寫圖片描述

這時已經看不到共享的檔案了,說明登入受限,我們再改回來,看看:

這裡寫圖片描述

2.匿名使用者上傳

預設情況下,是禁止匿名使用者上傳檔案的:

這裡寫圖片描述

補充:
錯誤id號的含義
- 550 ###服務本身不允許
- 530 ###認證失敗
- 553 ###沒許可權
- 500 ###許可權過大

需要修改配置檔案:

write_enable=YES
anon_upload_enable=YES

這裡寫圖片描述

然後修改pub目錄的組和許可權
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

這裡寫圖片描述

setenforce 0 ### 設定加強型火牆

設定完後我們在試試:

這裡寫圖片描述

3.匿名使用者家目錄修改

匿名使用者登入ftp預設是在/var/ftp/,如果我們不想讓匿名使用者看到某些東西,可以修改匿名使用者的家目錄:

這裡寫圖片描述

然後新建一些檔案:

這裡寫圖片描述

最後我們匿名登陸檢視:

這裡寫圖片描述

4.匿名使用者上傳檔案許可權修改

我們先看看匿名使用者預設上傳的許可權是多少:

這裡寫圖片描述

然後我們修改許可權:

這裡寫圖片描述

再上傳檔案看看許可權:

這裡寫圖片描述

下面列出部分umask許可權(僅供參考):

umask值 目錄 檔案
022 755 644
027 750 640
002 775 664
006 771 660
007 770 660

5.匿名使用者建立目錄

預設情況是拒絕的:

這裡寫圖片描述

看到報錯id是550,也就是服務不允許,我們修改配置檔案如下:

這裡寫圖片描述

再來試試建立目錄:

這裡寫圖片描述

發現此時就可以建立目錄了

6.匿名使用者下載

anon_world_readable_only=YES|NO ##設定引數值為no表示匿名使用者可以下載

7.匿名使用者使用的使用者身份修改

chown_uploads=YES
chown_username=student

預設情況下,匿名使用者上傳的檔案都是屬於ftp,所以uid也就是14,當我們修改配置檔案:

這裡寫圖片描述

這裡寫圖片描述

我們再此上傳檔案:

這裡寫圖片描述

會發現uid變成1000,也就是我們設定的student的uid,成功的改變了匿名使用者的使用者身份

8.匿名使用者最大上傳速率

預設情況是不受限制的,為了限制匿名使用者的上傳速度我們做出以下修改:

這裡寫圖片描述

暫且定為20k,看看效果:

這裡寫圖片描述

我們捏了一個10M的檔案,上傳發現速度只有20k/s,簡直是龜速,不過我們的設定也算成功

9.最大連線數

預設情況下是不受限制的,但是這樣不安全,人太多時會使ftp伺服器速度變慢,甚至崩掉,所以當需要限制連線人數時,做以下修改:

這裡寫圖片描述

這個限制數量根據你的伺服器配置和你的需求決定

本地使用者設定

注:本地使用者修改就不再上圖了

local_enable=YES|NO ##本地使用者登陸限制
write_enable=YES|NO ##本地使用者寫許可權限制

本地使用者家目錄修改

local_root=/directory

本地使用者上傳檔案許可權

local_umask=xxx

限制本地使用者瀏覽/目錄

所有使用者被鎖定到自己的家目錄中
chroot_local_user=YES
chmod u-w /home/*

使用者黑名單建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

使用者白名單建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

限制本地使用者登陸

vim /etc/vsftpd/ftpusers ##使用者黑名單
vim /etc/vsftpd/user_list ##使用者臨時黑名單

使用者白名單設定
userlist_deny=NO
/etc/vsftpd/user_list ##引數設定,此檔案變成使用者白名單,只在名單中出現的使用者可以登陸ftp

這次的介紹就到這裡,歡迎大家一起討論