利用Vsftpd 搭建虛擬用戶FTP服務器

 利用Vsftpd 搭建虛擬用戶FTP服務器安全

概述:所謂虛擬用戶,就是指客戶端登陸時所使用的FTP用戶名和密碼在系統裏並不真實存在;實際上每一個虛擬用戶是經過一個真實的本地用戶來登陸FTP服務器的。這樣作能夠有效的控制服務器的安全,由於用戶並不真實存在,因此該用戶不能遠程登陸,也不能從物理上登陸該系統,從而達到了保護服務器的目的。

軟件來源:http://vsftpd.beasts.org
軟件版本:vsftpd-2.0.5.tar.gz
操做系統:RedHat Enterprise Linux AS3

1.vsftpd軟件的安裝
# tar –zxvf vsftpd-2.0.5.tar.gz //解壓軟件包
# cd vsftpd-2.0.5               //進入解壓後的目錄
# make && make install             //編譯並安裝
# cp vsftpd.conf /etc/             //拷貝主配置文件到/etc目錄下
# chkconfig vsftpd off             //關閉進程守護模式

2.添加一個本地用戶,而且禁止其SSH方式登陸
# useradd -s /sbin/nologin wjc

3.編輯vsftpd主配置文件
# vi /etc/vsftpd/vsftpd.conf
local_enable=YES     //打開本地用戶
local_umask=022   //本地用戶建立文件夾和上傳文件的權限,實際值=777-umask

connect_from_port_20=YES    //鏈接端口爲20

max_per_ip=4         //每一個IP最多鏈接4個客戶端
max_clients=200      //FTP最多支持200個用戶

listen=YES        //打開監聽模式,不然須要用守護模式啓動服務

guest_enable=YES //開啓虛擬用戶訪問功能
guest_username=wjc   //虛擬用戶實際用wjc用戶來登陸
pam_service_name=ftp.vu     //密碼驗證方式
user_config_dir=/etc/vsftpd_user_conf //虛擬用戶的配置文件所在的目錄

注:,由於主配置文件是被先讀的,而後再讀用戶的配置文件。因此
在主配置文件中給的權限越低,在後面用戶管理的時候對用戶的權限劃分的空間就越大

4.編輯驗證方式文件 
# vi /etc/pam.d/ftp.vu 
auth     required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

5.編輯虛擬用戶和密碼
# vi /tmp/login.txt
test1   //用戶名
test1   //密碼
test2   
test2

6.虛擬用戶的權限控制
# mkdir /etc/vsftpd_user_conf
在/etc/vsftpd_user_conf目錄下用虛擬用戶的登陸名來命名其配置文件
給用戶test1添加配置文件
# vi /etc/vsftpd_user_conf/test1
local_root=/var/ftpvu/testftp      //限制虛擬用戶登陸的主目錄
anon_world_readable_only=no     //准許虛擬用戶能夠瀏覽
write_enable=yes              //開放寫的權限
anon_upload_enable=yes      //開放上傳權限
anon_mkdir_write_enable=yes //開放建立目錄的權限
anon_other_write_enable=yes //其餘寫權限,如:重命名

一樣你能夠建立test2文件,給test2用戶建立不一樣的權限,以達到控制虛擬用戶不一樣的訪問權限的目的

7.創建訪問者的口令庫文件,而後修改其權限
# db_load -T -t hash -f /tmp/login.txt /etc/vsftpd_login.db
# chmod 600 /etc/vsftpd_login.db

8.開啓FTP服務
# /usr/local/sbin/vsftpd &

9. 驗證服務是否開啓
//查看進程
# ps -x | grep vsftpd       
//查看端口 
# netstat –tln

10.關閉FTP服務
# ps –x | grep vsftpd
# kill -9 PID     //-9這個參數爲強制,可不加;PID爲進程號,能夠用ps來查看
目前沒有更好的辦法來中止FTP服務,因此只能殺進程來關閉了

11.可能出現的問題
500 OOPS: could not bind listening IPv4 socket
有可能FTP服務器是運行的;
也有多是由於沒有關閉守護狀態 
服務器

相關文章
相關標籤/搜索