vsftpd?以前在寫Wordpress的時(shí)候淤袜,因?yàn)槟硞€(gè)插件需要ftp支持,?就配置一個(gè)稚铣,?今天重配一個(gè)箱叁,發(fā)現(xiàn)了很多問(wèn)題,這里總結(jié)一下
核心問(wèn)題1:
?搭建完成后惕医,在配置文件里啟用了log日志耕漱,?想通過(guò)日志進(jìn)行排錯(cuò),但一開(kāi)始要么沒(méi)有日志曹锨,?要么有日志后沒(méi)有任何有用的報(bào)錯(cuò)信息孤个,后來(lái)命名用Flashfxp客戶端來(lái)做測(cè)試剃允,這個(gè)客戶端每次鏈接失敗沛简,?都會(huì)有報(bào)錯(cuò)信息,可以跟據(jù)報(bào)錯(cuò)信息來(lái)搜索怎么解決斥废。
核心問(wèn)題2:
同樣的一個(gè)報(bào)錯(cuò)信息椒楣,會(huì)對(duì)應(yīng)多個(gè)錯(cuò)誤點(diǎn),?比如你看到報(bào)錯(cuò)信息A牡肉,可能是配置B導(dǎo)致的問(wèn)題捧灰,?也可能是配置C?導(dǎo)致的問(wèn)題。即? 配置?B? C? D ,?錯(cuò)了任意一個(gè)點(diǎn)毛俏,?但輸出的報(bào)錯(cuò)信息是一致的炭庙。
核心問(wèn)題3:
搜索vsftpd? 配置,?有太多的文章煌寇,?太多的配置文件解釋焕蹄,?但幾乎沒(méi)有一個(gè)是拿?來(lái)即用的,命令行相比web最大的優(yōu)勢(shì)就是復(fù)制粘貼然后即拿即用阀溶,而網(wǎng)上的這些配置文件你復(fù)制拿?來(lái)用腻脏,?全是不行的。
核心問(wèn)題4:
需求银锻,?ftp可實(shí)現(xiàn)3個(gè)需求永品, 1:?匿名用戶訪問(wèn)問(wèn)題,?不考慮击纬,太不安全鼎姐,無(wú)意義。2:?本地系統(tǒng)用戶訪問(wèn)更振,較簡(jiǎn)單症见,較安全。 3:?虛擬用戶訪問(wèn)殃饿,?較復(fù)雜谋作,更安全。
網(wǎng)上說(shuō)了一堆乎芳,遵蚜,本次只實(shí)現(xiàn)一個(gè)需求,就是在系統(tǒng)中新建一個(gè)用戶奈惑,?然后就能做ftp用戶使用吭净。
本次做完,?備份了所有配置文件肴甸,配置文件每行加了注釋寂殉,后續(xù)應(yīng)該可以做到即拿即用。
核心問(wèn)題5:
配置文件結(jié)尾一定不能有空格原在,?否則會(huì)報(bào)錯(cuò)友扰。systemctl restart vsftpd.service用來(lái)?重啟服務(wù),?如是服務(wù)無(wú)法啟動(dòng)庶柿,?使用??systemctl status vsftpd.service 村怪,?這里會(huì)明確提示配置文件里哪行出錯(cuò)。
1: 新建用戶
useradd -d /opt/www/fw_conf -g ftp -s /sbin/nologin fwbk_user
passwd fwbk_user
2:? ?groupadd ftpsecure
? ?adduser -g ftpsecure -s /sbin/nologin ftpsecure
3:vim /etc/pam.d/vsftpd?
#auth ? ?required pam_shells.so
4: setenforce 0
5:
ftp的目錄:
chown fwbk_user? fw_conf
chmod -R 777 fw_conf
配置文件:
more chroot_list
fwbk_user
systemctl restart vsftpd.service
配置文件里關(guān)于目錄可能要做修改浮庐。
錯(cuò)誤排障:
500 OOPS: failed to open xferlog log file:/tmp/xferlog
500 OOPS: failed to open xferlog log file:/var/log/vsftpd.log
刪除對(duì)應(yīng)文件
500 OOPS: cannot locate user entry:ftpsecure
解決:
groupadd ftpsecure
adduser -g ftpsecure -s /sbin/nologin? ftpsecure
530 Login incorrect.
配置文件中修改:
userlist_enable=YES
userlist_deny=NO
vim /etc/pam.d/vsftpd
注釋掉
#auth ? ?required pam_shells.so
問(wèn)題:500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list
解決:
1:? ?/etc/vsftpd/chroot_list? 加上要能訪問(wèn)的用戶名甚负。 (非必須)
2: 看配置文件里?chroot_list的路徑有沒(méi)有寫錯(cuò)。