基於CentOS安裝FTP服務器


操作系統環境:

CentOS Linux release 7.4.1708 (Core)

使用yum安裝ftp服務:

yum install -y vsftpd

添加系統用戶作為登錄ftp服務器並修改ftp配置文件:

[root@localhost ~]# useradd ftp1 -s /sbin/nologin -d /ftp_data && echo "123456"|passwd ftp1 --stdin  #添加用戶並設置訪問的ftp目錄
[root@localhost ~]# chown ftp1:ftp1 /ftp_data/
[root@localhost vsftpd]# mv vsftpd.conf vsftpd.conf.bak #備份配置文件
[root@localhost vsftpd]# cat vsftpd.conf.bak |grep -v '^#' > vsftpd.conf
[root@localhost vsftpd]# vim vsftpd.conf #修改禁止虛擬用戶登錄ftp服務器
[root@localhost vsftpd]# systemctl restart vsftpd.service #重啟vsftpd
[root@localhost vsftpd]# systemctl enable vsftpd.service #開啟自動啟動vsftpf

關於vsftpd三種用戶的區分:

本地用戶:用戶在FTP服務器擁有賬號,且該賬號為本地用戶的賬號,可以通過自己的賬號和口令進行授權登錄,登錄目錄為自己的home目錄$HOME 

虛擬用戶:用戶在FTP服務器上擁有賬號,但該賬號只能用於文件傳輸服務。登錄目錄為某一特定的目錄,通常可以上傳和下載 

匿名用戶:用戶在FTP服務器上沒有賬號,登錄目錄為/var/ftp

關於配置文件/etc/vsftpd/vsftpd.conf參數說明:

anonymous_enable=NO    # 不允許匿名訪問,禁用匿名登錄
chroot_local_user=YES   # 啟用限定用戶在其主目錄下
use_localtime=YES     # 使用本地時(自行添加)
chroot_list_enable=YES  #是否啟動限制用戶的名單 YES為啟用  NO禁用(包括注釋掉也為禁用)
local_enable=YES      # 允許使用本地帳戶進行FTP用戶登錄驗證
allow_writeable_chroot=YES # 如果啟用了限定用戶在其主目錄下需要添加這個配置,解決報錯 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES     # 啟用上傳和下載的日志功能,默認開啟。
local_umask=022      # 設置本地用戶默認文件掩碼022
# FTP上本地的文件權限,默認是077,不過vsftpd安裝后的配置文件里默認是022

關閉防火牆和selinux:

 
         

[root@localhost vsftpd]# setenforce 0  #臨時關閉selinux

[root@localhost vsftpd]# systemctl stop firewalld.service

[root@localhost vsftpd]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久關閉

如果不願意關閉防火牆,需要防火牆添加FTP服務:

[root@localhost vsftpd]# systemctl start firewalld.service
[root@localhost vsftpd]# firewall-cmd --permanent --zone=public --add-service=ftp
success
[root@localhost vsftpd]# firewall-cmd --reload
success

客戶端測試可以正常連接服務器並成功上傳文件:

 


免責聲明!

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



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