天天看點

rhel6下搭建FTP檔案傳輸服務

FTP檔案傳輸服務

FTP連接配接方式

控制連接配接:21

資料連接配接:20 (隻有在主動模式下才使用)

FTP連接配接模式

主動模式

被動模式

FTP傳輸模式

文本模式

二進制模式

(一般使用二進制模式傳輸時,檔案不容易出錯,特别在交換機和路由器上使用時,可使用binary切換成二進制模式)

FTP使用者類型

系統使用者

匿名使用者(anonymous; ftp)

虛拟使用者

在linux主機上是通過vsftpd 軟體包實作的.

主程式:/usr/sbin/vsftpd

服務名: vsftpd

主配置檔案:/etc/vsftpd/vsftpd.conf

黑名單:/etc/vsftpd/ftpusers

控制清單: /etc/vsftpd/user_list

和samba服務一樣,vsftp配置格式:配置項= 參數

常用配置項:

全局

listen=YES:是否以獨立運作的方式監聽服務

listen_address=192.168.4.1:設定監聽的IP位址

listen_port=21:設定監聽FTP服務的端口号

write_enable=YES:是否啟用寫入權限

download_enable=YES:是否允許下載下傳檔案

userlist_enable=YES:是否啟用user_list清單檔案

userlist_deny=YES:是否禁用user_list中的使用者

max_clients=0:限制并發用戶端連接配接max_per_ip=0:限制同一IP位址的并發連接配接

connect_from_port_20=YES:允許伺服器主動模式

pasv_enable=YES:允許被動模式

pasv_max(min)_port=2460:設定被動模式最大(最小)端口号

tcp_wrappers=YES:是否啟用TCP_Wrappers主機通路控制

本地

local_enable=YES:是否啟用本地系統使用者

local_umask=022:本地使用者所上傳檔案的權限掩碼

local_root=/var/ftp:設定本地使用者的FTP根目錄

chroot_local_user=YES:是否将使用者禁锢在主目錄

local_max_rate=0:限制最大傳輸速率(位元組/秒)

匿名

anonymous_enable=YES:啟用匿名通路

anon_umask=022:匿名使用者所上傳檔案的權限掩碼

anon_root=/var/ftp:匿名使用者的FTP根目錄

anon_upload_enable=YES:允許上傳檔案

anon_mkdir_write_enable=YES:允許建立目錄

anon_other_write_enable=YES:開放其他寫入權

anon_max_rate=0:限制最大傳輸速率(位元組/秒)

安裝啟動vsftpd服務後,就可以通過匿名和系統使用者進行通路了,匿名使用者通路的目錄是/var/ftp,匿名使用者是以系統使用者ftp登陸的,/var/ftp是ftp的宿主目錄。而使用普通系統系統使用者進行通路時,預設通路的是該使用者的宿主目錄。

可以根據需要編輯配置檔案vsftpd.conf,進而設定通路的權限。和samba服務陪置一樣,每次配置vsftpd.conf,都需要重新開機或重新加載服務才能生效

servicevsftpd{ restart | reload }

基于安全考慮,FTP根目錄的權限不允許有寫入權限,否則在通路時會報錯。

建立虛拟使用者

建立虛拟使用者資料庫需使用db_load工具,由db4-utils軟體包提供,需要先安裝。

1.建立使用者名和密碼清單

vi /etc/vsftpd/vusers.list

tom

123

jack

456

......

(使用者名和密碼分行顯示,每一行代表一個使用者或密碼,1、3、5...奇數行為使用者名,2、4、6...偶數行為密碼)

2.建立Berkeley DB格式的資料庫檔案 (加密的)

cd /etc/vsftpd(切換到vsftpd目錄,友善操作)

db_load -T -t hash -f vusers.list vusers.db

-T :允許非Berkeley DB應用程式使用

-t :指定加密算法

-f :指定資料源檔案

( vusers.db為生成的檔案)

為了提高安全性,應将users.db檔案權限設定文600,且删除原有的vuser.list檔案,使用者的宿主目錄權限預設為700,是以需要調整權限以允許通路。

3.添加虛拟使用者映射帳号

useradd -d /var/vsftp -s/sbin/nologin tom

-d :指定使用者家目錄,即FTP的根目錄

-s :此帳号無需登入shell

(vsftpd配置中load_root、anon_root配置項需注釋或删除)

4.為虛拟使用者建立PAM認證檔案

vi /etc/pam.d/vsftpd.vu

rhel6下搭建FTP檔案傳輸服務

5.修改vsftpd配置,添加虛拟使用者支援

guest_enable=YES--啟用使用者映射

guest_username=tom--指定映射系統使用者名

pam_service_name=vsftpd.vu --指定PAM認證檔案

6.為不同的使用者建立獨立的配置目錄和檔案

以上步驟已經可以重新開機服務進行虛拟使用者進行通路了,但若要實作不同的虛拟使用者有不同的通路權限,可以為每個虛拟使用者建立各自的配置檔案來實作。

mkdir /etc/vsftpd/vusers_dir--建立目錄

在vsftpd.conf配置檔案中指定

vi /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/vusers_dir

在/etc/vsftpd/vusers_dir/目錄中添加與虛拟使用者同名的配置檔案,在vsftpd服務中,虛拟使用者被作為匿名使用者進行處理,是以配置項一般以anon_ 開頭。

例:

vi /etc/vsftpd/vusers_dir/tom

anon_upload_enable=YES

anon_mkdir_write_enable=YES

注:在vsftpd.conf配置檔案中添加user_config_dir配置項後,應該給每個使用者都建立一個獨立的配置檔案(可以是空檔案),否則該使用者可能會無法登入。

繼續閱讀