1、安装vsftpd

yum install -y ftp vsftpd

2、配置/etc/vsftpd/vsftpd.conf

修改项如下:

#不允许匿名访问
anonymous_enable=NO #限制用户通过ftp只能访问自己的主目录
chroot_local_user=YES
#是否开启限制名单
chroot_list_enable=YES
#限制名单的路径
chroot_list_file=/etc/vsftpd/chroot_list

3、编辑/etc/vsftpd/chroot_list

内容如下

ftpuser

这里是先将ftpuser这个用户限制在自己的主目录中,ftpuser这个用户需要我们手动创建

4、创建用户

#创建用户ftpuser,设置其主目录为/home/ftpuser
useradd -d /home/ftpuser ftpuser #限定用户ftpuser不能telnet
usermod -s /sbin/nologin ftpuser #如果想将用户恢复正常命令如下
usermod -s /sbin/bash ftpuser #更改用户ftpuser的主目录为/usr/share/nginx/html
usermod -d /usr/share/nginx/html ftpuser

#设置用户密码
passwd ftpuser
#如果将用户的主目录设置到某个已有的目录下,一定要保证该目录可被该用户访问
#可以参考chmod命令相关内容chmod 666 [目录路径]

5、调整selinux

selinux的存在可能会导致用户打开文件夹看到的文件列表为空或者无法进入文件夹,selinux操作方式如下:

setsebool -P ftpd_disable_trans 1

或者

setsebool -P ftp_home_dir on

然后重启FTP服务

以下说明摘自 传送门

# setsebool -P allow_ftpd_anon_write=   #允许ftpd匿名用户可写
# setsebool -P ftp_home_dir #允许用户访问自己的根目录
# setsebool -P ftpd_is_daemon #允许daemon运行ftpd
# setsebool -P ftpd_disable_trans #关闭SELINUX对ftpd的保护
# setsebool -P allow_httpd_anon_write= #允许httpd匿名用户可写
# setsebool -P allow_httpd_sys__anon_write= #同上
# setsebool -P httpd_enable_cgi #httpd被设置允许cgi被执行
# setsebool -P httpd_enable_homedirs #允许访问用户的根目录
# setsebool -P httpd_tty_comm #允许httpd控制终端
# setsebool -P httpd_unified #httpd之间相互独立
# setsebool -P httpd_builtin_ing #同httpd环境一样运行
# setsebool -P httpd_can_network_connect #httpd可以连接到网络
# setsebool -P httpd_suexec_disable_trans #禁用suexec过度
# setsebool -P httpd_disable_trans #允许daemon用户启动httpd
# setsebool -P named_write_master_zones #允许修改dns的主zone文件
# setsebool -P named_disable_trans #允许daemon启动named
# setsebool -P nfs_export_all_ro #nfs只读
# setsebool -P nfs_export_all_rw #nfs可读写
# setsebool -P use_nfs_home_dirs #允许本机访问远程nfs的根目录
# setsebool -P allow_smbd_anon_write= #samba允许匿名用户可写
# setsebool -P samba_enable_home_dirs #允许根目录访问
# setsebool -P use_samba_home_dirs #允许本机访问远程samba根目录
# setsebool -P smbd_disable_trans #允许daemon启动samba
# setsebool -P allow_rsync_anon_write= #允许匿名用户可写
# setsebool -P rsync_disable_trans #允许daemon启动rsync

也可以永久关闭selinux:

vim /etc/selinux/config

改SELINUX=disabled

# 保存退出,重启服务器

reboot

6、防火墙操作

可以直接关闭防火墙:

systemctl stop firewalld
systemctl disable firewalld

如果要保持防火墙常开请注意以下端口的打开

20、21端口,此外还要

1:修改配置文件

vi /etc/vsftpd/vsftpd.conf

2:在末尾添加

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

然后重启vsftpd服务

上文配置的 30000到31000是Vsftpd被动模式需要的端口,也需要在防火墙中打开

部分其它配置说明:

