中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

在RHEL 5.2下vsftp配置的操作流程

2018-10-09    來(lái)源:愛(ài)站科技

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

  今天小編跟大家分享一篇在RHEL 5.2下vsftp配置的操作流程,感興趣的朋友跟小編一起來(lái)了解一下吧!

  FTP文件傳送協(xié)議(File Transfer Protocol,簡(jiǎn)稱(chēng)FTP),是一個(gè)用于從一臺(tái)主機(jī)到另送文件的協(xié)議。該協(xié)議的歷史可追溯到1971年(當(dāng)時(shí)因特網(wǎng)尚處于實(shí)驗(yàn)之中),不過(guò)至今仍然極為流行。

  FTP在RFC 959中具體說(shuō)明。HTTP和FTP都是文件傳送協(xié)議,它們有許多共同的特征,比如都運(yùn)行在TCP之上等。不過(guò)這兩個(gè)應(yīng)用層協(xié)議之間存在重要的差別。最重要的差別是FTP使用兩個(gè)并行的TCP連接,一個(gè)是控制連接,一個(gè)是數(shù)據(jù)連接?刂七B接用于在客戶(hù)主機(jī)和服務(wù)器主機(jī)之間發(fā)送控制信息,例如用戶(hù)名和口令、改變遠(yuǎn)程目錄的命令、取來(lái)或放回文件的命令。數(shù)據(jù)連接用于真正發(fā)送文件。在整個(gè)會(huì)話期間,F(xiàn)TP服務(wù)器必須維護(hù)關(guān)于用戶(hù)的狀態(tài)。具體地說(shuō),www.britepic.org服務(wù)器必須把控制連接與特定的用戶(hù)關(guān)聯(lián)起來(lái),必須隨用戶(hù)在遠(yuǎn)程目錄樹(shù)中的游動(dòng)跟蹤其當(dāng)前目錄。為每個(gè)活躍的用戶(hù)會(huì)話保持這些狀態(tài)信息極大地限制了FTP能夠同時(shí)維護(hù)的會(huì)話數(shù)。無(wú)狀態(tài)的HTTP卻不必維護(hù)任何用戶(hù)狀態(tài)信息。FTP服務(wù)可以工作在主動(dòng)模式(active)和被動(dòng)模式(passive)二種模式下:

  主動(dòng)模式(一般FTP服務(wù)器默認(rèn)模式):FTP客戶(hù)端開(kāi)啟一個(gè)隨機(jī)選擇的TCP端口連接FTP服務(wù)器的21端口請(qǐng)求建立連接。當(dāng)完成Three-Way Handshake后,連接就成功建立,但這僅是控制連接的建立。當(dāng)兩端需要傳送數(shù)據(jù)的時(shí)候,客戶(hù)端通過(guò)命令通道用一個(gè)port command告訴服務(wù)器,客戶(hù)端可以用另一個(gè)TCP端口做數(shù)據(jù)通道。然后服務(wù)器用20端口和剛才客戶(hù)端所通知的TCP端口建立數(shù)據(jù)連接。注意:連接方向是從服務(wù)器到客戶(hù)端的,TCP分組中會(huì)有一個(gè)SYN flag。 然后客戶(hù)端會(huì)返回一個(gè)帶ACK flag的確認(rèn)分組,并完成另一次的Three-Way Handshake 過(guò)程。這時(shí)候,數(shù)據(jù)連接才能成功建立。開(kāi)始數(shù)據(jù)傳送。

  被動(dòng)模式:FTP客戶(hù)端開(kāi)啟一個(gè)隨機(jī)選擇的TCP端口連接FTP服務(wù)器的21端口請(qǐng)求建立連接,完成控制連接的建立。當(dāng)兩端需要傳送數(shù)據(jù)的時(shí)候,客戶(hù)端 通過(guò)命令通道發(fā)送一個(gè)PASV command給服務(wù)器,要求進(jìn)入被動(dòng)傳輸模式。然后 服務(wù)器像上述的主動(dòng)模式第 2 步驟那樣,挑一個(gè)TCP端口,并用控制連接告訴 客戶(hù)端。 然后客戶(hù)端用另一個(gè)TCP端口連接剛才服務(wù)器告知的TCP端口來(lái)建立數(shù)據(jù)通道。此時(shí)分組中帶有SYN flag。服務(wù)器確認(rèn)后回送一個(gè)ACK分組。并完成所有握手過(guò)程、成功建立數(shù)據(jù)通道,開(kāi)始數(shù)據(jù)傳送。

  目前可以實(shí)現(xiàn)FTP服務(wù)的軟件非常多,比如Windows平臺(tái)下的IIS、Serv-U,Linux平臺(tái)下的wuFTP、vsftp等。vsftp(Very Secure FTP)是一種在Unix/Linux中非常安全且快速穩(wěn)定的FTP服務(wù)器,目前已經(jīng)被許多大型站點(diǎn)所采用,vsftpd也是RHEL默認(rèn)的ftp服務(wù),本文主要講述vsftp相關(guān)配置方法。

  一、安裝vsftp。

  

    rpm -ivh vsftpd-2.0.5-12.el5.rpm   

