vsftpd(Very Secure FTP Daemon)是unix/linux下安全快速的FTP服務器。本文主要記錄如何在centos7下安裝配置基本的ftp服務。
安裝vsftpd
在終端中使用root用戶運行下列命令安裝vsftpd包
yum install vsftpd ftp -y
vsftpd配置文件說明
使用root用戶編輯vsftpd配置文件/etc/vsftpd/vsftpd.conf
保持良好習慣,在編輯前我們需要備份下該文件。
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd.conf.bak
然后我們開始編輯vsftpd.conf
vi /etc/vsftpd/vsfptd.conf
找文件中的下列幾行
[...] ## Disable anonymous login ##
## 禁用匿名登錄## anonymous_enable=NO ## 啟用ASCII模式數據傳輸 ## ascii_upload_enable=YES ascii_download_enable=YES # 是否允許執行任何可以修改文件系統的命令,默認是NO
# 這里我們設置為啟用(YES) write_enable=YES ## Add at the end of this file ## use_localtime=YES ##從2.3.5之后,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,就會報該錯誤。 500 OOPS: vsftpd: refusing to run with writable root inside chroot() Login failed. 421 Service not available, remote server has closed connection 要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄的寫權限,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件中增加下面這一項:allow_writeable_chroot=YES ## allow_writeable_chroot=YES
##設置PAM認證服務的配置文件名稱,該文件存放在/etc/pam.d/ pam_service_name=vsftpd ## 此項配置/etc/vsftpd.user_list中指定的用戶也不能訪問服務器,若添加userlist_deny=No,則僅僅/etc/vsftpd.user_list文件中的用戶可以訪問,其他用戶都不可以訪問服務器。如過userlist_enable=NO,userlist_deny=YES,則指定使文件/etc/vsftpd.user_list中指定的用戶不可以訪問服務器,其他本地用戶可以訪問服務器。 userlist_enable=YES ##在VSFTPD中使用TCP_Wrappers遠程訪問控制機制 ## tcp_wrappers=YES
啟動vsftpd服務並設置開機啟動
systemctl enable vsftpd systemctl start vsftpd
防火牆設置
允許ftp服務及21端口通過防火牆
firewall-cmd --permanent --add-port=21/tcp firewall-cmd --permanent --add-service=ftp
重啟防火牆
firewall-cmd --reload