FTP 主要用于文件傳輸,在 Linux 上一般用 vsftpd 來實(shí)現(xiàn),通過搭設(shè) FTP 服務(wù)器,可以實(shí)現(xiàn)文件的共享,至少比坑爹的某度網(wǎng)盤強(qiáng)多了。
搭設(shè) FTP 服務(wù)器有三種可選的認(rèn)證方式:匿名認(rèn)證、本地用戶認(rèn)證、虛擬用戶認(rèn)證,安全性:匿名認(rèn)證<本地用戶認(rèn)證<虛擬用戶認(rèn)證,配置復(fù)雜度:匿名認(rèn)證<本地<虛擬用戶認(rèn)證。
Linux 中文件都有對(duì)應(yīng)的所有者,虛擬用戶認(rèn)證指的是,創(chuàng)建一個(gè)或多個(gè) FTP 用戶,并將這些 FTP 用戶與 Linux 本地的某個(gè)用戶(如 vftpuser )進(jìn)行映射,這樣完成映射的用戶在對(duì) FTP 目錄進(jìn)行操作時(shí)等同于用戶 vftpuser 進(jìn)行操作。此外,虛擬用戶認(rèn)證模式可以允許對(duì)多個(gè) FTP 分別進(jìn)行配置,非常靈活方便。從靈活性與安全性兩個(gè)方面考慮,本文選擇使用虛擬用戶認(rèn)證模式。
OK,準(zhǔn)備開工!
一、基本環(huán)境
服務(wù)器:CentOS7.5
客戶機(jī):Ubuntu Mate18.10
FTP服務(wù)端:vsftpd
FTP客戶端:FileZilla(可選)
二、基本流程
為了看起來更簡潔,僅列出搭設(shè)基本流程及相關(guān)命令。
1、安裝 vsftpd
2、創(chuàng)建虛擬用戶
用你喜歡的任何編輯器創(chuàng)建并編輯 /etc/vsftpd/vuser.list 文件,內(nèi)容如下:
lilei
lileipasswd
hanmeimei
hmmpasswd
口令認(rèn)證文件奇數(shù)行為用戶名,偶數(shù)行為對(duì)應(yīng)的密碼
3、創(chuàng)建口令認(rèn)證數(shù)據(jù)庫
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db
-T:轉(zhuǎn)換
-t:指定hash算法
-f:指定用戶名
4、編輯 PAM
認(rèn)證文件
創(chuàng)建并編輯 /etc/pam.d/vsftpd.vu
,內(nèi)容如下:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
db指定口令認(rèn)證數(shù)據(jù)庫,不含后綴名
5、建立本地用戶
useradd -d /home/vftpuser -s /sbin/nologin vftpuser
chmod 755 /home/vftpuser
-d:指定用戶主目錄
-s:指定用戶登錄shell,/sbin/nologin表示禁止用戶通過shell登錄,提高安全性
6、映射 FTP
用戶到 vftpuser
編輯 /etc/vsftpd/vsftpd.conf
,修改下列行:
pam_service_name=vsftpd.vu # 指定pam認(rèn)證文件
guest_enable=YES # 啟用映射
guest_username=vftpuser # 指定映射的本地用戶
user_config_dir=/etc/vsftpd/vusers_dir # 指定FTP用戶配置文件位置,如果不需要對(duì)每個(gè)用戶進(jìn)行分別配置,可將此行注釋掉
7、為每個(gè)用戶進(jìn)行單獨(dú)配置
創(chuàng)建 /etc/vsftpd/vuser_dir
,針對(duì)每個(gè) FTP
用戶創(chuàng)建同名配置文件,此處以 lilei
為例。創(chuàng)建并編輯 /etc/vsftpd/vuser_dir/lilei
,內(nèi)容如下:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/var/www/html
默認(rèn)根目錄為映射用戶的家目錄,可通過 local_root 指定某個(gè)用戶的根目錄,注意需要將此目錄所有者改為 vftpuser 。
8、重啟 vsftpd
三、注意事項(xiàng)
- 將 vsftpd 加入開機(jī)啟動(dòng),防止服務(wù)器重啟后無法訪問;
- 如果 FTP 服務(wù)器無法訪問,注意檢查防火墻與 SElinux 設(shè)置;
- 生成口令認(rèn)證數(shù)據(jù)庫后,及時(shí)將 list 文件刪除,防止密碼泄露。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。