日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

RedHat 5.4 RHCE VSFTPD学习笔记

發(fā)布時(shí)間:2024/1/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RedHat 5.4 RHCE VSFTPD学习笔记 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

我的博客:http://wqmsl.blog.51cto.com/

制作人:wqmsl

?

目標(biāo):1、常規(guī)VSFTPD服務(wù)器搭建(很簡(jiǎn)單的匿名訪問(wèn))

????? 2、本地用戶訪問(wèn)FTP的方式(安全性高)

????? 3、虛擬用戶訪問(wèn)方式(安全性最高)

????? 4、chroot安全機(jī)制,禁錮用戶只在自己的目錄下活動(dòng),不可切換到別的目錄下

????? 5、訪問(wèn)控制機(jī)制

1、IP說(shuō)明:

192.168.0.2——主機(jī)名:vsftpd.wqmsl.com?? vsftpd服務(wù)器

192.168.0.3——主機(jī)名:client.wqmsl.com??? client客戶端

2、前期準(zhǔn)備

?? 更改主機(jī)名稱(更改三處):1、hostname更改,2、hosts更改,3、/etc/sysconfig/network

3、所需軟件包如下

使用yum來(lái)安裝,rpm的方式也是可以的

進(jìn)入到vsftpd的主配置目錄下:

? (1)ftpusers是用戶控制文件,在這個(gè)文件里面的用戶,默認(rèn)是不可以使用vsftpd服務(wù)的。

? (2)user_list默認(rèn)功能和第一個(gè)一樣,但是通過(guò)配置,我們可以讓只有在第二個(gè)文件里的用戶才能使用vsftpd服務(wù),這樣新加入的用戶就不會(huì)自動(dòng)擁有vsftp的使用權(quán),這樣可以讓vsftpd服務(wù)器更加安全

? (3)vsftpd_conf_migrate.sh是vsftpd操作的一些變量和設(shè)置,這個(gè)不用管的

當(dāng)然,主角就是 vsftpd.conf ,配置vsftpd,我們操作最多的也就是這個(gè)文件了

一、下面開始實(shí)現(xiàn)第一個(gè)目標(biāo)(搭建基本的FTP服務(wù)器)

我先備份一下vsftpd的主配置文件

以便配置錯(cuò)誤之后方便恢復(fù)

下面看看vsftpd.conf文件的內(nèi)容吧

大概就這些內(nèi)容,可以自己more看一下哈!

默認(rèn)安裝完成vsftpd之后啟動(dòng)服務(wù)客戶端就可以訪問(wèn)FTP了(匿名訪問(wèn)的方式),

下面我在客戶端來(lái)訪問(wèn)一下FTP

不用登陸即可訪問(wèn)FTP的pub目錄,該目錄在FTP服務(wù)器的

這樣一個(gè)簡(jiǎn)單的FTP服務(wù)器就搭建完成了,(關(guān)于vsftpd.Conf文件里的詳細(xì)參數(shù)介紹看文章結(jié)尾的注意內(nèi)容)。

二、下面我們來(lái)實(shí)現(xiàn)第二個(gè)實(shí)驗(yàn)的目標(biāo)(本地用戶訪問(wèn)FTP的方式)

編輯vsftpd.conf文件,

關(guān)閉默認(rèn)允許的匿名訪問(wèn)的方式

把其YES改為NO 即可,重啟FTP服務(wù),匿名就不可以訪問(wèn)了

就要求我填寫用戶名和密碼了

添加用戶ftp1指定到ftp組,并指定ftp1的shell不可以登陸系統(tǒng)(安全起見(jiàn))

最后設(shè)置用戶的密碼,

在ftp1的家目錄下建立一個(gè)test的文件用來(lái)測(cè)試

現(xiàn)我用ftp1賬號(hào)現(xiàn)在訪問(wèn)一下

看看是不是可以了,登陸之后是在ftp1的家目錄下面,然后我們用Linux客戶端來(lái)訪問(wèn)一次

登陸成功

登陸后輸入“?”可以查看可以在ftp模式下敲擊的命令哦!

看我們?cè)谧约旱募夷夸?#xff0c;通過(guò)切換之后居然可以切換到/etc下面,當(dāng)然,這時(shí)候就是你下載passwd文件都是沒(méi)有問(wèn)題的,這樣是很不安全的啦

實(shí)現(xiàn)目標(biāo)四 禁錮用戶在自己家目錄

所以我們啟用chroot機(jī)制,把用戶禁錮在自己的家目錄,不允許他亂跑的哦。

我們來(lái)編輯vsftpd的主配置文件,來(lái)啟用cheroot

,

