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