基於CentOS安裝FTP服務器

操做系統環境:linux

CentOS Linux release 7.4.1708 (Core)vim

使用yum安裝ftp服務:服務器

yum install -y vsftpdide

添加系統用戶做爲登陸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三種用戶的區分:spa

本地用戶:用戶在FTP服務器擁有帳號,且該帳號爲本地用戶的帳號,能夠經過本身的帳號和口令進行受權登陸,登陸目錄爲本身的home目錄$HOME 操作系統

虛擬用戶:用戶在FTP服務器上擁有帳號,但該帳號只能用於文件傳輸服務。登陸目錄爲某一特定的目錄,一般能夠上傳和下載 rest

匿名用戶:用戶在FTP服務器上沒有帳號,登陸目錄爲/var/ftp日誌

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

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

客戶端測試能夠正常鏈接服務器併成功上傳文件:

相關文章
相關標籤/搜索