https://blog.csdn.net/bluishglc/article/details/42398811

https://blog.csdn.net/bluishglc/article/details/42273197

centos7.4 开启ftp服务的更多相关文章

  1. CentOS7上安装FTP服务

    ---------------------------------------------------------------------------------------------------- ...

  2. centos7中搭建ftp服务

    博客搬家: centos7中搭建ftp服务 最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程.过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的 ...

  3. ubuntu 开启 ftp 服务 | mingming-killer

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  4. AIX系统开启ftp服务

    http://blog.itpub.net/28227905/viewspace-1060183/ 当然,首先网络工程师给你放开策略,开通ftp端口之后,你才能做下一步. [@more@] AIX开启 ...

  5. 如何在linux下开启FTP服务

    如何在linux下开启FTP服务 1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:   #which vsftpd   如果看到有vsftpd的目录说明服务器已经安装了ftp软件 2. ...

  6. 检测FTP服务并开启FTP服务

    1. 检测FTP服务是否开启 1.1. 通过查询提供FTP服务的进程是否存在,并未找到任何包含ftp关键字的进程信息,可判断服务未开启. root@lb- ~ # ps -ef | grep ftp ...

  7. liunx和aix 系统开启ftp服务

    AIX开启ftp服务: 1.ftp服务的守护进程是否存在 #lssrc -s inetd 2.ftp服务的开启与关闭 #startsrc -t ftp #stopsrc -t ftp 3.ftp服务是 ...

  8. Windows 下开启FTP服务并创建FTP用户

    Windows 下开启FTP服务,并创建用户 此教程教你怎么开启 Windows 的 FTP 服务,并创建用于登入 FTP 的用户.教程用到的操作系统是 Windows 7. 一.创建用于登入 FTP ...

  9. centos7 开启ftp服务

    1.关闭默认防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewa ...

随机推荐

  1. CSS3:HSL和HSLA

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. centos7网卡名修改

    centos7网卡名不是以etho的方式命名,有时候在自动化方面不便于管理,在安装的时候输入如下代码即可命名: net.ifnames=0  biosdevname=0

  3. Python debug 调试;

    F9:执行跳到下一个断点 F8:执行下一步 F7:进入函数

  4. P3147 [USACO16OPEN]262144

    P3147 [USACO16OPEN]262144一道非常有趣的游戏,不,题目.当数据水时,可以这样表示状态.f[i][j]表示合并[i,j]区间所能得到的最大值,有点floyed的小味道.if(f[ ...

  5. NIO的通道和缓冲区

    概述 通道和缓冲区是 NIO 中的核心对象,几乎在每一个 I/O 操作中都要使用它们. 通道是对原I/O包中的流的模拟.到任何目的地(或来自任何地方)的所有数据都必须通过一个Channel对象.一个B ...

  6. 用redis来实现Session保存的一个简单Demo

    现在很多项目都用Redis(RedisSessionStateProvider)来保存Session数据,但是最近遇到一个比较典型的情况,需要把用户数据全部load到redis里面,在加上RedisS ...

  7. Nginx 安装配置文件解析

    源地址:https://www.cnblogs.com/Chiler/p/8027167.html 前言 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/P ...

  8. 洛谷.3834.[模板]可持久化线段树(主席树 静态区间第k小)

    题目链接 //离散化后范围1~cnt不要错 #include<cstdio> #include<cctype> #include<algorithm> //#def ...

  9. 潭州课堂25班:Ph201805201 爬虫基础 第十一课 点触验证码 (课堂笔记)

    打开 网易盾 http://dun.163.com/trial/picture-click  ——在线体验——图中点选 打码平台 ——超级鹰    http://www.chaojiying.com/ ...

  10. 潭州课堂25班:Ph201805201 并发(通信) 第十三课 (课堂笔记)

    from multiprocessing import Process # 有个 url 列表 ,有5个 url ,一次请求是1秒,5个5秒 # 要求1秒把 url 请求完, a = [] # 在进程 ...