没玩过linux,折腾了半天的ftp,好不容易亲测通过了。不容易啊。

  操作环境:vm虚拟机 centos7

  首先:搞定网络问题;默认情况下使用ifconfig可以看到虚拟机下是无网络的。(注:虚拟机网络设置为NAT或桥接模式都是可以的)

  

  输入命令nmtui 打开网络配置

  回车-》回车

  

  

  将倒数第二项 Automatically connect 勾上 然后就有网络了

  

  

  然后更新系统:yum update

  查看vsftpd是否已安装:vsftpd -v  (默认都是没安装的)

  安装vsftpd:yum install vsftpd

  然后  y y y......

  安装完成后配置防火墙(firewall)

  firewall-cmd --permanent --add-service=ftp

  firewall-cmd --add-port=21

  firewall-cmd --reload

  

  配置vsftpd: vi /etc/vsftpd/vsftpd.conf  

  

  打开并设置以下配置:

  anonymous_enable=NO (修改)

  chroot_local_user=YES (取消注释)(此项为限定用户访问目录为当前目录)

  

  然后最底部设置并添加:

 

  pam_service_name=vsftpd

  userlist_enable=YES

  tcp_wrappers=YES

  listen_port=21

  data_connection_timeout=12

  guest_enable=YES

  guest_username=ftpuser (ftp的用户名,多个用户可重复这一行并修改用户名)

  user_config_dir=/usr/website(用户访问的文件夹)

  pasv_enable=YES

  virtual_use_local_privs=YES

  pasv_min_port=10060

  pasv_max_port=10090

  accept_timeout=5

  connect_timeout=1

  allow_writeable_chroot=YES (解决连接是提示500 OOPS:vsftpd:refusing to run with writable root inside chroot() 的问题)

  退出并保存:wq

  重启vsftpd:

    systemctl restart vsftpd.service

    相关命令:systemctl start vsftpd.service

         systemctl status vsftpd.service

  创建文件夹: mkdir /usr/website

  创建用户:

    useradd -g root -M -d /usr/website -s /sbin/nologin ftpuser

  设置密码:

    passwd ftpuser

  文件夹授权:

    chown -R ftpuser.root /usr/website

  

  到目前为止,还有最后一个问题:selinux (不设置的情况下ftp提示:553 Could not create file)

  捣鼓了半天都没配置成功。最后尝试了两个方案。

  一、关闭selinux;

    vi /etc/selinux/config

    设置 SELINUX=Disabled

    重启系统。

  二、将selinux改成permissive(宽容模式)

    命令:setenforce 0

然后,可以试试看了。

Centos7 ftp环境搭建的更多相关文章

  1. Centos7 python3环境搭建 兼容python2.7

    Centos7 python3环境搭建 兼容python2.7 安装前提依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel ...

  2. FTP环境搭建及客户代码调用公共方法封装

    一.背景 大型系统架构往往被分解为多个独立可运行的组件, 以满足性能.可靠性.可扩展性的需求.多个组件间的数据交互往往采用两种方式:小量数据通过Sock函数.RMI.WebService等接口方式传递 ...

  3. LNMP小项目搭建,Centos7.6环境搭建Linux+nginx+mysql+php,wordpress个人博客的搭建(完整搭建步骤)

    一.LNMP搭建,基于nginx服务器搭建wordpress个人博客 准备环境:centos7.6环境下web服务器(nginx+php):主机名:web01,ip:192.168.248.172my ...

  4. [原创]LAMP+phpmyadmin+FTP环境搭建

    ***简单ftp服务器搭建: rpm –qa|grep vsftpd   //检查是否安装服务 yum –y install vsftpd-*   //安装服务 mkdir /var/ftp/uplo ...

  5. CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

    概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FT ...

  6. MPSOC之9——host、embeded间tftp、nfs、ftp环境搭建

    tftp 可传输单个文件,不能传文件夹 需要通过命令传输文件,略显复杂 ==一般调试kernel时,用uboot通过tftp方式启动,不用每次都烧写存储介质== nfs 在host linux(ubu ...

  7. centos7 lamp环境搭建

    一.安装Apache1.安装yum -y install httpd2.开启apache服务systemctl start httpd.service3.设置apache服务开机启动systemctl ...

  8. Centos6.5和Centos7 php环境搭建如何实现呢

    首先我们先查看下centos的版本信息 代码如下: #适用于所有的linux lsb_release -a#或者cat /etc/redhat-release#又或者rpm -q centos-rel ...

  9. linux之CentOS-7.0环境搭建

    此文作为新手安装centos-7的图文教程.  一.  前言 最近,师兄要进行实验室架构搭建,需要学习docker.而docker是完全依赖于linux系统的.所以,有了这篇文章. linux有很多发 ...

随机推荐

  1. TensorFlow anaconda命令备忘

    [查看tensorflow安装的版本] anaconda search -t conda tensorflow [选择版本安装] conda install -c anaconda tensorflo ...

  2. vue学习笔记 计算属性(四)

    计算属性就是vue实例里的computed属性,对应一个对象,里面可以放各种方法,方法的作用就是可以生成和数据变量对应的计算后的变量,跟数据相关的复杂逻辑变量,都可以使用计算属性实现,computed ...

  3. jsonp原生js代码示例

    /* mightygumball.js */ /* * get the content of a JSON file using JSONP * update every 3 seconds. * * ...

  4. 关于Android开发的几点建议

    绝不要在UI线程中做数据处理的工作,这会让你的app变慢,带来极差的用户体验. 要按照google发布的Design指导意见来设计app,比如一个holo主题app会给用户带来更好的用户体验. 不要复 ...

  5. go单元测试进阶篇

    作者介绍:熊训德(英文名:Sundy),16年毕业于四川大学大学并加入腾讯.目前在腾讯云从事hadoop生态相关的云存储和计算等后台开发,喜欢并专注于研究大数据.虚拟化和人工智能等相关技术. 本文档说 ...

  6. 快速找到Office应用程序安装路径

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  7. Vue.js 学习笔记 一

    本文的Demo和源代码已放到GitHub,如果您觉得本篇内容不错,请点个赞,或在GitHub上加个星星! https://github.com/zwl-jasmine95/Vue_test 以下所有知 ...

  8. 使用 SLF4J + LogBack 构建日志系统(转)

    转载自:http://www.cnblogs.com/mailingfeng/p/3499436.html 上次我们讨论了如何选择一个好的开源日志系统方案,其中的结论是:使用 SLF4J + LogB ...

  9. Javascript删除数组中指定值的元素

    Array.prototype.remove = function(index){ if(isNaN(index) || index > this.length){return false;} ...

  10. huffman压缩解压文件【代码】

    距离上次写完哈夫曼编码已经过去一周了,这一周都在写huffman压缩解压,哎,在很多小错误上浪费了很多时间调bug.其实这个程序的最关键部分不是我自己想的,而是借鉴了某位园友的代码,但是,无论如何,自 ...