FTP(File Transfer Protocol,文件傳輸協議)是典型的C/S結構的應用層協議,須要由服務端軟件,客戶端軟件兩個部分共同實現文件傳輸功能。web
ftp用戶類型:數據庫
一、匿名用戶:ftp、anonymous
二、本地用戶:就是本機的系統用戶,useradd建立。
三、虛擬用戶:不直接使用系統用戶帳號。centos
安裝ftp服務:
yum install vsftpd -y
ftp的主配置文件:(vi)/etc/vsftpd/vsftpd.conf
ftp的根目錄:/var/ftp 默認共享目錄瀏覽器
systemctl start vsftpd //啓動服務安全
ftp三種訪問方式:
一、瀏覽器:ftp://ip地址
二、個人電腦界面,最上方空白處輸ftp://IP地址服務器
三、cmd——ftp ip地址網絡
注:ftp默認有下載權限ide
vsftpd服務默認開啓匿名用戶模式
須要作的就是開放匿名用戶的上傳、下載文件權限,以及讓匿名用戶去建立、刪除、更改文件權限。
anonymous_enable = YES //啓用匿名訪問
anon_umask=022 //匿名用戶所上傳文件的權限掩碼
anon_root=var/ftp //匿名用戶的FTP根目錄
anon_upload_enable=YES //無論匿名、本地或者虛擬用戶,若要容許上傳文件,必須啓用
anon_mkdir_write_enable=YES //容許建立目錄
anon_other_write_enable=YES //開放其餘寫入權限,容許匿名修改目錄,刪除目錄
anon_max_rate=0 //限制最大傳輸速度(字節/秒)測試
注:ftp目錄系統自己的權限大於ftp配置文件設置的權限。ui
---
//無論匿名、本地或者虛擬用戶,若要容許上傳文件,必須啓用
---
容許建立目錄
---
開放其餘寫入權限,容許匿名修改目錄,刪除目錄
---
連接:https://pan.baidu.com/s/1d12VwhDxt8bL_p7mPu_8cA 提取碼:ddu5 (File Zilla軟件包)
使用FileZilla查看
---
限制最大傳輸速度(字節/秒)
vi/etc/vsftpd/vsftpd.conf /最下面添加
本地用戶模式:
local_enable=YES //是否啓用本地系統用戶
local_umask=022 //本地用戶所上傳文件的權限掩碼
local_root=var/ftp //設置本地用戶的ftp根目錄
chroot_local_user=YES //是否將用戶禁錮在主目錄
local_max_rate=0 ///限制最大傳輸速度(字節/秒),等於0時不限速
write_enable=YES //設置可寫權限,對全部人生效
限制某些用戶登陸ftp userlist_deny=YES
vi /etc/vsftpd/vsftpd.conf
虛擬用戶模式:最安全的一種模式
FTP文件傳輸服務
基於系統用戶的FTP服務
匿名訪問的FTP服務
用戶驗證的FTP服務
最安全的FTP文件傳輸服務之一vsttpd服務基礎
基於虛擬用戶的FTP服務
vstpd服務的其餘經常使用配置
使用虛擬用戶的FTP服務
FTP鏈接及傳輸模式
售控制鏈接: TCP 21 ,用於發送FTP命令信息
「數據鏈接: TCP 20,用於上傳、下載數據出數據
鏈接的創建類型:主動模式、被動模式
主動模式;服務器主動發起數據鏈接
首先由客戶端向服務端的21端口創建FTP控制鏈接
當須要傳輸數據時,客戶端以PORT命令告知服務器「我打開了某端口,你過來鏈接我」,
因而服務器從20端口向客戶端的該端口發送請求並創建數據鏈接
被動模式:服務器被動等待數據鏈接
若是客戶機所在網絡的防火牆禁止主動模式鏈接,一般會使用被動模式
首先由客戶端向服務端的21端口創建FTP控制鏈接當須要傳輸數據時,服務器以PASV命令告知客戶端「我打開了某端口,你過來鏈接我」, 大是客戶端向服務器的該端口(非20 )發送請求並創建數據鏈接
pasv_enable=YES 啓動被動模式
pasv_min_port=2500 被動模式最小端口號
虛擬用戶的配置項,用的是匿名用戶
filezilla:
530:爲pam認證文件有錯誤
500:爲用戶家目錄不可有寫權限
550:爲ftp服務器權限
553:爲系統文件權限
--------被動模式配置項--------
pasv_enable=YES 啓用被動模式
pasv_min_port=24500 被動模式最小端口號
pasv_max_port=24600 被動模式最大端口號
--------虛擬用戶配置項-----------
cd /etc/vsftpd
vi vusers.txt ----創建文本格式的虛擬用戶用戶名和密碼列表
奇數行用戶名
偶數行密碼
db_load -T -t hash -f vusers.txt vusers.db ----將文本格式vusers.txt轉換爲數據庫文件vusers.db
chmod 600 vusers.* ----將生成的數據文件、文本文件權限設爲600(只有超級用戶可讀可寫)安全性
useradd -d /srv/ -s /sbin/nologin vuser ----建立家目錄在/srv,不可登陸服務器的的虛擬用戶映射的系統用戶vuser
vi /etc/pam.d/vsftpd.vu ----創建支持虛擬用戶的PAM認證文件
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
vi vsftpd.conf ----設置配置文件
#pam_service_name=vsftpd
……
guest_enable=YES ----啓用虛擬用戶登陸
guest_username=vuser ----把虛擬用戶帳號映射到系統用戶vuser
pam_service_name=vsftpd.vu ----指定虛擬用戶PAM認證文件
systemctl restart vsftpd
filezilla
530,爲pam認證文件有錯誤
500,爲用戶家目錄不可有寫權限;、
550,爲ftp服務器權限
553,爲系統文件權限
測試……
vi vsftpd.conf
user_config_dir=/etc/vsftpd/vdir //爲虛擬帳號創建單獨的配置文件存放的目錄
vi test01 //以虛擬用戶本身的用戶名命名,就是獨立配置文件。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=0
local_root=/opt/t01 //設置虛擬用戶本身的家目錄 anon_root=/opt/t01 (centos6.5中應用)
max_per_ip=2 //設置虛擬用戶同時下載文件數 (無論用)
------------如下是詳細的安裝配置步驟---rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpmcd /etc/vsftpd/cp vsftpd.conf vsftpd.conf.backservice vsftpd start/var/ftp/ 這是FTP服務器的默認工做目錄。登陸:在CMD裏 ftp 192.168.80.181在文件夾裏或者瀏覽器裏:ftp://192.168.80.181/