CentOS安裝並配置vsftpd服務


一、操作系統環境

本例中將在CentOS 7.6中安裝FTP服務,具體安裝的版本為vsftpd x86_64 3.0.2-29.el7_9,並進行配置。

# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

  

二、通過yum安裝vsftpd

# yum install vsftpd

三、設置vsftpd配置文件(基本配置)

vsftpd的配置文件位於/etc/vsftpd/vsftpd.conf。如果對配置文件進行了更改,需要重啟vsftpd服務后配置才會生效。

//禁止匿名用戶登陸
Anonymous_enable=NO

//是否將所有用戶限制在主目錄
//當設置為YES表示限制FTP用戶跳出自己的家(根)目錄(該項默認值是NO,即在安裝vsftpd后不做配置的話,FTP用戶是可以向上切換到要目錄之外的)
Chroot_local_user=YES

//是否啟用chroot_list_file配置項指定的用戶列表文件來限制用戶
//YES為啟用,NO禁用(包括注釋掉也為禁用)
//如果啟用此項配置,需同時新建一個chroot_list,內容為空即可
chroot_list_enable=YES

//用於指定用戶列表文件
chroot_list_file=/etc/vsftpd/chroot_list

//允許用戶有寫的權限
allow_writeable_chroot=YES

  

四、常用的操作命令

1. 查看vsftpd服務運行狀態

# systemctl status vsftpd

2. 啟動vsftpd服務

# systemctl start vsftpd

3. 停止vsftpd服務

# systemctl stop vsftpd

4. 重啟vsftpd服務

# systemctl restart vsftpd

5. 查看vsftpd的安裝位置

# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

6. 查看vsftpd的監聽端口

# netstat -npal|grep vsftpd

7. 開機自動啟動(作為服務運行)

chkconfig vsftpd on

  

五、創建FTP用戶

//創建用戶(沒有登錄權限)
//-d 新賬戶的主目錄
//-g 新賬戶主組的名稱或ID
//-s 新賬戶的登陸shell
//執行此命令會同步對應的創建文件夾(如果不存在)
# useradd ftpusername -d /ftp_upload -g ftp -s /sbin/nologin

//設置密碼
# passwd ftpusername

  

六、修改FTP服務的端口號

1. 對配置文件/etc/vsftpd/vsftpd.conf進行調整。

//修改vsftpd監聽端口
listen_port=9021

//啟用PASV被動模式
pasv_enable=YES

//修改vsftpd傳遞數據的最小端口
pasv_min_port=9001

//修改vsftpd傳遞數據的最大端口
pasv_max_port=9020  

//用於檢測PASV的安全檢查,YES為關閉安全檢查
pasv_promiscuous=YES

2. 修改linux services 

# vim /etc/services
//找到下面的行改成9021端口
ftp      9021/tcp
ftp      9021/udp

3. 修改防火牆配置,開放所需的端口

# firewall-cmd --permanent --add-port=9001-9021/tcp

  

七、可能遇到的問題

1. 使用FTP客戶端連接時提示錯誤530,原因為SELINUX對FTP的限制,解決方法如下:

(1) 設置關閉SELINUX對FTP的限制

# getsebool -a |grep ftp

需要將其中的tftp_home_dir和ftpd_full_access 設置為on,回車以后,要等很久才會有反應。

#setsebool -P ftp_home_dir 1
#setsebool -P allow_ftpd_full_access 1

 

(2) 暫時關閉SELINUX

set enforce 0

  

(3) 永久關閉SELINUX(不推薦,且需要重新啟動服務器)

vim /etc/selinux/config,修改為 SELINUX = disabled,保存退出。

如果碰到550拒絕訪問,請執行sudo setsebool -P ftp_home_dir 1,然后重啟服務器,執行reboot命令

 

(4)  pam認證文件配置錯誤

修改/etc/pam.d/vsftpd
將auth required pam_shells.so 改為 auth required pam_nologin.so

 

八、參考資料

https://www.jianshu.com/p/225b291bc4a9

https://www.cnblogs.com/ismallboy/p/6785270.html

https://www.jianshu.com/p/9b6389a26336

https://blog.csdn.net/sinat_30802291/article/details/81706152

https://blog.csdn.net/jiecy/article/details/109450397

https://blog.csdn.net/qq_40606798/article/details/82286273

http://www.51gjie.com/linux/1002.html

https://blog.csdn.net/bluishglc/article/details/42398811


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM