成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

RHEL 5.2下vsftp配置全教程

原創
運維 系統運維
vsftp(Very Secure FTP)是一種在Unix/Linux中非常安全且快速穩定的FTP服務器,目前已經被許多大型站點所采用,vsftpd也是RHEL默認的ftp服務,本文主要講述RHEL 5.2下vsftp相關配置方法。

FTP文件傳送協議(File Transfer Protocol,簡稱FTP),是一個用于從一臺主機到另送文件的協議。該協議的歷史可追溯到1971年(當時因特網尚處于實驗之中),不過至今仍然極為流行。

FTP在RFC 959中具體說明。HTTP和FTP都是文件傳送協議,它們有許多共同的特征,比如都運行在TCP之上等。不過這兩個應用層協議之間存在重要的差別。最重要的差別是FTP使用兩個并行的TCP連接,一個是控制連接,一個是數據連接。控制連接用于在客戶主機和服務器主機之間發送控制信息,例如用戶名和口令、改變遠程目錄的命令、取來或放回文件的命令。數據連接用于真正發送文件。在整個會話期間,FTP服務器必須維護關于用戶的狀態。具體地說,服務器必須把控制連接與特定的用戶關聯起來,必須隨用戶在遠程目錄樹中的游動跟蹤其當前目錄。為每個活躍的用戶會話保持這些狀態信息極大地限制了FTP能夠同時維護的會話數。無狀態的HTTP卻不必維護任何用戶狀態信息。FTP服務可以工作在主動模式(active)和被動模式(passive)二種模式下:

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

被動模式:FTP客戶端開啟一個隨機選擇的TCP端口連接FTP服務器的21端口請求建立連接,完成控制連接的建立。當兩端需要傳送數據的時候,客戶端 通過命令通道發送一個PASV command給服務器,要求進入被動傳輸模式。然后 服務器像上述的主動模式第 2 步驟那樣,挑一個TCP端口,并用控制連接告訴 客戶端。 然后客戶端用另一個TCP端口連接剛才服務器告知的TCP端口來建立數據通道。此時分組中帶有SYN flag。服務器確認后回送一個ACK分組。并完成所有握手過程、成功建立數據通道,開始數據傳送。

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

一、安裝vsftp。

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

安裝完成后,vsftpd配置文件為/etc/vsftpd/vsftpd.conf,通過以下命令可啟動vsftpd并將其設置為自動啟動。

    service vsftpd restart
chkconfig vsftpd on

二、第一個FTP站點。
vsftp在安裝完成并啟動后,即可使用。默認情況下可以使用匿名用戶,下圖中使用ftp命令進行。

 

1:使用ftp命令連接到ftp服務器。
2:因為目前使用匿名用戶連接到ftp服務器,所有輸入匿名用戶(一般ftp服務器匿名為anonymous,這里的ftp用戶是在安裝vsftp時自動創建的,該用戶也是vsftp的匿名用戶)。
在連接到vsftp后,其默認目錄為該用戶的家目錄,而ftp用戶的家目錄位于/var/ftp,所有。下圖是用系統其它用戶連接ftp服務器(如果在RHEL中開啟SELinux,需要運行以下命令set sebool -P ftp_home_dir=1)。

 

三、配置參數。

參數

說明

listen_address=ip address

指定偵聽IP

listen_port=port_value

指定偵聽端口,默認21

anonymous_enable=YES

是否允許使用匿名帳戶

local_enable=YES

是否允許本地用戶登錄

nopriv_user=ftp

指定vsftpd服務的運行帳戶,不指定時使用ftp

write_enable=YES

是否允許寫入

anon_upload_enable=YES

匿名用戶是否可上傳文件

anon_mkdir_write_enable=YES

匿名用戶是否建立目錄

dirmessage_enable=YES

進入每個目錄是顯示歡迎信息,在每個目錄下建立.message文件在里面寫歡迎信息

xferlog_enable=YES

上傳/下載文件時記錄日志

connect_from_port_20=YES

