推薦-Vsftpd虛擬用戶的配置 for CentOS

Vsftpd虛擬用戶的配置

System:Linux centos6.5 2.6.32-431.el6.x86_64

vsftpd-2.2.2-21.el6.x86_64


第一步、安裝

#cd  /etc/yum.repos.d/

# rm -rf *

# wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo

# yum clean all

# yum -y install vsftpd

# yum -y install db4-utils

 

第二步、建立虛擬用戶

#vim /home/loginuser.txt

user1  

password1  

user2  

password2  

user3  

password4 

格式爲第一行爲用戶名名,第二行爲密碼,然後類推


建立db數據庫,同時只有root用戶才能讀寫

# db_load -T -t hash -f /home/loginuser.txt /etc/vsftpd/vsftpd_login.db

# chmod 600 /etc/vsftpd/vsftpd_login.db


配置pam文件

# vim /etc/pam.d/vsftpd.vu  (64位系統)

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login  

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 

 

# vim /etc/pam.d/vsftpd.vu (32位系統)

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login  

account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 


#vim /etc/pam.d/vsftpd    (64位系統)

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login


建立虛擬用戶對應的系統真實用戶

useradd jboss -d /data -s /sbin/nologin

chown jboss.jboss /data

注:在虛擬主機服務器上用nginx,用戶爲www


第三步、修改配置文件

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO 

local_enable=YES 

write_enable=NO 

dirmessage_enable=YES 

xferlog_enable=YES 

xferlog_file=/var/log/vsftpd.log  

connect_from_port_20=YES 

xferlog_std_format=YES 

listen=YES 

userlist_enable=YES 

chroot_local_user=YES 

tcp_wrappers=YES 

#guest_enable=YES 

#guest_username=jboss 

pam_service_name=vsftpd.vu  

user_config_dir=/etc/vsftpd/vsftpd_user_conf  

virtual_use_local_privs=YES 

pasv_min_port=50000 

pasv_max_port=50010 

pasv_enable=yes 

max_clients=200 

max_per_ip=4 

idle_session_timeout=600 

ftpd_banner=Welcome to Windows2008 FTP Service.  


註釋如下:

anonymous_enable=NO

設定不允許匿名訪問

local_enable=YES

設定本地用戶可以訪問。注意:主要是爲虛擬宿主用戶,如果該項目設定爲NO那麼所有虛擬用戶將無法訪問。

write_enable=YES

設定可以進行寫操作。

local_umask=022

設定上傳後文件的權限掩碼。

anon_upload_enable=NO

禁止匿名用戶上傳。

anon_mkdir_write_enable=NO

禁止匿名用戶建立目錄。

dirmessage_enable=YES

設定開啓目錄標語功能。

xferlog_enable=YES

設定開啓日誌記錄功能。

connect_from_port_20=YES

設定端口20進行數據連接。

chown_uploads=NO

設定禁止上傳文件更改宿主。

xferlog_file=/var/log/vsftpd.log

設定Vsftpd的服務日誌保存路徑。注意,該文件默認不存在。必須要手動touch出來,並且由於這裏更改了Vsftpd的服務宿主用戶爲手動建立的Vsftpd。必須注意給與該用戶對日誌的寫入權限,否則服務將啓動失敗。

xferlog_std_format=YES

設定日誌使用標準的記錄格式。

nopriv_user=vsftpd

設定支撐Vsftpd服務的宿主用戶爲手動建立的Vsftpd用戶。注意,一旦做出更改宿主用戶後,必須注意一起與該服務相關的讀寫文件的讀寫賦權問題。比如日誌文件就必須給與該用戶寫入權限等。

async_abor_enable=YES

設定支持異步傳輸功能。

ascii_upload_enable=YES

ascii_download_enable=YES

設定支持ASCII模式的上傳和下載功能。

ftpd_banner=Welcome to Awei FTP servers

設定Vsftpd的登陸標語。

chroot_local_user=YES

禁止本地用戶登出自己的FTP主目錄。

pam_service_name=vsftpd

設定PAM服務下Vsftpd的驗證配置文件名。因此,PAM驗證將參考/etc/pam.d/下的vsftpd文件配置。

以下這些是關於Vsftpd虛擬用戶支持的重要配置項目。默認Vsftpd.conf中不包含這些設定項目,需要自己手動添加配置。

guest_enable=YES

設定啓用虛擬用戶功能。

guest_username=ftp

指定虛擬用戶的宿主用戶。

virtual_use_local_privs=YES

設定虛擬用戶的權限符合他們的宿主用戶。

user_config_dir=/etc/vsftpd/vsftpd_user_conf

設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄裏,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的

地方就是這些配置文件名必須和虛擬用戶名相同。


第四步、建立日誌

因爲默認vsftpd的日誌文件不存在,需要手工建立,同時賦予權限

# touch /var/log/vsftpd.log

 

第五步、建立虛擬用戶配置文件

# mkdir /etc/vsftpd/vsftpd_user_conf

所有權限

# vim /etc/vsftpd/vsftpd_user_conf/user1

write_enable=YES 

anonymous_enable=NO 

anon_world_readable_only=NO 

anon_upload_enable=YES 

anon_mkdir_write_enable=YES 

anon_other_write_enable=YES 

local_umask=022 

download_enable=Yes 

local_root=/data/user1  

上傳權限

# vim /etc/vsftpd/vsftpd_user_conf/user2

write_enable=YES 

anon_world_readable_only=NO 

anon_upload_enable=YES 

anon_mkdir_write_enable=YES 

anon_other_write_enable=YES 

local_umask=022 

download_enable=NO 

local_root=/data/user2  

 

只能下載

# vim /etc/vsftpd/vsftpd_user_conf/user3

write_enable=NO 

anon_world_readable_only=NO 

anon_upload_enable=NO 

anon_mkdir_write_enable=NO 

anon_other_write_enable=NO 

local_umask=022 

download_enable=yes 

local_root=/data/user3 

 

第六步、關閉SELinux 

#vi /etc/selinux/config

SELINUX=disabled

#setenforce 0    不重啓關閉selinux生效


第七步、關閉防火牆或打開21、20端口

#setup


啓動服務

#service vsftpd start


看日誌:

#tail -f /var/log/vsftpd.log

#tail -f /var/log/secure


支持SSL

如果需要支持SSL 安全連接

#vi /etc/vsftpd/vsftpd.conf

ssl_enable=yes

rsa_cert_file=/etc/vsftpd/vsftpd.pem

ssl_ciphers=HIGH

require_ssl_reuse=NO


生存密鑰:放入rsa_cert_file=/etc/vsftpd/ 目錄下

#openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem -days 1095


重啓服務:

#service vsftpd restart


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