去掉前面注釋#即可,保存

在/etc/vsftpd下添加chroot_list文件,編輯chroot_list添加ftp1用戶,一行一個(gè)用戶(在此

文件內(nèi)的添加的用戶將不能切換目錄,視自己的家目錄為跟目錄)

重新加載vsftpd配置文件。

下面我們重新使用Linux客戶端訪問(wèn)以下,看看效果

看看,切換目錄失敗,說(shuō)明我們的實(shí)驗(yàn)是成功的

下面我使用ftp2用戶登陸(ftp2我沒(méi)有加入到chroot_list 文件中,所以正常情況下ftp2登陸之后應(yīng)該是可以切換目錄的)

從上面看到,我們呢使用ftp2用戶登陸之后是可以成功切換目錄的,現(xiàn)在你知道chroot的的作用了吧,也應(yīng)該知道這個(gè)chroot_list文件的作用了吧。

(注意:如果你啟動(dòng)了chroot機(jī)制,卻沒(méi)有子啊/etc/vsftpd/下建立chroot_list 這個(gè)文件,那么當(dāng)你登陸的時(shí)候會(huì)出現(xiàn)失敗的字樣具體如下:421 Service not available, remote server has closed connection,所以啟用之后一定要建立chroot_list 文件的哦)

三、下來(lái)我們來(lái)實(shí)現(xiàn)第三個(gè)目標(biāo),用虛擬用戶訪問(wèn)FTP服務(wù)器

??? 這個(gè)最重要的是

在/etc/vsftpd/下建立vlogin.txt文件,用來(lái)存儲(chǔ)虛擬用戶的用戶名和密碼

編輯vlogin.txt這個(gè)文件

編輯格式:奇數(shù)行:用戶名

????????? 偶數(shù)行:密碼

生成數(shù)據(jù)庫(kù)

保存虛擬帳號(hào)和密碼的文本文件無(wú)法被系統(tǒng)帳號(hào)直接調(diào)用哈~我們需要使用db_load命令生成db數(shù)據(jù)庫(kù)文件

(注意:rhel5默認(rèn)只安裝db4-4.3.29-9.fc6.i386.rpm和db4-devel-4.3.29-9.fc6.i386.rpm,

要使用db_load需要將db4-utils-4.3.29-9.fc6.i386.rpm包安裝上哈~否則會(huì)出現(xiàn)下圖的錯(cuò)? 誤:找不到db_load命令。)

修改數(shù)據(jù)庫(kù)文件訪問(wèn)權(quán)限
數(shù)據(jù)庫(kù)文件中保存著虛擬帳號(hào)的密碼信息,為了防止非法用戶盜取哈,我們可以修改該文件的訪問(wèn)權(quán)限。生成的認(rèn)證文件的權(quán)限應(yīng)設(shè)置為只對(duì)root用戶可讀可寫,即600
chmod 600 /etc/vsftpd/vlogin.db

編輯pam文件(編輯的時(shí)候一定要認(rèn)真,出現(xiàn)錯(cuò)誤的話客戶端登陸會(huì)被530的錯(cuò)誤提示拒絕登陸)PAM模塊配置文件路徑為/etc/pam.d/目錄,此目錄下保存著大量與認(rèn)證有關(guān)的配置文件,并以服務(wù)名稱命名。

用#注釋掉原來(lái)的所有參數(shù)(如需使用訪問(wèn)控制ftpusers,則不要注釋這行即可“auth?????? required???? /lib/security/pam_listfile.so item=user sense=deny file=/etc/
ftpusers onerr=succeed”)如上圖

在最后添加auth??????? reguired???? pam_userdb.so?????? db=/etc/vsftpd/vlogin

????????? account????? reguired???? pam_userdb.so?????? db=/etc/vsftpd/vlogin

這兩行,pam_userdb.so 的位置在/lib/security/下面,db=/etc/vsftpd/vlogin中的vlogin為我們生成的db數(shù)據(jù)文件vlogin.db。

添加一個(gè)系統(tǒng)用戶 來(lái)對(duì)應(yīng) 虛擬用戶,光有虛擬用戶是無(wú)法登陸的,我們需要讓虛擬用戶對(duì)應(yīng)一個(gè)系統(tǒng)實(shí)際的用戶,這樣所有的用戶登陸之后就會(huì)進(jìn)入到系統(tǒng)實(shí)際用戶的家目錄,我們?cè)偻ㄟ^(guò)給各個(gè)虛擬用戶來(lái)分配不同的權(quán)限(最后講這個(gè))

這里,-g指定用戶的屬組為ftp組,-s指定用戶的Shell為不可登陸,-d指定用戶的家目錄為/var/share ,它的加目錄的權(quán)限如下