是否使用20端口傳輸數據(是否使用主動模式)

chown_uploads=YES、chown_username=whoever

修改匿名用戶上傳文件的擁有者

xferlog_file=/var/log/vsftpd.log

日志文件

xferlog_std_format=YES

使用標準文件日志

idle_session_timeout=600

會話超時,客戶端連接到ftp但未操作

data_connection_timeout=120

數據傳輸超時

async_abor_enable=YES

是否允許客戶端使用sync等命令

ascii_upload_enable=YESascii_download_enable=YES

是否允許上傳/下載二進制文件

chroot_local_user=YES

限制所有的本地用戶在自家目錄

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

指定不能離開家目錄的用戶,將用戶名一個一行寫在/etc/vsftpd/chroot_list文件里,使用此方法時必須chroot_local_user=NO

ls_recurse_enable=YES

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

listen=YES

開啟ipv4監聽

listen_ipv6=YES

開啟ipv6監聽

pam_service_name=vsftpd

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

userlist_enable=YES

此選項被激活后,vsftpd將讀取userlist_file參數所指定的文件中的用戶列表。當列表中的用戶登錄FTP服務器時,該用戶在提示輸入密碼之前就被禁止了。即該用戶名輸入后,vsftpd查到該用戶名在列表中,vsftpd就直接禁止掉該用戶,不會再進行詢問密碼等后續步聚

userlist_deny=YES

決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP服務器。此選項在userlist_enable 選項啟動后才生效。YES,默認值,禁止文件中的用戶登錄,同時也不向這些用戶發出輸入密碼的提示。NO,只允許在文件中的用戶登錄FTP服務器

tcp_wrappers=YES

是否允許tcp_wrappers管理

local_root=/home/ftp

所有用戶的根目錄,,對匿名用戶無效

anon_max_rate

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

local_max_rate

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

download_enable= YES

是否允許下載

在上面所有參數中,只要涉及到上傳的參數在啟用后還需要對應本地目錄有寫入權限。

#p#

四、身份認證。

在上面的參數中,可以通過將anonymous_enable設置為NO禁止匿名用戶訪問。在禁止匿名用戶后,可通過以下方式的授權用戶:

本地用戶:以/etc/passwd中的用戶名為認證方式

虛擬用戶:支持將用戶名和口令保存在數據庫文件或數據庫服務器中。相對于FTP的本地用戶形式來說,虛擬用戶只是FTP服務器的專有用戶,虛擬用戶只能訪問FTP服務器所提供的資源,這大大增強系統本身的安全性。相對于匿名用戶而言,虛擬用戶需要用戶名和密碼才能獲取FTP服務器中的文件,增加了對用戶和下載的可管理性。對于需要提供下載服務,但又不希望所有人都可以匿名下載;既需要對下載用戶進行管理,又考慮到主機安全和管理方便的FTP站點來說,虛擬用戶是一種極好的解決方案
本地用戶在這里就不多介紹了,主要介紹實現虛擬用戶的二種方法:

1、使用本地數據文件:

生成虛擬用戶文件,建立/etc/vsftpd/vuser.txt文件,內容如下:

tonyzhang    #虛擬用戶1
111          #虛擬用戶1密碼
tomqin       #虛擬用戶2
111      #虛擬用戶2密碼

安裝生成數據庫rpm包:db4-utils。

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

生成虛擬用戶數據庫。

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

創建本地映射用戶,修改本地映射用戶家目錄權限。

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

修改pam認證文件/etc/pam.d/vsftpd,將原有內容注釋。

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,增加以下內容。

guest_enable=YES
guest_username=vuser

2、使用MySQL數據文件:

創建本地映射用戶。

useradd -s /sbin/nologin vuser

修改/etc/vsfptd/vsftp.conf,增加以下內容。

guest_enable=YES
guest_username=vuser

安裝MySQL及相關軟件包。

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中建立數據庫及用戶表。

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

授權vuser可以讀ftpvuser數據庫的users表。


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

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

