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
這次的介紹就到這裡,歡迎大家一起討論