配置虛擬用戶訪問
首先至少要關閉userlist

改完組態檔是要重啟服務來使它生效
其實在剛裝好vsftp的時候的組態檔不用修改的情況下配置虛擬用戶訪問控制是最好的
local_root選項不影響
本地用戶登錄的目錄和虛擬用戶登錄的目錄是不產生影響的
為防止有影響,把chroot也注釋了

配置虛擬用戶登錄的步驟:
1、添加虛擬用戶口令檔案
2、生成虛擬用戶口令認證檔案
3、編輯vsftp的PAM認證檔案
4、建立本地映射用戶并設定宿主目錄權限
5、修改組態檔
6、重啟vsftp服務,并測驗
7、調整虛擬用戶權限
第一步:添加虛擬用戶口令檔案(該檔案可以叫任何名字也可以放在任何位置)
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的權限以外還需要系統對檔案的權限設定,
總結:
1、重新安裝:yum install –y vsftpd
2、關閉防火墻和SELinux
永久關閉防火墻:
關閉: chkconfig iptables off
開啟: chkconfig iptables on
3、永久關閉SELinux:
vi /etc/selinux/config
修改SELINUX=disabled
4、關閉可能影響ftp的防火墻策略
service iptables status #查看防火墻
iptables -D INPUT 4 #洗掉與ftp有關的策略
5、重啟系統,重啟服務
6、注釋userlist選項
7、創建虛擬用戶口令檔案
vi /etc/vsftpd/vuser.txt
里面寫入奇數行用戶名,偶數行密碼
8、生成虛擬用戶口令認證檔案
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
9、編輯vsftp的PAM檔案
注釋掉里面所有的內容
輸入一下兩行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
10、建立本地映射用戶并設定宿主目錄權限
useradd -d /home/vftproot -s /sbin/nologin vuser
chmod 775 /home/vftproot/
11、修改組態檔
添加和開啟以下三個選項
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd
12、重啟vsftpd服務,并測驗
13、調整虛擬用戶權限
注:還是沒有登錄成功,實在是找不到錯在了哪里,(后面再做做,如果能成功會再記錄一下)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/151042.html
標籤:Linux