?

  安裝完成后,vsftpd配置文件為/etc/vsftpd/vsftpd.conf,通過(guò)以下命令可啟動(dòng)vsftpd并將其設(shè)置為自動(dòng)啟動(dòng)。

  

    service vsftpd restart
chkconfig vsftpd on  

?

  二、第一個(gè)FTP站點(diǎn)。

  vsftp在安裝完成并啟動(dòng)后,即可使用。默認(rèn)情況下可以使用匿名用戶(hù),下圖中使用ftp命令進(jìn)行。

  1:使用ftp命令連接到ftp服務(wù)器。

  2:因?yàn)槟壳笆褂媚涿脩?hù)連接到ftp服務(wù)器,所有輸入匿名用戶(hù)(一般ftp服務(wù)器匿名為anonymous,這里的ftp用戶(hù)是在安裝vsftp時(shí)自動(dòng)創(chuàng)建的,該用戶(hù)也是vsftp的匿名用戶(hù))。

  在連接到vsftp后,其默認(rèn)目錄為該用戶(hù)的家目錄,而ftp用戶(hù)的家目錄位于/var/ftp,所有。下圖是用系統(tǒng)其它用戶(hù)連接ftp服務(wù)器(如果在RHEL中開(kāi)啟SELinux,需要運(yùn)行以下命令set sebool -P ftp_home_dir=1)。

  三、配置參數(shù)。

  

參數(shù)

?

?

說(shuō)明

?

?

listen_address=ip address

?

?

指定偵聽(tīng)IP

?

?

listen_port=port_value

?

?

指定偵聽(tīng)端口,默認(rèn)21

?

?

anonymous_enable=YES

?

?

是否允許使用匿名帳戶(hù)

?

?

local_enable=YES

?

?

是否允許本地用戶(hù)登錄

?

?

nopriv_user=ftp

?

?

指定vsftpd服務(wù)的運(yùn)行帳戶(hù),不指定時(shí)使用ftp

?

?

write_enable=YES

?

?

是否允許寫(xiě)入

?

?

anon_upload_enable=YES

?

?

匿名用戶(hù)是否可上傳文件

?

?

anon_mkdir_write_enable=YES

?

?

匿名用戶(hù)是否建立目錄

?

?

dirmessage_enable=YES

?

?

進(jìn)入每個(gè)目錄是顯示歡迎信息,在每個(gè)目錄下建立.message文件在里面寫(xiě)歡迎信息

?

?

xferlog_enable=YES

?

?

上傳/下載文件時(shí)記錄日志

?

?

connect_from_port_20=YES

?

?

是否使用20端口傳輸數(shù)據(jù)(是否使用主動(dòng)模式)

?

?

chown_uploads=YES、chown_username=whoever

?

?

修改匿名用戶(hù)上傳文件的擁有者

?

?

xferlog_file=/var/log/vsftpd.log

?

?

日志文件

?

?

xferlog_std_format=YES

?

?

使用標(biāo)準(zhǔn)文件日志

?

?

idle_session_timeout=600

?

?

會(huì)話超時(shí),客戶(hù)端連接到ftp但未操作

?

?

data_connection_timeout=120

?

?

數(shù)據(jù)傳輸超時(shí)

?

?

async_abor_enable=YES

?

?

是否允許客戶(hù)端使用sync等命令

?

?

ascii_upload_enable=YESascii_download_enable=YES

?

?

是否允許上傳/下載二進(jìn)制文件

?

?

chroot_local_user=YES

?

?

限制所有的本地用戶(hù)在自家目錄

?

?

chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list

?

?

指定不能離開(kāi)家目錄的用戶(hù),將用戶(hù)名一個(gè)一行寫(xiě)在/etc/vsftpd/chroot_list文件里,使用此方法時(shí)必須chroot_local_user=NO

?

?

ls_recurse_enable=YES

?

?

是否允許使用ls -R等命令

?

?

listen=YES

?

?

開(kāi)啟ipv4監(jiān)聽(tīng)

?

?

listen_ipv6=YES

?

?

開(kāi)啟ipv6監(jiān)聽(tīng)

?

?

pam_service_name=vsftpd

?

?

使用pam模塊控制,vsftpd文件在/etc/pam.d目錄下

?

?

userlist_enable=YES

?

?