mysql>quit

在上述授權完成后,可通過下圖方法驗證授權是否成功。

 

#p#

編譯MySQL的PAM認證模塊。

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

yum -y install gcc.i*

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

yum -y install pam-devel.i*

安裝完成后就可以進行編譯。

./configure
make
make install

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

 

修改pam認證文件/etc/pam.d/vsftpd,將原有內容注釋。

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


上述二種虛擬用戶配置完成后,在通過以下步驟可針對每個虛擬用戶指定不同的配置文件。

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

user_config_dir=/etc/vsftpd/vuserconf

2、在/etc/vsfptd/vsftp.vuserconf目錄下,以每個虛擬用戶的用戶名為名稱建立配置文件即可。

五、虛擬主機。

在默認情況下,vsftp不像IIS那樣可以在同一臺主機上建立多個ftp站點,不過并不是沒有法子讓vsftp在同一臺主機上建立多個ftp站點,方法如下:

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

ifconfig eth0:0 192.168.0.11/24

2、創建虛擬FTP服務用戶


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、準備虛擬FTP服務器的配置文文件

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

【編輯推薦】

  1. 在RHEL 5中配置YUM服務器端及客戶端
  2. 在RHEL 5中配置NIS服務器端及客戶端
  3. 在RHEL 5中配置DHCP全指南
責任編輯:xikder 來源: 51CTO.COM
相關推薦

2009-01-15 17:08:04

2009-12-03 10:03:18

Ubuntuvsftp

2009-09-03 15:12:47

RHEL5.2DNSDHCP

2011-02-23 13:26:18

Linuxvsftp

2009-09-03 14:19:37

RHELDHCP服務配置應用

2011-08-30 10:08:38

Centos 5.2Mysql ProxyLUA

2009-09-03 15:08:14

RHEL5DNS服務配置紅帽

2014-06-18 15:50:06

RHEL 7.0系統安裝

2010-05-13 16:23:43

DNS服務器

2010-04-09 11:21:37

Linux下配置VSf

2010-09-06 13:30:47

無線網卡

2010-05-21 09:31:09

安裝VNC

2012-04-02 17:27:06

rhelsquid

2010-03-16 16:03:52

Ubuntu vsft

2009-06-08 17:50:00

javalinuxjsp

2010-05-28 10:22:41

搭建SVN

2012-05-09 10:30:29

RHEL5.7DHCP服務器

2012-05-09 10:33:56

RHEL5.7DNS服務器

2015-09-22 13:57:29

vsftp虛擬用戶CentOS

2009-10-27 14:58:38

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区精品在线观看 | 爱综合 | 精品乱码一区二区 | 免费毛片网站在线观看 | 亚洲欧美国产精品久久 | 久久综合久色欧美综合狠狠 | 国产精品毛片一区二区三区 | 国产情侣久久 | 午夜精品导航 | 欧美极品在线播放 | 国产激情视频在线 | 一区二区三区四区在线 | 国产视频线观看永久免费 | 日韩精品在线一区 | 99热精品在线观看 | 亚洲国产精品福利 | 亚洲性视频 | 亚洲国产成人精品久久久国产成人一区 | 羞羞视频在线观看网站 | 一区二区免费高清视频 | 成人水多啪啪片 | 精品国产一区二区三区久久 | 欧美xxxx性xxxxx高清 | cao在线| 日本在线播放 | 成人欧美一区二区三区1314 | 久久精品欧美一区二区三区麻豆 | 欧美性生活一区二区三区 | 成人精品一区二区三区 | 国产精品久久久久久久久 | 国产午夜精品一区二区三区四区 | 欧美一区二区三区在线视频 | 成人在线视频免费看 | 精品一区二区三区视频在线观看 | 狠狠av| 国产一区二区三区 | 久久久亚洲 | 日韩欧美在线一区 | 亚洲精品乱码久久久久久按摩观 | 午夜爽爽爽男女免费观看 | 中文字幕第一页在线 |