Vsftpd文件傳輸服務(三種認證模式:匿名開放 、本地用戶、虛擬用戶)
FTP的出現解決了各類設備、各類操作系統之間文件傳輸問題,極大地方便了用戶通過網絡資源的獲取。
FTP服務器常部署於企業內網中,具有容易搭建、方便管理的特點,目前有些FTP客戶端工具還可以支持文件的多點下載以及斷點續傳,因此FTP服務得到了廣大用戶的青睞。
FTP協議有兩種工作模式:
1. 主動模式: FTP服務器主動向客戶端發起連接請求;
2. 被動模式: FTP服務器等待客戶端發起連接請求(默認模式);
vsftpd的三種認證模式
1. 匿名開放模式:
它是一種最不安全的認證模式,任何人都可以無需密碼驗證而直接登錄到FTP服務器;
2. 本地用戶模式
它是通過Linux系統本地的賬戶密碼信息進行認證的模式,相較於匿名開放模式更安全,而且配置起來也很簡單。但是若被惡意用戶破解了賬戶的信息,就可以暢通無阻地登錄FTP服務器,從而完全控制服務器;
3. 虛擬用戶模式
它是三種模式中最安全的一種認證模式,它需要為FTP服務單獨建立用戶數據庫文件,虛擬出的用戶進行口令驗證的賬戶信息,而這些賬戶信息在服務器系統上並不存在,僅供FTP服務器進行認證使用。
實驗環境:
- rhel6.5操作系統
- 服務器IP地址:192.168.100.5
- rhel6.5的鏡像光盤掛載至/mnt/cdrom/
實驗內容:
- 匿名開放模式
- 本地用戶模式
- 虛擬用戶模式
部署服務:
安裝vsftpd服務
1.安裝軟件包
rpm -ivh /mnt/cdrom/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
2.關閉安全設置和防火墻
setenforce 0
service iptables stop
默認FTP站點目錄:/var/ftp
配置文件路徑:/etc/vsftpd/vsftpd.conf
一、匿名開放模式
- 修改vsftpd.conf配置文件
......
anonymous_enable=YES //允許匿名訪問模式......
anon_upload_enable=YES //啟用,允許匿名用戶上傳文件
anon_mkdir_write_enable=YES //啟用,允許匿名用戶創建目錄
新增下面參數
anon_other_write_enable=YES //允許匿名用戶修改目錄名稱或刪除目錄
- 啟動服務
chkconfig vsftpd on
service vsftpd start
- 修改ftp目錄權限
chown ftp:ftp /var/ftp/pub
chmod 777 /var/ftp/pub
4. 測試
查看ftp服務器站點目錄及文件
在客戶端中運行“命令提示符”,登錄ftp站點
客戶端下載文件
客戶端上傳文件
進入ftp服務器站點查看上傳文件
二、本地用戶模式
- 修改vsftpd.conf配置文件
......
anonymous_enable=NO //禁止匿名訪問模式
local_enable=YES //允許本地用戶模式
write_enable=YES //設置可寫權限
local_umask=022 //本地用戶創建文件的umask值
userlist_enable=YES //啟動“禁止名單”,名單文件為ftpusers和user_list
userlist_deny=YES //開啟用戶作用名單文件功能
- 創建兩個本地用戶zhagnsan、lisi
useradd -s /sbin/nologin zhangsan //創建用戶zhangsan
passwd zhangsan //設置密碼,輸入兩次
useradd -s /sbin/nologin lisi //創建用戶lisi
passwd lisi //設置密碼,輸入兩次
- 修改ftpusers文件
cd /etc/vsftpd/
vim ftpusers //編輯文件,在末尾添加lisi
- 重啟服務
service vsftpd restart
5. 測試
ftp服務器開啟了本地用戶驗證登錄,lisi添加到了黑名單中,不讓其登錄,zhagnsan可以進行正常登錄
客戶端分別使用lisi、zhangsan兩個賬戶進行登錄測試
三、虛擬用戶模式
- 創建ftp用戶數據庫文件
cd /etc/vsftpd/ //進入目錄
vim vuser //創建ftp用戶數據庫文件,奇數行為用戶名,偶數行為密碼
test
123123
tom
123123
- 對vuser文件進行加密轉換為數據庫文件
db_load -T -t hash -f vuser vuser.db //轉換為數據庫文件
chmod 600 vuser.db //修改權限不讓其他用戶查看
- 創建vsftpd服務程序用戶存儲文件的根目錄以及虛擬用戶映射的系統本地用戶
useradd -d /opt/vuser -s /sbin/nologin vuser
- 建立用戶支持虛擬用戶的PAM認證模塊文件
vim /etc/pam.d/vsftpd.vu
//添加以下兩行數據
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
- 修改vsftpd服務程序的主配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //禁止匿名開放模式
local_enable=YES //允許本地用戶
guest_enable=YES //開啟虛擬用戶
guest_username=vuser //指定虛擬用戶為vuser
pam_service_name=vsftpd.vu //指定PAM文件
- 重啟服務
service vsftpd restart
7. 測試
客戶端使用虛擬賬戶tom進行登錄,可以正常登錄
客戶端使用虛擬賬戶test進行登錄,可以正常登錄
Vsftpd文件傳輸服務(三種認證模式:匿名開放 、本地用戶、虛擬用戶)