操作系统: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. Lua的 table.sort排序

    在用table.sort 排序的时候注意,如果使用多个条件排序,应在一个排序函数里按照条件优先级进行比较排序. 例如 local t = { {time = , i = }, {time = , i ...

  2. Windows环境下Composer的安装教程

    1.先下载Composer-Setup.exe,下载地址:下载Composer .会自动搜索php.exe的安装路径,如果没有,就手动找到php路径下的php.exe. 2.在PHP目录下,打开php ...

  3. node 将本地项目docker化

    vi test.sh docker rm -f kao3 || echo kao3 not exists;docker run -itd \--privileged=true \-v ~/logs:/ ...

  4. Spring MVC中Controller返回值void时报错

    Controller如下: 当使用url访问该处理器方法时,报错如下: 26-Jan-2019 21:16:28.105 警告 [http-nio-8080-exec-39] org.springfr ...

  5. ssm数据库异常问题

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflecti ...

  6. Build fails with an error: Execution failed for task ':react-native-google-analytics-bridge:compileDebugJavaWithJavac'.

    1,问题 Build fails with an error: Execution failed for task ':react-native-google-analytics-bridge:com ...

  7. HTTP中的重定向和请求转发的区别(转)

    一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(reques ...

  8. pin-a-binary-instrumentation-tool

    https://software.intel.com/en-us/articles/pin-a-binary-instrumentation-tool-downloads Introduction t ...

  9. Redis的快照持久化-RDB与AOF

    Redis持久化功能 Redis为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)的里边. 数据保存到硬盘的过程就称为“持久化 ...

  10. Delphi 获取当前鼠标下的控件内容

    Delphi 获取当前鼠标下的控件内容 主要函数: GetCursorPos://获取鼠标的位置 WindowFromPoint://获取制定point下的handle GetClassName:// ...