編輯/etc/vsftpd/vsftpd.conf? ,

添加如下內(nèi)容

內(nèi)容選項(xiàng)解釋:

pam_service_name=vsftpd:????????? 配置vsftpd使用的PAM模塊為vsftpd

user_config_dir=/etc/vsftpd/vuserconfig:設(shè)置虛擬帳號(hào)權(quán)限配置的主目錄為 vuserconfig

guest_enable=yes??????????????????? 允許使用虛擬用戶登陸FTP

guest_username=ftp3???????????????? 虛擬用戶所對(duì)應(yīng)的系統(tǒng)用戶為ftp3(我之前添加的)。

max_clients=1:設(shè)置FTP服務(wù)器最大接入客戶端數(shù)為1個(gè)(為了方便測(cè)試,你可以根據(jù)自己的實(shí)際情況設(shè)定)

max_per_ip=1:設(shè)置每個(gè)IP地址最大連接數(shù)為1個(gè)(為了方便測(cè)試,你可以根據(jù)自己的實(shí)際情況設(shè)定)

在/etc/vsftpd/下建立vuserconfig目錄,用于存放用戶的權(quán)限配置文件,以便為各個(gè)用戶分配不同的權(quán)限,

在vuserconfig目錄下面建立用戶的權(quán)限配置文件,配置文件的名稱必須要和在vlogin.txt.中添加的用戶名一致

看一下ftp6配置文件的內(nèi)容:

參數(shù)詳解:

anon_world_readable_only=no???? 允許匿名用戶瀏覽器整個(gè)服務(wù)器的文件系統(tǒng)write_enable=yes??????????????? 允許在文件系統(tǒng)寫入權(quán)限

anon_mkdir_write_enable=yes???? 允許創(chuàng)建文件夾

anon_other_write_enable=yes????? 允許用戶改名和刪除文件的權(quán)限

anon_upload_enable=yes???????? 開啟匿名帳號(hào)的上傳功能

anon_max_rate=100000????????? 限定傳輸速度為100KB/s(以字節(jié)為單位的)

重啟服務(wù) service? vsftpd? restart /reload

現(xiàn)在使用ftp6虛擬用戶登陸可以看到,已經(jīng)登陸成功

而且已經(jīng)禁錮用戶在家目錄下面,切換用戶目錄失敗。

在用戶的權(quán)限配置文件下編輯不同的權(quán)限,那么對(duì)應(yīng)的用戶就會(huì)擁有不同的權(quán)限,

這里就看自己的實(shí)際情況了,你也可以在虛擬用戶的權(quán)限配置文件中添加對(duì)應(yīng)的系統(tǒng)實(shí)際用戶,虛擬用戶可以是? (1)多個(gè)虛擬用戶———— 一個(gè)實(shí)際系統(tǒng)用戶

??????????????????? (2)一個(gè)虛擬用戶————? 一個(gè)系統(tǒng)用戶

靈活多變,看自己的實(shí)際情況去設(shè)置。

四、實(shí)現(xiàn)第四個(gè)目標(biāo)訪問(wèn)控制機(jī)制

/etc/ftpusers(訪問(wèn)控制文件)


默認(rèn)是拒絕這些用戶登陸的(上面添加ftp6用戶) 但可以通過(guò)修改/etc/pam.d/ftp中的sense值為allow 就表示只允許登陸的用戶如下:

*****************************************************************************************************************
[root@service root]# more /etc/pam.d/ftp
#%PAM-1.0
auth?????? required????? /lib/security/pam_listfile.so item=user sense=deny file=/etc/
ftpusers onerr=succeed
auth?????? required????? /lib/security/pam_unix.so shadow nullok
auth?????? required????? /lib/security/pam_shells.so
account??? required????? /lib/security/pam_unix.so
session??? required?????? /lib/security/pam_unix.so
****************************************************************************************************************我們先來(lái)分析一下auth???????? required /lib/security/pam_listfile.so?? item=user sense=deny file=/etc/ftpusers onerr=succeed 這一句

其中 /lib/security/pam_listfile.so是調(diào)用這個(gè)模塊用來(lái)檢測(cè)登陸進(jìn)來(lái)的用戶是不是記記載在/etc/ftpusers中的用戶

而item=user 很明顯是說(shuō)明要檢測(cè)的是用戶

sense=deny則是處理方法deny就是就是拒絕的意思了

我有個(gè)用戶名字叫ftp6在默認(rèn)條件下條件下是可以登陸ftp服務(wù)器的我把它加入/etc/ftpusers 后看看情況哦

#echo "ftp6" >> /etc/ftpusers

