配置虛擬用戶訪問 首先至少要關閉userlist 改完配置文件是要重啟服務來使它生效 其實在剛裝好vsftp的時候的配置文件不用修改的情況下配置虛擬用戶訪問控制是最好的 local_root選項不影響 本地用戶登錄的目錄和虛擬用戶登錄的目錄是不產生影響的 為防止有影響,把chroot也註釋了 配置虛 ...
配置虛擬用戶訪問
首先至少要關閉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、調整虛擬用戶許可權
註:還是沒有登錄成功,實在是找不到錯在了哪裡。(後面再做做,如果能成功會再記錄一下)