Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> FTP服務器 >> 全面剖析vsftpd服務器的使用

全面剖析vsftpd服務器的使用

日期:2017/1/20 17:52:48      編輯:FTP服務器

Vsftpd服務全攻略之常規配置

1:vsftpd服務軟件包

vsftpd-2.2.2-11.el6.i686.rpm

2:vsftpd相關文檔

/etc/vsftpd/vsftpd.conf : vsftpd的核心配置文件

/etc/vsftpd/ftpusers : 用於指定哪些用戶不能訪問FTP服務器

/etc/vsftpd/user_list : 用於允許使用vsftpd的用戶列表文件

/etc/vsftpd/vsftpd_conf_migrate.sh : 是vsftpd操作的一些變量和設置腳本

/etc/ftp : 默認情況下匿名用戶的根目錄

FTP常規配置應用案例1:

需求:

公司開發部准備搭建一台功能簡單的FTP服務器,允許所有員工上傳和下載文件,並允許創建用戶自己的目錄。

分析:

允許所有員工上傳和下載文件需要設置稱匿名用戶登錄並且需要將尼姆用戶上傳功能開啟,最後anon_mkdir_write_enable字段可以控制是否允許匿名用戶創建目錄。

解決方案:

(1)     配置vsftpd.conf 主配置文件,(服務器配置支持上傳)

允許匿名用戶訪問

anonymous_enable=YES

允許匿名用戶上傳文件並可以創建目錄

anon_upload_enable=YES

anon_mkdir_write_enable=YES

保存退出

(2)     上傳目錄ftp用戶的寫入權限

大家注意,默認匿名用戶家目錄的權限是755,這個權限是不能改變的。切記!切記!!

下面我們來一步一步的實現,先修改目錄權限,創建一個公司上傳用的目錄,演示需要,交chenyi,分配ftp用戶所有,目錄權限755

OK了

(3)     修改selinux(selinux支持上傳) 既然是模擬真實環境,想了想不去關閉它了!

使用getsebool –a | grep ftp 命令可以查找到ftp的bool值。然後我們來修改      getbool –a

是顯示所有的selinux的布爾值,通過管道,查找與ftp相關的!

使用setsebool –P allow_ftpd_anon_write 命令設置布爾值

下面我們准備上下文

然後reboot重新啟動服務器

重啟就不上圖了。 如果你直接關閉了selinux的話 可以不進行重啟操作 命令如下
:setenforce 0

(4)     運行級別3開啟vsftpd服務

(5)     測試

匿名登錄FTP

現在試試匿名上傳

現在匿名上傳的文件是禁止刪除的

這樣匿名用的上傳就算成功了!

*******************************辰逸技術博客*******************************

FPT常規配置應用案例2:

需求:

公司內部現在有一台FTP和WEB服務器,FTP的功能主要用於維護公司的網站內容,包括上傳文件,創建目錄,更新網頁等, 公司現在有兩個部門負責維護任務,他們分別是team1

和team2帳號進行管理。先要求僅允許chenyi1和chenyi2帳號登錄FTP服務器,但不能登錄本地系統並將這2個帳號根目錄限制為/var/www/html,不能進入該目錄以外的任何目錄。

分析:

將FTP和WEB服務器做在一起是企業經常采用的方法,於是辰逸便取經一番以該案例做為第二案例,這樣即方便實現對網站的維護,為了增強安全性,首先需要使用僅允許本地用戶訪問,並禁止匿名用戶,其次使用chroot功能將chenyi1和chenyi2鎖定在/var/www/html目錄下,如果需要刪除文件則還需要注意本地權限,呵呵!


解決方案:

(1)       建立維護網站內容的 ftp 帳號,chenyi1和chenyi2並禁止本地登錄,然後設置其密碼

useradd –s /sbin/nologin 用戶名

(2)       配置vsftpd.conf主配置文件並做相應的修改

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO:禁止匿名用戶登錄

local_enable=YES:允許本地用戶登錄

local_root=/var/www/html:設置本地用戶的根目錄為/var/www/html

chroot_list_enable=YES:激活chroot功能

chroot_list_file=/etc/vsftpd/chroot_list:設置鎖定用戶在根目錄的列表文件

保存退出!

(3)       建立/etc/vsftpd/chroot_list文件,添加chenyi1和chenyi2帳號

touch /etc/vsftpd/chroot_list

(4)       開啟禁用selinux的FTP傳輸審核功能

setsebool –P ftpd_disable_trans

如果有,而沒禁用selinux的FTP傳輸審核功能則會出現如下錯誤:“500 OOPS:無法改變目錄”

還需要這條命令setsebool -P allow_ftpd_anon_write 關閉之前開啟匿名

這裡我就直接關閉selinux了

(5)       重啟vsftpd服務使配置生效,service vsftpd restart

(6)修改本地權限

(6)       測試

*******************************辰逸技術博客*******************************

