標籤:linux 密碼 使用者名稱 資料庫
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
本文出自 “陳勝綱的部落格” 部落格,請務必保留此出處http://chenshengang.blog.51cto.com/4399161/1791305
推薦-Vsftpd虛擬使用者的配置 for CentOS