1. 程式人生 > >基於CentOS安裝FTP服務器

基於CentOS安裝FTP服務器

mask -a -i -c art bubuko led com set

操作系統環境:

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

關於配置文件/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

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

技術分享圖片

技術分享圖片

基於CentOS安裝FTP服務器