FTP高級配置應用案例1:

企業環境:公司為了宣傳最新的產品信息,計劃搭建FTP服務器,為客戶提供相關文檔下載,對所有權互聯網開放共享目錄,允許下載產品信息,禁止上傳,公司的合作單位能夠使用FTP服務器進行上傳,但不可以刪除數據,並且為了保證服務器的穩定性,進行適當的優化~

需求分析:

根據企業的需求,對於不同用戶進行不同的權限限制,FTP服務器實現用戶的審核,需要考慮到服務器的安全性,所以關閉了實體用戶的登錄,使用虛擬帳號驗證限制,並對虛擬賬號設置不同的權限,為了保證服務器的性能,還需要根據用戶的等級,限制客戶端的連接數及下載速度!

解決方案:

1:創建用戶數據庫

(1)       創建用戶文本文件

先建立用戶文本文件 chenyi 添加兩個虛擬帳號,公共帳號ftp及客戶帳號vip

touch /etc/vsftpd/chenyi

vi /etc/vsftpd/chenyi 下圖為編輯內容

保存退出

注意:

(2)       修改數據庫文件訪問權限

生成chenyi.db命令(db_load –T –t hash –f /etc/vsftpd/chenyi.com vsftpd_chenyi.db 生成後可刪除原文件不刪也行)如果該命令無法執行 報錯沒有 db_load該命令,請安裝 db4這個軟件包!如果有問題,問百度和我都可以!

數據庫文件中保存著虛擬賬號的密碼信息,為了防止非法用戶盜取,我們可以修改其訪問權限,生成的認證文件應該設置為可讀可寫 即600

chmod 600 /etc/vsf tpd/chenyi.db


2:配置PAM文件

為了使服務器能夠使用數據庫文件,對客戶端進行身份,需要調用系統的PAM模塊,PAM(Plugable Authentication Module)可插拔認證模塊,不必重新安裝應用系統,通過修改指定的配置文件,調整對改程序的認證方式,PAM模塊的配置文件路徑為/etc/pam.d/目錄,此目錄下保存著大量與認證有關的配置文件,並以服務名稱命名!

修改vsftpd對應的PAM配置文件,/etc/pam.d/vsftpd,將默認配置用用“#”全部注釋。添加相應字段即可。

3:創建虛擬帳號對應的的系統用戶

對於公共帳號和客戶帳號,因為需要配置不同的權限,所以可以將兩個帳號的目錄進行隔離,控制用戶的文件訪問,公共帳號ftp對應的系統帳號ftpuser,並指定其家目錄為/var/ftp/share,而客戶帳號vip對用的系統帳號為ftpvip,並置頂家目錄/var/ftp/vip

chmod –R 500 /var/ftp/share :公共帳號ftp只允許下載!

chmod –R 700 /var/ftp/vip :客戶帳號VIP只允許上傳和下載,所以對vip目錄權限設置為rwx,可讀可寫可執行!

4:建立配置文件

設置多個虛擬帳號的不同權限,若使用一個配置文件無法實現該功能,需要為每個配置文件建立獨立的配置文件,並根據需要進行相應的設置。

(1)修改vsftp.conf主配置文件

配置主配置文件/etc/vsftpd/vsftpd.conf添加虛擬帳號的共同設置並添加user_config_dir子段定義虛擬帳號的配置文件目錄

禁用匿名帳號登錄,啟用本地帳號登錄設置

anonymous_enable=NO local_enable=YES

將所有本地用戶限制在家目錄中,NO則不限制

chroot_local_user=YES

必不可少的配置

接著下面的配置!!!!

(3)       建立虛擬帳號配置文件

在 user_config_dir 指定的路徑下,建議與虛擬目錄同名的配置文件,並添加相應的配置字段,首先建立公共帳號ftp的配置文件

建立好後  vi 編輯 ftp 和 vip 2個配置文件

vsftpd的限速不是據對的。例:設置100KB/s則實際速度在80KB/s~120KB/s之間變化

下面是客戶帳號的配置文件VIP

5:重啟vsftpd使配置生效

6:測試

(1)       公共帳號ftp測試

在公共帳號測試前,我們先寫個空文件出來 測試!

公共帳號登錄ftp服務器了

使用flash FXP 測試 因為要測試速度,下面的user ftp  足以證明是ftp登錄了吧!

事實證明還是比較靠譜的

在回到windows去刪除它試試 !沒有權限刪除

並且沒有權限上傳

測試客戶用戶 VIP

同樣生成個文件以便測試,步驟參照上面!

限速效果明顯

和預設的一樣,可以上傳文件,但無權刪除文件

好了。到了這裡就應該讓大家自己去親身體會了!希望大家能獲益

附原版文檔下載

www.itchenyi.com

本文出自 “IT辰逸” 博客,請務必保留此出處http://itchenyi.blog.51cto.com/4745638/1050078

Copyright © Windows教程網 All Rights Reserved