操作系统: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. 潭州课堂25班:Ph201805201 django 项目 第十八课 前台 注解 (课堂笔记)

    在静态文件 js/user上当下,的 auth.js 文件中 $(function () { let $username = $('#user_name'); // 选择id为user_name的网页 ...

  2. 点击时出现某个样式,1s后移除该样式的案例效果

    这里为了使效果更好的让用户体现出来,点击时添加的样式为background:yellow;1后移除该样式: 案例demo为: <!DOCTYPE html> <html lang=& ...

  3. 如何实现织梦dedecms表单提交时发送邮箱功能【已解决】

    我们通过织梦系统制作网站时,很多客户需要有在线留言功能,这时就会用到自定义表单.但是很多用户觉得经常登陆后台查看留言信息太麻烦了,于是想能否在提交留言是直接把内容发送到指定邮箱.网站经过测试终于实现了 ...

  4. Linux命令之tar篇

    作业一: 1)   将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) [root@localhost ~]# cat /etc/passwd /etc/group > ...

  5. Hibernate(4)简单的HelloWorld

    一个HelloWorld的案例 public class HelloWorld { @Test public void test() { //1.创建SessionFactory对象 SessionF ...

  6. poj3669 Meteor Shower(预处理+bfs)

    https://vjudge.net/problem/POJ-3669 先给地图a[][]预处理每个位置被砸的最小时间.然后再bfs. 纯bfs,还被cin卡了下时间.. #include<io ...

  7. Mac删除默认美国输入法

    1.打开sudo open ~/Library/Preferences/com.apple.HIToolbox.plist 2.找到这个,然后点击删除,最后保存,然后在立马重启 3.如果要还原,直接在 ...

  8. python接口自动化29-requests-html支持JavaScript渲染页面

    前言 requests虽好,但有个遗憾,它无法加载JavaScript,当访问一个url地址的时候,不能像selenium一样渲染整个html页面出来. requests-html终于可以支持Java ...

  9. IntelliJ IDEA使用maven-javadoc-plugin生成Java Doc控制台乱码

    问题描述 在使用IDEA生成Java Doc的过程中,发现IDEA控制台乱码,作为有轻微代码强迫症的我来说,这是不可忍受的,需要鼓捣一番.先上pom.xml中的javadoc插件配置 <!--配 ...

  10. Deep Learning.ai学习笔记_第五门课_序列模型

    目录 第一周 循环序列模型 第二周 自然语言处理与词嵌入 第三周 序列模型和注意力机制 第一周 循环序列模型 在进行语音识别时,给定一个输入音频片段X,并要求输出对应的文字记录Y,这个例子中输入和输出 ...