操作系统:Centos7

1.1、服务器配置

# 关闭SELINUX,把SELINUX=enforcing改为SELINUX=disabled,reboot重启服务器生效
vim /etc/sysconfig/selinux
SELINUX=disabled # 开放21端口
firewall-cmd --zone=public --add-port=/tcp --permanent # 开放ftp服务
firewall-cmd --add-service=ftp --permanent # 重新加载防火墙
firewall-cmd --reload # 查看21端口是否开放
firewall-cmd --zone=public --query-port=/tcp # 查看ftp服务是否开放
firewall-cmd --query-service=ftp # 新建一个不能登录系统用户,只用来登录ftp服务。这里如果没设置用户目录,默认是在home下。
useradd ftpuser -s /sbin/nologin # 设置密码
echo "foo" | passwd --stdin ftpuser
```
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
#从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报误。
#要修复这个错误,可以用命令chmod a-w /home/ftpuser 去除用户主目录的写权限,注意把目录替换成你自己的。
#或者你可以在vsftpd的配置文件中增加下列项:
allow_writeable_chroot=YES
```
# 查看目录权限
ll -d /home/ftpuser/
drwx------. ftpuser ftpuser 9月 : /home/ftpuser/
# 去除用户主目录的写权限
chmod a-w /home/ftpuser
dr-x------. ftpuser ftpuser 9月 : /home/ftpuser/

1.2、安装vsftpd

yum -y install vsftpd

# vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
# vsftpd.conf 为主要配置文件
# ftpusers 配置禁止访问FTP服务器的用户列表
# user_list 配置用户访问控制------这里的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问FTP服务器

1.3、配置vsftpd.conf

# 禁用匿名用户,YES改为NO
anonymous_enable=NO # 禁止切换根目录
chroot_local_user=YES

1.4、启动vsftpd

#
systemctl start vsftpd.service #查看vsftpd状态
systemctl status vsftpd.service

1.5、安装ftp客户端

yum install -y ftp

1.6、登录ftp服务器(推荐,这种方式在出错的情况下可以看到错误信息的输出)

ftp 192.168.0.183

2.1、安装Nginx

linux下yum安装最新稳定版nginx

2.2、配置Nginx

修改nginx.conf

#user  nginx;
user ftpuser;

在conf.d下增加ftp_server.conf

server {
listen ;
server_name localhost; #charset koi8-r;
access_log /var/log/nginx/ftp.access.log main; location / {
# 指定到ftp文件位置
root /home/ftpuser;
index index.html index.htm;
}
}

linux搭建FTP服务器并整合Nginx的更多相关文章

  1. 使用Linux搭建FTP服务器实现文件共享

    使用Linux搭建FTP服务器实现文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虚拟用户 FTP可以用在Linux与Linux 和Window ...

  2. Linux 搭建FTP服务器

    介绍 本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置. 知识点 在linux中使用的FTP是vsftp FTP可以有三种登入方式分别是: 匿名登录方式:不需要用户 ...

  3. Linux搭建FTP服务器

    一.搭建环境 阿里云 CentOS 7.3 64位 二.FTP协议基础知识 2.1 简介 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文 ...

  4. Linux搭建FTP服务器实战

    首先准备一台Linux系统机器(虚拟机也可), 检测出是否安装了vsftpd软件: rpm -qa |grep vsftpd 如果没有输出结果,就是没有安装. 使用命令安装,安装过程中会有提示,直接输 ...

  5. Linux搭建ftp服务器简单教程及使用方法

    参考文章:https://www.waitig.com/linux-or-centos-install-vsftpd-and-setup-it.html 步骤概括如下: 安装:yum install ...

  6. Linux篇---ftp服务器的搭建

    一.前述 企业中linux搭建ftp服务器还是很实用的,所以本文针对centoos7和centoos6搭建服务器教程做个总结. 二.具体 1.显示如下图则表示已安装 vsftp软件.如果未显示则需要安 ...

  7. 【原】Nginx搭建FTP服务器的细节问题

    关于文件服务器很多实现方法,比如采用阿里的分布式文件系统FastDFS,以及自己内部搭建FTP服务器,这里记录一下关于nginx搭建FTP文件系统流程. ftp服务器搭建的步骤网上也是很多,这里贴一下 ...

  8. linux系统搭建ftp服务器及创建用户使用

    linux 系统下搭建ftp服务器 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序. ...

  9. linux下FTP服务器搭建教程1

    你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西. 虽然我们买不起现实的房子,但是我们可以买互 ...

随机推荐

  1. 写一个简单的JQ插件(例子)

    虽然现在 vue angular react 当道啊但是那 JQ还是有一席之地很多很多的小单位啊.其实还会用到 我也放一个例子吧虽然我也不是很肯定有没有人写的比我更好啊但是我相信 我这个还是蛮实用的 ...

  2. python流程控制之if、 while和for 循环

    1.if 语句 语法1 if 条件:# 代码1# ... # cls='human'# sex='female'# age=18## if cls == 'human' and sex == 'fem ...

  3. BZOJ5100 : [POI2018]Plan metra

    若$1$到$n$之间没有其它点,则$1$到$n$的距离为任意一点到它们距离的差值,按照距离关系判断每个点是挂在$1$上还是挂在$n$上即可. 否则$1$到$n$的距离只可能为任意一点到它们距离和的最小 ...

  4. BZOJ3499 : PA2009 Quasi-template

    建立后缀树,用线段树合并求出每个节点子树内部最靠前和最靠后的后缀位置以及相邻后缀距离的最大值,同时求出每个子串能完整匹配的最长后缀的长度. 对于一个子串,如果其长度不小于相邻后缀距离的最大值,且最靠后 ...

  5. HTML(二)

    html段落.换行与字符实体 html段落 <p>标签定义一个文本段落,一个段落含有默认的上下间距,段落之间会用这种默认间距隔开,代码如下: <!DOCTYPE html> & ...

  6. redis(二)

    基本配置 在源文件/usr/local/redis目录下,文件redis.conf为配置文件 绑定地址:如果需要远程访问,可将此行注释 bind 127.0.0.1 端口,默认为6379 port 6 ...

  7. ZKW线段树入门

    Part 1 来说说它的构造 线段树的堆式储存 我们来转成二进制看看 小学生问题:找规律 规律是很显然的 一个节点的父节点是这个数左移1,这个位运算就是低位舍弃,所有数字左移一位 一个节点的子节点是这 ...

  8. bzoj 1006

    http://www.cnblogs.com/zxfx100/archive/2011/03/23/1993055.html https://wenku.baidu.com/view/07f4be19 ...

  9. es6学习笔记二:生成器 Generators

    今天这篇文章让我感到非常的兴奋,接下来我们将一起领略ES6中最具魔力的特性. 为什么说是“最具魔力的”?对于初学者来说,此特性与JS之前已有的特性截然不同,可能会觉得有点晦涩难懂.但是,从某种意义上来 ...

  10. JAVA自学笔记10

    JAVA自学笔记10 1.形式参数与返回值 1)类名作为形式参数(基本类型.引用类型) 作形参必须是类的对象 2)抽象类名作形参 需要该抽象类的子类对象,通过多态实现 3)接口名为形参 需要的是该接口 ...