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/ftpftp的宿主目錄。而使用普通系統系統用戶進行訪問時,默認訪問的是該用戶的宿主目錄。

可以根據需要編輯配置文件vsftpd.conf,從而設置訪問的權限。和samba服務陪置一樣,每次配置vsftpd.conf,都需要重啓或重新加載服務才能生效

servicevsftpd{ restart | reload }

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


建立虛擬用戶

建立虛擬用戶數據庫需使用db_load工具,由db4-utils軟件包提供,需要先安裝。

1.創建用戶名和密碼列表

vi /etc/vsftpd/vusers.list

tom

123

jack

456

......

(用戶名和密碼分行顯示,每一行代表一個用戶或密碼,135...奇數行爲用戶名,246...偶數行爲密碼)

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_rootanon_root配置項需註釋或刪除)

4.爲虛擬用戶建立PAM認證文件

vi /etc/pam.d/vsftpd.vu

234141802.jpg

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配置項後,應該給每個用戶都建立一個獨立的配置文件(可以是空文件),否則該用戶可能會無法登錄。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章