此選項(xiàng)被激活后,vsftpd將讀取userlist_file參數(shù)所指定的文件中的用戶(hù)列表。當(dāng)列表中的用戶(hù)登錄FTP服務(wù)器時(shí),該用戶(hù)在提示輸入密碼之前就被禁止了。即該用戶(hù)名輸入后,vsftpd查到該用戶(hù)名在列表中,vsftpd就直接禁止掉該用戶(hù),不會(huì)再進(jìn)行詢(xún)問(wèn)密碼等后續(xù)步聚

?

?

userlist_deny=YES

?

?

決定禁止還是只允許由userlist_file指定文件中的用戶(hù)登錄FTP服務(wù)器。此選項(xiàng)在userlist_enable 選項(xiàng)啟動(dòng)后才生效。YES,默認(rèn)值,禁止文件中的用戶(hù)登錄,同時(shí)也不向這些用戶(hù)發(fā)出輸入密碼的提示。NO,只允許在文件中的用戶(hù)登錄FTP服務(wù)器

?

?

tcp_wrappers=YES

?

?

是否允許tcp_wrappers管理

?

?

local_root=/home/ftp

?

?

所有用戶(hù)的根目錄,,對(duì)匿名用戶(hù)無(wú)效

?

?

anon_max_rate

?

?

匿名用戶(hù)的最大傳輸速度,單位是Byts/s

?

?

local_max_rate

?

?

本地用戶(hù)的最大傳輸速度,單位是Byts/s

?

?

download_enable= YES

?

?

是否允許下載

?

?

?

  在上面所有參數(shù)中,只要涉及到上傳的參數(shù)在啟用后還需要對(duì)應(yīng)本地目錄有寫(xiě)入權(quán)限。

  四、身份認(rèn)證。

  在上面的參數(shù)中,可以通過(guò)將anonymous_enable設(shè)置為NO禁止匿名用戶(hù)訪問(wèn)。在禁止匿名用戶(hù)后,可通過(guò)以下方式的授權(quán)用戶(hù):

  本地用戶(hù):以/etc/passwd中的用戶(hù)名為認(rèn)證方式

  虛擬用戶(hù):支持將用戶(hù)名和口令保存在數(shù)據(jù)庫(kù)文件或數(shù)據(jù)庫(kù)服務(wù)器中。相對(duì)于FTP的本地用戶(hù)形式來(lái)說(shuō),虛擬用戶(hù)只是FTP服務(wù)器的專(zhuān)有用戶(hù),虛擬用戶(hù)只能訪問(wèn)FTP服務(wù)器所提供的資源,這大大增強(qiáng)系統(tǒng)本身的安全性。相對(duì)于匿名用戶(hù)而言,虛擬用戶(hù)需要用戶(hù)名和密碼才能獲取FTP服務(wù)器中的文件,增加了對(duì)用戶(hù)和下載的可管理性。對(duì)于需要提供下載服務(wù),但又不希望所有人都可以匿名下載;既需要對(duì)下載用戶(hù)進(jìn)行管理,又考慮到主機(jī)安全和管理方便的FTP站點(diǎn)來(lái)說(shuō),虛擬用戶(hù)是一種極好的解決方案

  本地用戶(hù)在這里就不多介紹了,主要介紹實(shí)現(xiàn)虛擬用戶(hù)的二種方法:

  1、使用本地?cái)?shù)據(jù)文件:

  生成虛擬用戶(hù)文件,建立/etc/vsftpd/vuser.txt文件,內(nèi)容如下:

  

tonyzhang #虛擬用戶(hù)1
111 #虛擬用戶(hù)1密碼 
tomqin #虛擬用戶(hù)2
111     #虛擬用戶(hù)2密碼

?

  安裝生成數(shù)據(jù)庫(kù)rpm包:db4-utils。

  

rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm

?

  生成虛擬用戶(hù)數(shù)據(jù)庫(kù)。

  

db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.txt

?

  創(chuàng)建本地映射用戶(hù),修改本地映射用戶(hù)家目錄權(quán)限。

  

useradd -d /var/ftp/vuserdir -s /sbin/nologin vuser
chmod o+rw /var/ftp/vuserdir

?

  修改pam認(rèn)證文件/etc/pam.d/vsftpd,將原有內(nèi)容注釋。

  

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vusers
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vusers

?

  修改/etc/vsfptd/vsftp.conf,增加以下內(nèi)容。

  

guest_enable=YES
guest_username=vuser

?

  2、使用MySQL數(shù)據(jù)文件:

  創(chuàng)建本地映射用戶(hù)。

  

useradd -s /sbin/nologin vuser

?

  修改/etc/vsfptd/vsftp.conf,增加以下內(nèi)容。

  

guest_enable=YES
guest_username=vuser

