如果你想在你的linux/Unix服務器上搭建一個安全、高性能、穩定性好的FTP服務器,那么vsftpd可能是你的首選應用。vsftpd意思為 “very secure FTP daemon(非常安全的FTP進程)”,是一個基于GPL發布的類UNIX類操作系統上運行的服務器的名字(是一種守護進程),可以運行在諸如 Linux、BSD、Solaris、HP-UX以及Irix等系統上面。vsftpd支持很多其他傳統的FTP服務器不支持的良好特性。示例是在CentOS下,Fedora可以將yum改為dnf,其他發行版除安裝外,配置相同。
警告: FTP 數據傳輸是很必要的; 其傳輸是沒有加密的,所有的傳輸都是名文傳輸 (包括usernames, passWords, commands, and data). 考慮到 FTP的安全性可以使用SSL/TLS. - 更新源 yum -y update
- 安裝vsftpd和其需要的包: yum -y install vsftpd
修改 vsftpd的配置文件: vim /etc/vsftpd/vsftpd.conf
如果要禁用匿名用戶登錄FTP;把anonymous_enable 項設置為NO: anonymous_enable=NO
設置local_enable為YES允許本地用戶登錄: local_enable=YES
把write_enable setting設置為YES允許本地用戶創建文件夾等操作: write_enable=YES
本地用戶為chroot jailed’ 他們是沒有任何權限的所有要設置chroot_local_usersetting為YES: chroot_local_user=YES
保存:wq . 重啟vsftpd服務: systemctl restart vsftpd
把vsftpd 加入到系統啟動項 systemctl enable vsftpd
步驟3: 防火墻允許vsftpd 防火墻允許FTP默認端口 21 firewall-cmd --permanent --add-port=21/tcp
重載防火墻 firewall-cmd --reload
一般由于匿名用戶的權限引起的
1.vsftpd.conf文件中: write_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
2.ftp目錄權限: 查看ftp目錄:
cat /etc/passwd | grep ftp
ftp:x:107:65534::/home/ftp:/bin/false
ftp目錄為/home/ftp(默認為/var/ftp)
chown root:root /home/ftpchmod -R 777 /home/ftp但這樣是不能上傳文件的。因為這是匿名用戶,當前目錄所有者是root用戶; 真的要上傳文件在該目錄下建立一個文件夾如名字是upload,
mkdir /home/ftp/uploadchown ftp:root /home/ftp/upload從2.3.5之后,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,就會報該錯誤。
要修復這個錯誤,可以用命令 chmod a-w /home/ftp
去除用戶主目錄的寫權限,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件vsftpd.conf中增加下列: allow_writeable_chroot=YES
在vsftpd.conf加入匿名用戶可以刪除的配置 anon_other_write_enable=YES
|
新聞熱點
疑難解答