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. 怎么在项目中使用前端包管理器bower和构建工具gulp

    下面以WeUI(微信官方网页开发样式库)介绍一下,怎么把WeUi引入到自己的项目中,我的开发环境Visual Studio 2012,当然了Visual Studio 2015对此已有了更好的支持(h ...

  2. la 4015

    题解: 烂大街的树形dp?? f[i][j]表示到i点,在i的子树中经过j个,且要返回i点的最小值 g[i][j]表示到i点,在i的子树中经过j个,且不用返回i点的最小值 然后转移做背包就可以了 (注 ...

  3. Codeforces 605C Freelancer's Dreams 凸包 (看题解)

    Freelancer's Dreams 我们把每个二元组看成是平面上的一个点, 那么两个点的线性组合是两点之间的连线, 即x * (a1, b1) + y * (a1, b1) && ...

  4. 科技界、IT届的外号

    牙膏厂 = Intel     挤牙膏来形容缓慢的升级速度 农企(推土机,打桩机,压路机).阿曼达.按摩店  = AMD 两弹元勋.老黄 = 黄仁勋,    核弹.英伟达 = NVIDIA 大法 = ...

  5. MXNet 中的 hybird_forward 的一个使用技巧

    from mxnet.gluon import nn from mxnet import nd class SliceLike(nn.HybridBlock): def __init__(self, ...

  6. Spring MVC 注解 @RequestParam解析

    在Spring MVC 后台控制层获取参数的方式主要有两种,一种是requset.getParameter(“name”),另一种是用注解@Resquest.Param直接获取. 一.基本使用获取提交 ...

  7. 数据恢复工具PhotoRec

    数据恢复工具PhotoRec PhotoRec是一款文件恢复工具.它可以从硬盘.光驱.记忆卡中恢复视频.文档.压缩包等文件.该工具绕开文件系统,采用文件特征码机制,直接进行底层数据扫描,尝试恢复文件. ...

  8. Logging模块 + traceback模块 + importlib模块 + requests模块

    Logiging模块日志级别 CRITICAL = 50FATAL = CRITICALERROR = 40WARNING = 30WARN = WARNINGINFO = 20DEBUG = 10N ...

  9. python面向对象编程练习

    练习题 1.面向对象三大特性,各有什么用处,说说你的理解. 面向对象的三大特性: 1.继承:解决代码的复用性问题 2.封装:对数据属性严格控制,隔离复杂度 3.多态性:增加程序的灵活性与可扩展性 2. ...

  10. 潭州课堂25班:Ph201805201 WEB 之 JS 第五课 (课堂笔记)

    算数运算符 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...