?

  安裝MySQL及相關(guān)軟件包。

  


?

yum -y install mysql.i*

yum -y install perl-DBD-MySQL.i*

yum -y install mysql-server.i*

yum -y install mysql-devel.i*

?

  在MySQL中建立數(shù)據(jù)庫(kù)及用戶(hù)表。

  

[root@polo ]# mysql -u root mysql -p
mysql>create database ftpvuser; #建立用戶(hù)數(shù)據(jù)庫(kù)
mysql>use ftpvuser; #打開(kāi)數(shù)據(jù)庫(kù)
mysql>create table users(name char(16) binary,passwd char(16) binary); #建立存取用戶(hù)信息表
#插入二個(gè)用戶(hù)及口令
mysql>insert into users (name,passwd) values ('tonyzhang',password('111'));
mysql>insert into users (name,passwd) values ('tomqin',password('111'));

?

  授權(quán)vuser可以讀ftpvuser數(shù)據(jù)庫(kù)的users表。

  


?

[root@polo ]# mysql -u root mysql -p

mysql>grant select on ftpvuser.users to vuser@localhost identified by '123';

mysql>quit

?

  在上述授權(quán)完成后,可通過(guò)下圖方法驗(yàn)證授權(quán)是否成功。

  編譯MySQL的PAM認(rèn)證模塊。

  首先需要下載(http://sourceforge.net/projects/pam-mysql)MySQL的PAM認(rèn)證模塊源碼,使用tar命令解壓后,進(jìn)行編譯。在編譯前需要安裝以下軟件包。

  


?

yum -y install gcc.i*

yum -y install gcc-c++.i*

yum -y install pam-devel.i*

?

  安裝完成后就可以進(jìn)行編譯。

  

./configure
make
make install

?

  編輯完成后可查看/lib/security目錄下是否已有對(duì)應(yīng)pam模塊(如下圖)。

  修改pam認(rèn)證文件/etc/pam.d/vsftpd,將原有內(nèi)容注釋。

  

auth required pam_mysql.so user=vuser passwd=123 host=localhost db=ftpvuser table=users usercolumn=name passwdcolumn=passwd crypt=2
account required pam_mysql.so user= vuser passwd=123 host=localhost db= ftpvuser table=users usercolumn=name passwdcolumn=passwd crypt=2

?

  上述二種虛擬用戶(hù)配置完成后,在通過(guò)以下步驟可針對(duì)每個(gè)虛擬用戶(hù)指定不同的配置文件。

  1、修改/etc/vsfptd/vsftp.conf

  

user_config_dir=/etc/vsftpd/vuserconf

?

  2、在/etc/vsfptd/vsftp.vuserconf目錄下,以每個(gè)虛擬用戶(hù)的用戶(hù)名為名稱(chēng)建立配置文件即可。

  五、虛擬主機(jī)。

  在默認(rèn)情況下,vsftp不像IIS那樣可以在同一臺(tái)主機(jī)上建立多個(gè)ftp站點(diǎn),不過(guò)并不是沒(méi)有法子讓vsftp在同一臺(tái)主機(jī)上建立多個(gè)ftp站點(diǎn),方法如下:

  1、添加一個(gè)虛擬IP地址(eth0的IP地址192.168.0.10)

  

ifconfig eth0:0 192.168.0.11/24

?

  2、創(chuàng)建虛擬FTP服務(wù)用戶(hù)

  

useradd -d /var/ftp2 -s /sbin/nologin ftp2 
chmod -R 755 /var/ftp2
chown -R root:root /var/ftp2
mkdir -m 755 /var/ftp2/pub
chown ftp2:root /var/ftp2/pub

?

  3、準(zhǔn)備虛擬FTP服務(wù)器的配置文文件

  

cp /etc/vsfptd/vsftpd.conf /etc/vsfptd/vsftpd1.conf

?

  4、修改/etc/vsftpd/vsfptd.conf

  

listen_address=192.168.0.10

?

  5、修改/etc/vsftpd/vsfptd1.conf

  

listen_address=192.168.0.11
ftp_username=ftp2
local_root=/var/ftp2

?

  以上就是關(guān)于在RHEL 5.2下vsftp配置的操作流程,想必都了解了吧,更多相關(guān)內(nèi)容請(qǐng)繼續(xù)關(guān)注愛(ài)站技術(shù)頻道。

標(biāo)簽: ftp服務(wù)器 linux Mysql 安全 訪問(wèn)ftp服務(wù)器 服務(wù)器 連接ftp服務(wù)器 權(quán)限 數(shù)據(jù)庫(kù) 虛擬主機(jī)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:關(guān)于Samba共享配置的操作教程

下一篇:TeamSpeak服務(wù)器配置的詳細(xì)教程