配置虛擬用戶訪問linux
首先至少要關閉userlist數據庫
改完配置文件是要重啓服務來使它生效安全
其實在剛裝好vsftp的時候的配置文件不用修改的狀況下配置虛擬用戶訪問控制是最好的函數
local_root選項不影響測試
本地用戶登陸的目錄和虛擬用戶登陸的目錄是不產生影響的ui
爲防止有影響,把chroot也註釋了spa
配置虛擬用戶登陸的步驟:3d
一、添加虛擬用戶口令文件rest
二、生成虛擬用戶口令認證文件blog
三、編輯vsftp的PAM認證文件
四、創建本地映射用戶並設置宿主目錄權限
五、修改配置文件
六、重啓vsftp服務,並測試
七、調整虛擬用戶權限
第一步:添加虛擬用戶口令文件(該文件能夠叫任何名字也能夠放在任何位置)
vi /etc/vsftpd/vuser.txt #內容以下
cangls #用戶名
123 #密碼
bols #用戶名
123 #密碼
以上的用戶名密碼並不能直接登陸系統,因此不怕截取
第二步:生成虛擬用戶口令認證文件
yum –y install db4-utils #若是沒有安裝口令認證命令,須要安裝
db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db #把文本文檔轉換爲認證的數據庫
-T:轉化
-t:指定轉換函數
-f:指定文件
第三步:編輯vsftp的PAM認證文件
vi /etc/pam.d/vsftpd
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
#註釋掉其餘行,加入這兩行便可
#註釋其餘行,能夠禁止本地用戶登陸,由於本地用戶登陸時的驗證依然依賴這個文件
該文件中自己就有一些規則,定義的是本地用戶的驗證規則
在vsftp的配置文件最下面有一行設置,就是pam文件
vi中將2~8行添加#號
添加修改完成後,重啓服務
此時本地用戶就不能登陸了
第四步:創建本地映射用戶並設置宿主目錄權限
useradd –d /home/vftproot –s /sbin/nologin vuser #此用戶不須要登陸,只是映射用戶
#用戶名必須和下一步配置文件中一致
chmod 775 /home/vftproot
建立完成後的vftproot的權限是700,這種權限下是不容許用戶上傳的,須要改權限爲755
第五步:修改配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #開啓虛擬用戶
guest_username=vuser #FTP虛擬用戶對應的系統用戶(用戶名要和前面的名字同樣)
pam_service_name=vsftpd #PAM認證文件(默認存在)
第六步:重啓vsftpd服務並測試
service vsftpd restart
此時虛擬用戶能夠登陸,查看、下載,不能上傳
默認上傳文件的位置是宿主用戶的家目錄
權限使用的是匿名用戶權限進行管理
注:正常狀況下,此時就能夠用前面設置的兩個虛擬用戶登陸ftp了,可是我這裏是登錄失敗,還沒找的是哪裏出錯了,下面我從新恢復虛擬機,重頭再來。
第七步:調整虛擬用戶權限(不能上傳的問題)
vi /etc/vsftpd/vsftpod.conf
anonymous_enable=NO #關閉匿名用戶登陸,更加安全(不影響虛擬用戶登陸)
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#給虛擬用戶設置權限,容許全部虛擬用戶上傳
對於虛擬用戶的文件目錄中上傳的權限,除了ftp的權限之外還須要系統對文件的權限設置。
總結:
一、從新安裝:yum install –y vsftpd
二、關閉防火牆和SELinux
永久關閉防火牆:
關閉: chkconfig iptables off
開啓: chkconfig iptables on
三、永久關閉SELinux:
vi /etc/selinux/config
修改SELINUX=disabled
四、關閉可能影響ftp的防火牆策略
service iptables status #查看防火牆
iptables -D INPUT 4 #刪除與ftp有關的策略
五、重啓系統,重啓服務
六、註釋userlist選項
七、建立虛擬用戶口令文件
vi /etc/vsftpd/vuser.txt
裏面寫入奇數行用戶名,偶數行密碼
八、生成虛擬用戶口令認證文件
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
九、編輯vsftp的PAM文件
註釋掉裏面全部的內容
輸入一下兩行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
十、創建本地映射用戶並設置宿主目錄權限
useradd -d /home/vftproot -s /sbin/nologin vuser
chmod 775 /home/vftproot/
十一、修改配置文件
添加和開啓如下三個選項
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd
十二、重啓vsftpd服務,並測試
1三、調整虛擬用戶權限
注:仍是沒有登陸成功,實在是找不到錯在了哪裏。(後面再作作,若是能成功會再記錄一下)