vsftpd基于系統用戶訪問ftp服務器,系統用戶越多越不利于管理,不利于系統安全,這樣就以vsftp虛擬防護的方式來解決。
虛擬用戶沒有實際的真實系統用戶,,而是通過映射到其中一個真實用戶以及設置相應權限來訪問驗證,虛擬用戶不能登陸系統。
1.安裝虛擬用戶需要用到的軟件以及認證模塊
[root@www ~]# yum install pam* libd-utils libdb* --skip -broken -y
2.創建虛擬用戶臨時文件
/etc/vsftpd/ftpusers.txt
xj3
123456
xj4
123456
3.生成虛擬用戶數據庫認證文件,權限為700
[root@www vsftpd]# db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
[root@www vsftpd]# chmod 700 /etc/vsftpd/vsftpd_login.db
4.配置pam認證文件/etc/pam.d/vsftpd加入下面兩行代碼:
auth_required pam_userdb .so db=/etc/vsftpd/vsftpd_login
account_required pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.vsftp虛擬用戶需要映射到一個系統用戶,該系統用戶不需要密碼,也不需要登陸,主要用于虛擬用戶映射使用
useradd -s /sbin/nologin ftpuser
6.vsftpd配置
#globle config vsftpd 2018
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
userlist_enable=YES
tcp_wrappers=YES
# config virtual user ftp
pam_service_name=vsftpd 虛擬用戶企業pam認證
guest_enable=YES 啟用虛擬用戶
guest_username=ftpuser 映射虛擬用戶至系統用戶ftpuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf虛擬用戶配置文件所在的目錄
virtual_use_local_privs=YES 虛擬用戶使用與本地用戶相同的權限
7至此,所有虛擬用戶共同使用/home/ftpuser主目錄實現上傳下載,可以在/etc/vsftpd/vsftpd_user_conf目錄創建虛擬用戶各自的配置文件,創建虛擬用戶配置文件主目如下:
mkdir -p /etc/vsftpd/vsftpd_user_conf/
8,為虛擬用戶創建配置文件,同時創建私有的虛擬目錄
vim /etc/vsftpd/vsftpd_user_conf/xj3
local_root=/home/ftpuser/xj3 虛擬用戶配置文件路徑
write_enable=YES 允許登陸用戶有寫權限
anon_world_readable_onle=YES允許匿名用戶下載,然后讀取文件
anon_upload_enable=YES允許匿名用戶上傳文件權限,只有在write_enable=yes是才生效
anon_mkdir_write_enable=YES允許匿名用戶創建目錄,只有在write_enable=yes是才生效
anon_other_write_enable=YES允許匿名用戶其它權限,如刪除,重命名
vim /etc/vsftpd/vsftpd_user_conf/xj3
local_root=/home/ftpuser/xj3
write_enable=YES
anon_world_readable_onle=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
9創建虛擬用戶各自虛擬目錄
mkdir -p /home/ftpuser/{xj3,xj4};
chown -R ftpuser:ftpuser /home/ftpuser
總結
以上所述是小編給大家介紹的Linux文件服務器實戰詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!