centos6.5安裝vsftp服務並配置虛擬帳戶ftp

 

當咱們的用戶量愈來愈大時,繼續建立更多的系統用戶是不明智的,這時就須要爲vsftpd建立虛擬帳戶,但vsftpd虛擬帳戶的數據庫要保存在Berkeley DB格式的數據文件中,因此須要安裝db4-utils工具來建立這樣的數據庫文件數據庫

(1)安裝vsftpd服務tomcat

yum install vsftpd
service vsftpd restart
chkconfig vsftpd on

 

(2)建立虛擬用戶數據庫安全

首先須要建立明文文件,明文文件奇數行爲用戶名,偶數行爲密碼。使用db_load工具將其轉換爲數據庫文件,db_load工具須要經過安裝db4—utils軟件得到。最後經過修改文件權限以加強資料的安全性併發

yum -y install db4-utils
vi /etc/vsftpd/vlogin

在vlogin文件中寫入用戶名和密碼運維

tomcat
123456
jerry
654321

生成虛擬數據庫tcp

db_load -T -t hash -f /etc/vsftpd/vlogin /etc/vsftpd/vlogin.db
chmod 600 /etc/vsftpd/{vlogin,vlogin.db}

(3)建立PAM文件,設置虛擬帳號驗證工具

Linux通常經過PAM文件設置帳號的驗證機制,而後經過建立PAM文件,使用新的數據文件進行登陸驗證,PAM文件中的db選項於指定並驗證帳戶和密碼的數據庫文件oop

vi /etc/pam.d/vsftpd.pam
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin

(4)設置虛擬帳戶共享目錄ui

由於全部的虛擬帳戶須要映射到一個真實的系統帳戶,因此係統須要添加一個系統帳戶並設置家目錄spa

useradd -s /sbin/nologin -d /home/ftp virtual

(5)修改主配置文件

vi /etc/vsftpd/vsftpd.conf
anonymous_enable
=NO #禁止匿名登陸,默認開啓 local_enable=YES #啓動本機帳戶ftp write_enable=YES #容許寫操做 anon_upload_enable=YES #容許匿名用戶上傳,默認禁止 anon_mkdir_write_enable=NO #禁止匿名用戶建立目錄 anon_other_write_enable=NO #禁止匿名用戶進行其餘寫操做 guest_enable=YES #開啓,則所用非匿名用戶登陸都指定到guest_username的指定帳號 guest_username=virtual #設置來賓帳號,即咱們剛剛建立的帳號 listen_port=21 pasv_enable=YES #啓動被動模式鏈接 pasv_min_port=30000 pasv_max_port=30999
user_config_dir=/etc/vsftpd_user_conf pam_service_name=vsftpd.pam #指定pam文件
user_sub_token=$USER

(5)爲每一個用戶設置獨立的共享路徑

經過在主配置文件中使用user_config_dir選項,設置一個基於帳戶的配置目錄,在該目錄下可建立若干個與帳戶名稱相同的文件,並在文件中爲此帳戶設置獨立的配置選項,包括權限與共享路徑等設置,本文僅以tomcat爲列,若是你還須要對權限,限速,併發量等選項進行設置,能夠參考匿名帳戶的設置帳戶的設置選項添加至帳戶獨立的配置文件中

mkdir /etc/vsftpd_user_conf
mkdir -p /home/ftp/tomcat
vi /etc/vsftpd_user_conf/tomcat

local_root=/home/ftp/$USER

(6)將21號端口寫進防火牆

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT #添加這一行

(7)重啓服務

service iptables restart
service vsftpd restart

常見問題

一、530 Login incorrect

pam驗證失敗,多是由於你使用的64位操做系統,而pam文件中庫文件的調用卻使用的是/lib/security/pam_userdb.so。或者是用戶名或密碼輸入錯誤,也有多是vsftpd主配置文件中pam_service_name設置的pam文件名稱與/etc/pam.d中建立的pam文件不一致

二、500 oops:cannot change directory:/home/ftp/$USER

setsebool -P ftp_home_dir 1

三、上傳文件失敗

 

chmod 777 /home/ftp/tomcat

 

注:實習生作運維。這是爲了之後不用處處找文章才寫的,不完善或錯誤請指出!!!!!!!!!!

相關文章
相關標籤/搜索