vsftpd配置(虚拟用户、匿名用户登录)
一、ftp服務(wù)搭建
(一)概述
1.ftp連接及傳輸模式
(1)控制連接
TCP21,用于發(fā)送FTP命令信息
(2)數(shù)據(jù)連接
TCP20,用于上傳、下載數(shù)據(jù)
(3)數(shù)據(jù)連接的建立類(lèi)型
?????????????????? 主動(dòng)模式:服務(wù)端從20端口主動(dòng)向客戶端發(fā)起連接
?????????????????? 被動(dòng)模式:服務(wù)端在指定范圍內(nèi)某個(gè)端口被動(dòng)等待客戶端連接
2.FTP傳輸模式
(1)文本模式
ASCII模式,以文本序列傳輸數(shù)據(jù)
(2)二進(jìn)制模式
Binary模式,以二進(jìn)制序列傳輸數(shù)據(jù)
3. FTP用戶的類(lèi)型
(1)匿名用戶
anonymous或ftp
(2)本地用戶
賬號(hào)名稱(chēng)、密碼等信息保存在passwd、shadow文件
(3)虛擬用戶
使用獨(dú)立的賬號(hào)/密碼數(shù)據(jù)文件
4.常見(jiàn)的FTP服務(wù)器程序
IIS、Serv-U
wu-ftpd、Proftpd
vsftpd(Very Secure FTP Daemon)
5.常見(jiàn)的FTP客戶端程序
ftp命令
CuteFTP、FlashFXP、LeapFTP、Filezilla
gftp、kuftp
6.Vsftpd軟件包
(1)官方站點(diǎn)
http://vsftpd.beasts.org/
(2)主程序
/usr/sbin/vsftpd
(3)服務(wù)名
vsftpd
(4)用戶控制列表文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
(5)主配置文件
/etc/vsftpd/vsftpd.conf
7.安裝后目錄解讀
解讀生成的目錄
沒(méi)有截完!
(1)用戶控制列表文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
(2)主配置文件
/etc/vsftpd/vsftpd.conf
(3)利用service啟動(dòng)的執(zhí)行文件
/etc/rc.d/init.d/vsftpd
(4)ftp用戶默認(rèn)工作目錄(宿主目錄)
/var/ftp
(5)ftp用戶默認(rèn)登錄的目錄
/var/ftp/pub
(二)匿名用戶訪問(wèn)ftp
1.安裝vsftpd
2.修改配置文件
修改的項(xiàng)用紅色標(biāo)注出來(lái)了!
3.給相關(guān)的目錄設(shè)置權(quán)限
給你想給匿名用戶控制訪問(wèn)的目錄設(shè)置權(quán)限!
比如給/var/ftp/pub目錄設(shè)置777,這樣匿名用戶就可以在配置文件參數(shù)允許的情況下刪除文件,創(chuàng)建文件了。
比如,配置文件中有這樣一條參數(shù):anon_other_write_enable=NO,那么就算是/var/ftp/pub目錄的權(quán)限為777,那你也不可能刪除其中的東西!
4.啟動(dòng)
service vsftpd start
5.測(cè)試
匿名用戶登錄后,會(huì)默認(rèn)出現(xiàn)在/var/ftp目錄,且只能在/var/ftp目錄下活動(dòng),不能移動(dòng)到服務(wù)器的根目錄下!
(1)安裝ftp客戶端
安裝6.5光盤(pán)自帶的ftp包。
(2)關(guān)閉防火墻與selinux
service iptables stop
setenforce 0? (getenforce查看狀態(tài))
(3)登錄測(cè)試
利用本機(jī)測(cè)試訪問(wèn):? ftp? 192.168.8.116? (192.168.8.116為搭建vsftpd服務(wù)的主機(jī)IP)
二、本地用戶登錄
(一)本地用戶可以移動(dòng)到服務(wù)器的根目錄
不推薦,因?yàn)椴话踩?#xff01;
1.安裝vsftpd
2.修改配置文件
不修改配置文件,直接用原來(lái)默認(rèn)的!
默認(rèn)起作用的關(guān)鍵是黃色框住的!
3.添加一個(gè)用于測(cè)試的本地用戶(實(shí)體用戶)并修改密碼
4.測(cè)試
關(guān)閉防火墻與selinux后,安裝ftp客戶端后再測(cè)試!詳情見(jiàn)本文匿名用戶登錄測(cè)試小點(diǎn)下!
(1)創(chuàng)建目錄測(cè)試
其實(shí)現(xiàn)在用ftp登錄是直接登錄到該賬戶自己本身的默認(rèn)工作目錄的!如果該賬戶沒(méi)有默認(rèn)的工作目錄,那么該賬戶是不能通過(guò)ftp登錄的!
(2)回到根目錄測(cè)試
(二)本地用戶只能在不能移動(dòng)到服務(wù)器的根目錄
1.安裝vsftpd
2.修改配置文件
紅色框住的參數(shù)是控制本地用戶是否被束縛在該用戶的默認(rèn)工作目錄下的參數(shù)!
存在這句,ftp登錄的實(shí)體用戶就不到達(dá)根目錄!
3.添加一個(gè)用于測(cè)試的本地用戶(實(shí)體用戶)并修改密碼
4.測(cè)試
關(guān)閉防火墻與selinux后,安裝ftp客戶端后再測(cè)試!詳情見(jiàn)本文匿名用戶登錄測(cè)試小點(diǎn)下!
?
(1)安裝客戶端軟件
(2)創(chuàng)建目錄測(cè)試
(3)移動(dòng)到其他目錄測(cè)試
不能移動(dòng)到其他目錄,只能在用戶的默認(rèn)工作目錄活動(dòng)!
(三)僅一部分本地用戶可以移動(dòng)到服務(wù)器的根目錄
1.安裝vsftpd
2.修改配置文件
紅色框住的第一行為不允許ftp登錄的用戶跳轉(zhuǎn)到根目錄,
第二行為開(kāi)啟部分用戶可以跳轉(zhuǎn)到根目錄的功能
第三行為用戶列表文件
3.創(chuàng)建用戶列表文件
文件內(nèi)容只有可以跳轉(zhuǎn)到根目錄的用戶!
比如:
4.添加用戶并改密
5.啟動(dòng)
6.測(cè)試
(1)安裝ftp客戶端
(2)切換目錄測(cè)試
用su登錄(su在/etc/vsftpd/chroot_list文件中)
用tang登錄
三、虛擬用戶登錄
(一)所有虛擬用戶登錄到同一個(gè)目錄(不設(shè)權(quán)限)
注意:當(dāng)允許虛擬用戶登錄時(shí),就不能實(shí)現(xiàn)實(shí)體用戶登錄!!兩者不共存!
1.安裝vsftpd
2.修改配置文件
配置文件的要求:允許本地用戶登錄,因?yàn)樘摂M用戶最終是映射到本地用戶來(lái)登錄的。
還有根據(jù)情況添加匿名用戶的權(quán)限!因?yàn)樘摂M用戶登錄上去后,權(quán)限由匿名用戶權(quán)限管理!比如:anon_mkdir_write_enable=YES等
添加這三項(xiàng):
guest_enable=YES
guest_username=su(要映射到的用戶)
pam_service_name=vsftpd.vu(vsftpd.vu為后面編寫(xiě)的pam模塊的名字)
3.創(chuàng)建實(shí)體用戶
useradd ?-s? /sbin/nologin?? su
如果后面測(cè)試時(shí),用虛擬用戶登錄后不能執(zhí)行l(wèi)s命令的話,就先將該實(shí)體用戶的權(quán)限設(shè)置為757,等可以ls后再將該目錄的權(quán)限改為755。
修改命令(chmod? -R 757? /home/su)R選項(xiàng)為遞歸參數(shù)!
4.創(chuàng)建虛擬賬戶文件
用戶 密碼…的格式
5.將該文件生成數(shù)據(jù)庫(kù)文件
[root@sutang vsftpd]# db_load -T -t hash -f vuser.list vusers.db
{---***選項(xiàng)-T允許應(yīng)用程序能夠?qū)⑽谋疚募D(zhuǎn)譯載入進(jìn)數(shù)據(jù)庫(kù)。
-t hash使用hash碼加密
-f 指定包含用戶名和密碼文本文件。此文件格式要示:奇數(shù)行用戶名、偶數(shù)行密碼***---}
確認(rèn)該文件類(lèi)型:
[root@sutang vsftpd]# file vusers.db
vusers.db: Berkeley DB (Hash, version 9, native byte-order)
6.編寫(xiě)pam模塊
一般在/etc/pam.d目錄下編寫(xiě)!vim? /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
其中vusers是上一步生成的數(shù)據(jù)庫(kù)文件的文件名,不要后綴名!!!
7.啟動(dòng)
service vsftpd start
8.測(cè)試
虛擬用戶默認(rèn)登錄的位置為映射的實(shí)體用戶的默認(rèn)工作目錄下,而且不能跳到其他位置!
關(guān)閉防火墻與selinux后,安裝ftp客戶端后再測(cè)試!詳情見(jiàn)本文匿名用戶登錄測(cè)試小點(diǎn)下!
(二)設(shè)置各個(gè)虛擬用戶的權(quán)限的ftp
1.修改配置文件
紅色框中的內(nèi)容是要修改的!剩下的保持默認(rèn)就好!
第一個(gè)紅框:實(shí)體用戶的默認(rèn)權(quán)限!(因?yàn)樘摂M用戶映射到實(shí)體用戶,所以必須給實(shí)體用戶相應(yīng)的權(quán)限)
第二個(gè)紅框:虛擬用戶和匿名用戶的權(quán)限設(shè)置,這里因?yàn)橐獙?shí)現(xiàn)各個(gè)虛擬用戶的權(quán)限不同,就將此全部設(shè)置成NO!這里的權(quán)限設(shè)置相當(dāng)于全局權(quán)限,對(duì)所有虛擬用戶的權(quán)限都有效!
第三個(gè)紅框:設(shè)置虛擬用戶的開(kāi)啟、映射的實(shí)體用戶、使用的pam模塊
第四個(gè)紅框:設(shè)置虛擬用戶的指定權(quán)限文件的目錄,在該目錄下是一些和虛擬用戶用戶名同名的文件,這些文件中存放有每一虛擬用戶的指定權(quán)限!
2.創(chuàng)建實(shí)體用戶
useradd ?-s? /sbin/nologin? su
如果后面測(cè)試時(shí),用虛擬用戶登錄后不能執(zhí)行l(wèi)s命令的話,就先將該實(shí)體用戶的權(quán)限設(shè)置為757,等可以ls后再將該目錄的權(quán)限改為755。
3.創(chuàng)建虛擬賬戶文件
用戶 密碼…的格式
4.將該文件生成數(shù)據(jù)庫(kù)文件
[root@sutang vsftpd]# db_load -T -t hash -f vuser.list vusers.db
確認(rèn)該文件類(lèi)型:
[root@sutang vsftpd]# file vusers.db
vusers.db: Berkeley DB (Hash, version 9, native byte-order)
5.編寫(xiě)pam模塊
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
其中vusers是上一步生成的數(shù)據(jù)庫(kù)文件的文件名,不要后綴名!!!
6.創(chuàng)建虛擬用戶的權(quán)限目錄并創(chuàng)建權(quán)限設(shè)置文件
此處的目錄的路徑一定要和配置文件中的第四個(gè)紅框內(nèi)容相同!
mkdir? /etc/vsftpd/vusers_config
進(jìn)入該目錄并創(chuàng)建指定的文件
我在這個(gè)目錄中創(chuàng)建了aaa這個(gè)虛擬用戶對(duì)應(yīng)的配置文件,內(nèi)容如上圖!
7.啟動(dòng)
8.測(cè)試
aaa虛擬用戶登錄測(cè)試
bbb虛擬用戶登錄測(cè)試
bbb用戶沒(méi)寫(xiě)單獨(dú)的配置文件,直接用的是主配置文件中的全局權(quán)限控制!(詳情見(jiàn)配置文件第二個(gè)紅框)
?
總結(jié)
以上是生活随笔為你收集整理的vsftpd配置(虚拟用户、匿名用户登录)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言的指针思维导图,指针基础知识(含思
- 下一篇: 运筹学概述