专栏首页http://www.cnblogs.com基于CentOS安装FTP服务器

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

客户端测试可以正常连接服务器并成功上传文件:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3 logging模块

    很多程序都有记录日志的需求,并且日志包含的信息有正常的程序访问日志还可能有错误,警告等信息输出,python的logging模块提供了标准的日志接口,可以通过它...

    用户1679793
  • CentOS/RHEL7忘记密码:修改root密码

    如果root已经登录系统,重置密码是一件简单的事情,如果忘记root密码,则需要一些操作比较麻烦。

    用户1679793
  • 模拟实现ATM+购物商城程序

    流程图: ? 需求: ATM:模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手...

    用户1679793
  • vsftpd添加用户并分配不同权限

    安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。

    秃头哥编程
  • CentOS 7 安装vsftpd步骤

    [root@localhost ~]# yum -y install vsftpd

    良月柒
  • Mycat数据库中间件简介

    Mycat是一个优秀的数据库中间件,它可以实现mysql数据库的读写分离和高可用,能够支持数亿大表的分布式数据库系统,我们也可以把它当做一种数据库...

    AsiaYe
  • iOS打开系统功能对应的URL

    程序员不务正业
  • 大数据投融资周报(9月23日——9月29日,共5起)

    本周在大数据领域总共发生5起投融资事件,主要涉及物流、教育、广告营销等多个领域,以下为您奉上本周投融资周报。 编辑 | 建秋 官网 | www.datayuan...

    数据猿
  • Ribbon负载均衡策略

    载均衡算法数量较多,而且可以根据一些业务特性进行定制开发,抛开细节上的差异,根据算法期望达到的目的,大体上可以分为下面几类。

    只喝牛奶的杀手
  • 当年的塞班系统流畅度堪比iOS,占用内存也不大,为何还会被市场淘汰?

    从事软件开发多年还是塞班系统的忠实拥趸,时至今日看塞班系统和IOS以及安卓系统,塞班系统明显在生态链建设上非常不利,秉承着从程序开发角度构建生态链,花费时间和精...

    程序员互动联盟

扫码关注云+社区

领取腾讯云代金券