有時(shí)候 你只想允許某部分人登陸ftp服務(wù)器 那么 你可以通過(guò)修改/etc/pam.d/ftp中的sense值為allow 就表示只允許登陸的用戶,那么你在 /etc/ftpusers 文件加入的 用戶就表示訪問(wèn)的 沒(méi)在文件內(nèi)的用戶都被拒絕

現(xiàn)在我使用ftp6來(lái)登錄一下FTP服務(wù)器試試

登錄失敗,說(shuō)明配置已經(jīng)生效。

Vsftpd的主配置文件/etc/vsftpd.conf的配置選項(xiàng)解釋:

我們要先了解幾個(gè)關(guān)鍵的配置選項(xiàng)
anonymous_enable=YES?????????????????? //允許匿名用戶登陸
local_enable=YES??????????????????????? //允許本地用戶登陸 如果這個(gè)不打開的話 uid 500以下的人都被訪問(wèn)拒絕

write_enable=YES??????????????????????? //允許客戶端寫命令
local_umask=022???????????????????????? //本地用戶新文件的umask的值 就等于ground 和other 部分的可寫部分去掉

anon_upload_enable=YES?????????????????? //允許匿名用戶上傳文件
anon_mkdir_write_enable=YES?????????????? //允許匿名用戶創(chuàng)建目錄 這個(gè)最好不要打開否則會(huì)帶來(lái)不可預(yù)測(cè)的后果

dirmessage_enable=YES????????????????????????? //允許使用目錄的消息
ftpd_banner=Welcome to weihua0722's FTP service.???? //登陸歡迎辭詞
ls_recurse_enable=YES??????????????????????????? //允許使用ls -R命令
listen=YES????????????????????????????????????? //監(jiān)聽(tīng)模式 就是要服務(wù)器單獨(dú)運(yùn)行

FTP原理嘗試:

后臺(tái)進(jìn)程:vsftpd類型:System V 服務(wù)使用端口:20(ftp-data),21(ftp)所需RPM包:vsftpd配置文件:/etc/vsftpd/vsftpd.conf

FTP的主動(dòng)模式和被動(dòng)模式很重要

主動(dòng)模式:

client 先連接服務(wù)器的 21端口(命令端口),然后client開放一個(gè)大于1024的端口等待服務(wù)器的20端口連接,21號(hào)端口的鏈接建立以后,服務(wù)器就用20去連接client開放的端口,簡(jiǎn)單來(lái)說(shuō)就是服務(wù)器主動(dòng)連客戶端啦

基于上面的連接方式,如果client端有個(gè)防火墻,服務(wù)器的20端口就連接不進(jìn)入,導(dǎo)致會(huì)連接失敗。

被動(dòng)模式:

就是client開啟大于1024的X端口連接服務(wù)器的21(命令端口),同時(shí)開啟X+1端口

當(dāng)21號(hào)端口連接成功后,client會(huì)發(fā)送PASV命令,通知服務(wù)器自己處于被動(dòng)模式,服務(wù)器收到這個(gè)消息后,就會(huì)開放一個(gè)大于1024的端口Y通知client,client接到通知后就會(huì)用X+1來(lái)連接服務(wù)器的Y端口,簡(jiǎn)單的說(shuō)就是client主動(dòng)連接服務(wù)器

一般我們使用的是主動(dòng)模式

大家了解被動(dòng)模式就可以了,當(dāng)你架設(shè)FTP服務(wù)器,出現(xiàn)這樣的情況,你應(yīng)該想到可以使用被動(dòng)模式來(lái)解決,當(dāng)然防火墻一般也支持FTP的追蹤模塊,會(huì)自動(dòng)識(shí)別自己發(fā)出的FTP數(shù)據(jù)請(qǐng)求。這樣制動(dòng)模式也能返回?cái)?shù)據(jù)

會(huì)遇到的問(wèn)題

1、500 OOPS: vsftpd: refusing to run with writable anonymous root

這表示ftp用戶的家目錄的權(quán)限不對(duì),應(yīng)該改過(guò)才對(duì);

2、有時(shí)候會(huì)遇到530的錯(cuò)誤,一般都是因?yàn)槟銌⒂昧颂摂M用戶之后編輯pam.d/vsftpd文件導(dǎo)致,內(nèi)容出現(xiàn)錯(cuò)誤的時(shí)候就會(huì)被拒絕登陸,所有一定要認(rèn)真。

?

我的博客:http://wqmsl.blog.51cto.com/

歡迎大家和我一起交流

總結(jié)

以上是生活随笔為你收集整理的RedHat 5.4 RHCE VSFTPD学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。