FTP的虛擬賬號
ftp的虛擬賬號
ftp 簡介:
ftp 采用明文的數據傳輸方式,如果使用本地賬戶登錄
ftp服務器,若該用戶的用戶名和密碼被別人抓包抓到,其他人就可以使用該賬號登錄ftp服務器,產生不安全的情況可以使用虛擬賬號,在ftp服務器上將該虛擬賬號映射為本地賬號,這樣即使賬號在網絡上被截獲,也只是在系統上不存在的賬號,無法登錄系統.
1.實驗步驟:
1.新建掛載點,掛載光盤。
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
[root@localhost ~]# cd /mnt/cdrom/Server
2.安裝vsftpd
[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
3. 產生文本文件,用于存放虛擬賬號和密碼。
[root@localhost Server]# vim /etc/vsftpd/vuser.txt
Test1 //虛擬賬號test1
123 //虛擬賬號test1的密碼
Test2 //虛擬賬號test2
123 //虛擬賬號test2的密碼
4. 安裝db_load 工具,使剛剛的賬號和密碼文件變為數據庫文件,該工具位于軟件包 db4_util 內
[root@localhost Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm
5. 使用db-load –help使用幫助。將虛擬賬號文件變為數據庫文件。
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
6. 當用戶登錄ftp服務器時,默認到/etc/passwd下進行賬戶驗證,在/etc/vsftpd/vsftpd.conf中有一條語句:pam_service_name=vsftpd ,說明可是使用pam進行驗證,驗證文件叫vsftpd。該文件為接口文件,告訴pam,驗證時要調用哪些模塊,以及模塊的參數。
打開接口文件vsftpd
root@localhost vsftpd]# vim /etc/pam.d/vsftpd
該文件需要使用模塊/lib/security/pam_userdb.so
查看該模塊的手冊:
[root@localhost txts]# man /usr/share/doc/pam-0.99.6.2/txts/README.pam_userdb
可以看到pam_userdb模塊是用來驗證存放在數據庫中的用戶名和密碼的。
7. 再次編輯Vim /etc/pam.d/vsftpd文件
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
虛擬賬號驗證成功后,需要將虛擬賬號和本地賬號進行映射
8. 新建本地賬戶user1
[root@localhost home]# useradd user1
[root@localhost home]# passwd user1
9. 查看vsftpd.conf手冊
查找guest關鍵字,guest_enable :所有的非匿名用戶登錄后將作為guest用戶,guest用戶映射成為guest_username定義的用戶名。
10.在/etc/vsftpd/vsftpd.conf中添加如下語句:
guest_enable=YES
guest_username=user1
11.重啟ftp服務
[root@localhost txts]# service vsftpd restart
12.給user1 的家目錄添加r權限
[root@localhost home]# ll -d user1/
drwx------ 3 user1 user1 4096 09-16 16:58 user1/
[root@localhost home]# chmod a+r user1/
[root@localhost home]# ll
drwxr-xr-x 3 user1 user1 1024 12-19 15:29 user1
12測試虛擬賬戶test1與test2 能否登陸成功: