您好,登錄后才能下訂單哦!
FTP 文件共享服務(wù) 基于tcp協(xié)議 端口:tcp 21(三次握手建立連接);tcp 20(數(shù)據(jù)傳輸)
工作模式 應(yīng)用層
根據(jù)客戶端的角度劃分的:
[主動模式]
客戶端開啟一個1024以上的動態(tài)端口如:(2000)
--》連接服務(wù)器21號端口進(jìn)行三次握手建立連接,三次握手的過程中會有延遲,延遲過程中:
客戶端再次開啟一個比上一個端口大1的端口(2001),監(jiān)聽
--》客戶端給服務(wù)器發(fā)送命令Port2001,告知服務(wù)器,客戶端的數(shù)據(jù)傳輸端口的2001
--》服務(wù)器端開啟20端口與客戶端的2001號端口建立連接進(jìn)行數(shù)據(jù)通信
[被動模式]
客戶端開啟一個動態(tài)端口(2000)
--》連接服務(wù)器21號端口進(jìn)行三次握手建立連接,三次握手的過程中會有延遲,延遲過程中:
客戶端再次開啟一個比上一個端口大1的端口(2001),監(jiān)聽
--》客服端給服務(wù)器端發(fā)送pasv命令,告知服務(wù)器,客戶端現(xiàn)在處于被動模式,等待服務(wù)器端主動連接客戶端
--》服務(wù)器端給客戶端發(fā)送Port3000命令,告知給客戶端,服務(wù)器端的數(shù)據(jù)傳輸端口的3000
--》客戶端拿著2001號端口與服務(wù)器端的3000號端口建立連接進(jìn)行數(shù)據(jù)通信
實驗準(zhǔn)備
兩臺服務(wù)器linux系統(tǒng) centos 7.1
關(guān)閉防火墻
systemctl stop firewalld 臨時關(guān)閉
systemctl disable firewalld 永久關(guān)閉
關(guān)閉selinux
setenforce 0 臨時關(guān)閉
sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config 永久關(guān)閉
yum -y install ftp 客戶端安裝FTP服務(wù)
yum -y install vsftpd 服務(wù)端安裝vsftp服務(wù)
啟動服務(wù)
systemctl enable vsftpd 開啟自動啟動服務(wù)
systemctl restart vsftpd 重啟服務(wù)
systemctl stop vsftpd 停止服務(wù)
主配置文件 /etc/vsftpd/vsftpd.conf
#12 開啟匿名訪問
#16 允許本地的實體賬戶登陸
#19 允許實體賬戶有寫權(quán)限
#23 創(chuàng)建文件的權(quán)限644(實體用戶)
#29 允許匿名用戶上傳(只能上傳文件不能上傳目錄)
#33 匿名創(chuàng)建目錄的權(quán)限
#37 記錄訪問開啟
#40 開啟日志記錄功能
#43 開啟20號端口數(shù)據(jù)傳輸
#48、49 改變上傳文件的屬主
#53 日志所在的路徑及文件名
#57 日志記錄時是否采用標(biāo)準(zhǔn)格式
#60 會話連接超時時間600s
#63 數(shù)據(jù)傳輸超時時間120s
#82 上傳數(shù)據(jù)傳輸模式
#90 不允許匿名用戶的郵箱地址作為其密碼
#92 記錄文件的郵箱地址
#100 實體賬戶只讓其在默認(rèn)登錄的位置活動
#101 開啟其列表功能
#103 列表的存放位置及路徑
#114 拒絕監(jiān)聽(ipv4)
#123 ipv6監(jiān)聽,能幫助監(jiān)聽ipv4
#125 用戶認(rèn)證 映射認(rèn)證列表
#126 只要在用戶列表中的用戶都不能登錄ftp
實驗一
在配置文件中的特殊設(shè)置(實體用戶切換目錄限制)
【不允許實體用戶切換路徑,只能在默認(rèn)訪問位置活動】
vim /etc/vsftpd/vsftpd.conf
100行 解注釋(即將#號去掉) 開啟實體用戶切換目錄功能
chroot_local_user = yes
手動添加
allow_writeable_chroot = yes 允許用戶進(jìn)行登陸
101行 解注釋
chroot_list_enable = YES 開啟用戶列表功能,在該列表中的用戶可以切換路徑
103行 解注釋
chroot_list_file = /etc/vsftpd/chroot_list
指定用戶列表所在路徑及文件名,手動創(chuàng)建
vim /etc/vsftpd/chroot_list
加入到列表中的用戶可以切換路徑,列表外的用戶不可以
重啟服務(wù)驗證
實驗二
vim etc/vsftpd/vsftpd.conf
在配置文件中特殊權(quán)限設(shè)置 (允許匿名用戶使用權(quán)限)
【實現(xiàn)匿名用戶上傳、創(chuàng)建目錄、刪除等權(quán)限】
29行 解注釋
anon_upload_enable = YES 開啟匿名用戶上傳功能,只能上傳文件
33行 解注釋
anon_mkdir_write_enable = YES 創(chuàng)建目錄權(quán)限
34行 解注釋
anon_other_write_enable = YES 手動添加,開啟匿名用戶的其他寫權(quán)限
重啟服務(wù)驗證
客戶端驗證
用戶名:ftp
密碼:任意
修改匿名用戶默認(rèn)登陸位置的安全權(quán)限(屬主、屬組)
chown -R ftp.ftp /var/ftp/pub
重啟服務(wù)驗證
客戶端:可以上傳、創(chuàng)建目錄、刪除等
實驗三
用戶限制配置文件 /etc/vsftpd
【限制實體系統(tǒng)用戶的登陸】
用戶列表文件:ftpusers、user_list
ftpusers:
只要在給列表中的用戶都拒絕訪問
user_list:
在主配置文件中設(shè)置
userlist_enable = yes/no
若該項值為YES -》 開啟用戶列表功能,在user_list中用戶拒絕登錄
若該項值為NO -》 user_list列表失效
userlist_enable = yes
若userlist_deny = YES 表示列表內(nèi)用戶不允許登陸,列表外用戶只能命令行登陸
若userlist_deny = NO 只有在列表中用戶可以登錄
實驗四
虛擬用戶:w
思想:客戶端需要通過賬號和密碼登錄,但是該賬戶不是系統(tǒng)中的實體賬號,而是一個虛擬賬號
在服務(wù)器端創(chuàng)建一個實體賬戶,將該賬戶映射到多個虛擬賬號上
1.新創(chuàng)建虛擬賬號文本文件 /etc/vsftpd
vim vftpuser (奇數(shù)行寫用戶名,偶數(shù)行寫密碼)
snow
123
lisa
321
不能有多余的空行
保存退出
2.將文本文件制作數(shù)據(jù)庫文件
命令:db_load -T -t hash -f /vftpuser /etc/vsftpd/vftpuser.db
-T :將文本文件中內(nèi)容導(dǎo)入到數(shù)據(jù)庫文件中
-t :指定加密算法為hash
-f :指定文本文件,生成的庫文件所在路徑及文件名
3.配置驗證文件 /etc/pam.d/vsftpd
將原驗證文件備份
cp /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd 拷貝模板驗證文件
vim /etc/pam.d/vsftpd
auth required pam_userdb.so db = /etc/vsftpd/vftpuser
account required pam_userdb.so db = /etc/vsftpd/vftpuser
執(zhí)行數(shù)據(jù)庫文件的位置及文件名,注意不需要加.db
4.創(chuàng)建實體賬戶,將其映射到多個虛擬賬戶
#useradd -d /var/ftp/vftp test 創(chuàng)建新賬戶test 并指定家目錄路徑
#chmod 777 /var/ftp/vftp
修改主配置文件 vim /etc/vsftpd/vsftpd.conf
在最下面一行添加
guest_enable = yes 開啟虛擬用戶
guest_username = test 映射的實體賬號
5.重啟服務(wù)驗證
[注]開啟虛擬用戶功能后,所有實體賬戶都不能登錄
若要實體賬戶登錄,需將實體用戶加入到~/vftpuser中
systemctl status vsftpd -l 顯示詳細(xì)狀態(tài)
實驗五:
限制虛擬用戶的權(quán)限
vim /etc/vsftpd/vsftpd.conf
【將所有的匿名功能關(guān)閉】
在最下一行添加
user_config_dir = /etc/vsftpd/vftp
【設(shè)置所有虛擬用戶的權(quán)限限制文件的路徑】
#cd /etc/vsftpd/vftp
vim snow
anon_world_readable_only = yes 開啟讀權(quán)限
write_enable = yes 開啟寫權(quán)限
anon_upload_enable = yes 上傳
anon_mkdir_write_enable = yes 創(chuàng)建目錄
anon_other_write_enable = yes 其它寫權(quán)限
保存退出,重啟服務(wù)驗證
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。