基于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

客户端测试能够正常链接服务器并成功上传文件:

相关文章
相关标签/搜索