1.安装vsftpd

#首先要查看你是否安装vsftp

[root@localhost /]# rpm -q vsftpd

vsftpd-3.0.2-10.el7.x86_64             (显示也就安装成功了!)

#如果没有则安装vsftpd

[root@localhost/]# yum  install -y  vsftpd

#完成后再检查一遍

[root@localhost /]# whereis  vsftpd

vsftpd:/usr/sbin/vsftpd /etc/vsftpd/usr/share/man/man8/vsftpd

#查看vsftpd服务的状态

[root@localhost /]# systemctl statusvsftpd.service

(如果是激活状态的话会有active绿色的标记)

#激活vsftpd服务

[root@localhost /]# systemctl startvsftpd.service

#设置vsftpd服务开机自启

[root@localhost /]#systemctl enablevsftpd.service

2. 配置vsftpd.conf

#首先备份配置文件(必须要备份,以免出现意外时恢复。)

cp /etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.bak

#执行以下命令(sed  -i 命令相当于直接修改原文件)

sed -i"s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i"s/#anon_upload_enable=YES/anon_upload_enable=NO/g"'/etc/vsftpd/vsftpd.conf'

sed -i"s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g"'/etc/vsftpd/vsftpd.conf'

sed -i"s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i"s/#async_abor_enable=YES/async_abor_enable=YES/g"'/etc/vsftpd/vsftpd.conf'

sed -i"s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g"'/etc/vsftpd/vsftpd.conf'

sed -i"s/#ascii_download_enable=YES/ascii_download_enable=YES/g"'/etc/vsftpd/vsftpd.conf'

sed -i"s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome toFTP service./g"'/etc/vsftpd/vsftpd.conf'

(其实你也可以直接使用

vim /etc/vsftpd/vsftpd.conf 进入配置文件修改如下

anonymous_enable=NO  # 禁用匿名登录

ascii_upload_enable=YES

ascii_download_enable=YES

chroot_local_user=YES  # 启用限定用户在其主目录下

)

#之后添加下列内容到vsftpd.conf末尾

use_localtime=YES

listen_port=21

chroot_local_user=YES

idle_session_timeout=300

guest_enable=YES

guest_username=vsftpd

user_config_dir=/etc/vsftpd/vconf

data_connection_timeout=1

virtual_use_local_privs=YES

pasv_min_port=10060

pasv_max_port=10090

accept_timeout=5

connect_timeout=1

3. 建立用户文件

#第一行用户名,第二行密码,不能使用root为用户名

vim /etc/vsftpd/virtusers

添加内容

test

123456

liu

123456


4.生成用户数据文件

首先你需要确定你是否有db_load这个命令

rpm –q  db

安装之前先查询一下

yum  search db4

安装

yum install-y  compat-db47.x86_64  (以你的机器为准)

生成db文件

db_load -T -t hash-f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

chmod600/etc/vsftpd/virtusers.db   (权限r,w即可)

 

 

5. 修改/etc/pam.d/vsftpd文件

# 修改前先备份

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

# 将auth及account的所有配置行均注释掉

vi /etc/pam.d/vsftpd

在里面添加这两句话

auth sufficient/lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

account sufficient/lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

# 如果系统为32位,上面lib64改为lib


6.新建系统用户vsftpd,用户目录为/home/vsftpd

#先在家目录下建立vsftpd文件夹,这也是我们访问的空间

mkdir -p /home/vsftpd

#用户登录终端设为/bin/false(即:使之不能登录系统)

useradd vsftpd -d/home/vsftpd -s /bin/false

chown -R vsftpd:vsftpd /home/vsftpd


7.建立虚拟用户个人配置文件

mkdir /etc/vsftpd/vconf

cd/etc/vsftpd/vconf

#这里建立两个虚拟用户配合文件

touch test liu

#建立用户根目录

mkdir -p /home/vsftpd/test/

#编辑test用户配置文件,内容如下,其他用户类似

vi test

local_root=/home/vsftpd/test/

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES


8.防火墙设置(centos 7

#如果系统启用了防火墙和SELinux,那么还要做以下配置(默认情况下centos7是使用firewall和selinux的,不在使用iptables)

#防火墙添加FTP服务:

[root@localhost vsftpd]#firewall-cmd --permanent --zone=public --add-service=ftp

[root@localhost vsftpd]#firewall-cmd --reload

#设置SELinux:

[root@localhost vsftpd]#getsebool -a | grep ftp

[root@localhost vsftpd]#setsebool -P ftpd_full_access on

9. 重启vsftpd服务器

[root@localhostchris]# systemctl stop  vsftpd.service

[root@localhostchris]# systemctl start  vsftpd.service

[root@localhostchris]# systemctl status  vsftpd.service

10. 在/home/vsftpd/test/下面件几个文件夹做测试

mkdir  /home/vsftpd/test/test{1..5}

11. 在浏览器或者我的电脑里输入ftp://192.168.163.126(局域网)测试

CentOS7种搭建FTP服务器的更多相关文章

  1. 腾讯云服务器linux centOS7.4 搭建ftp服务器 vsftpd

    腾讯云服务器linux centos 7.4 搭建ftp服务器 vsftpd 在centos 7.3测试也是OK的,其它版本没有实验 # 安装 vsftpd $ yum install vsftpd ...

  2. 阿里云 CentOS7中搭建FTP服务器

    1配置 vsftpd-3.0.2-27.el7.x86_64 阿里云 centos 7.0 2 ftp工作模式 2.1 ftp通道 ftp工作会启动两个通道: 控制通道,数据通道 在ftp协议中,控制 ...

  3. Centos7安装搭建FTP服务器(最简便方法)

    简介: vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linu ...

  4. Centos7上搭建ftp服务器

    ftp服务器搭建 1.安装好centos系统,配好yum仓库 其中vsftpd源在这下载 http://rpmfind.net/linux/rpm2html/search.php?query=vsft ...

  5. CentOS7系统搭建FTP服务器

    创建FTP服务器1.安装FTP服务 yum install -y vsftpd 默认的FTP服务的配置文件路径为/etc/vsftpd cd /etc/vsftpd[root@test924 vsft ...

  6. centos7上搭建ftp服务器(亲测可用)

    1.安装vsftpd 首先要查看你是否安装vsftp [root@localhost /]# rpm -q vsftpd vsftpd-3.0.2-10.el7.x86_64 (显示以上相关信息也就安 ...

  7. 记录Centos7搭建ftp服务器以及遇到的各种坑

    前言 今天被经理要求搭建ftp服务器,然后就去网上搜索了一下教程.搭建成功后(遇到的坑不少)特此记录一下.因为是为了记录一下整个操作流程以防以后使用所以比较啰嗦. 目录 1.安装vsftpd 2.创建 ...

  8. 虚拟机中使用centos7搭建ftp服务器

    应用场景 本地windows作为客户端,虚拟机CentOS7作为服务器端,搭建FTP服务器,本地访问虚拟机实现文件的上传下载.如何在虚拟机安装centos7就不在赘述. 1.在centos7上安装vs ...

  9. CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)

    CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此 ...

随机推荐

  1. (转)Unity笔记之编辑器(BeginToggleGroup、BoundsField、ColorField) ...

    1. BeginToggleGroup() BeginToggleGroup函数是定义了一个控制范围,可以控制该范围中的GUI是否启用,看下演示代码: [code]csharpcode: using ...

  2. js和jquery获取父级元素、子级元素、兄弟元素的方法{转}

    先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当成DOM元素   原生的 ...

  3. mybatis 处理 mysql 表中的 text类型的 字段

    在mysql 中 text类型的字段: service_detail text NULL 服务描述   . 对应java文件中 model 中的 String:  private String ser ...

  4. PHP编程经常容易记乱的知识

    PHP经常容易记乱的知识 1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败 ...

  5. iOS-如何读取Plist文件

    解决办法: // 1) 找到Plist文件的路径 "path" NSString *path = [[NSBundle mainBundle]pathForResource:@&q ...

  6. java动态编译 (java在线执行代码后端实现原理)(二)

    在上一篇java动态编译 (java在线执行代码后端实现原理(一))文章中实现了 字符串编译成字节码,然后通过反射来运行代码的demo.这一篇文章提供一个如何防止死循环的代码占用cpu的问题. 思路: ...

  7. java代理与动态代理的学习

    静态代理比较简单,就是代理对象与被代理对象继承相同的接口,代理类负责调用被代理类(委托类)的对象的相关方法去提供具体的服务,一个代理类只能为一个接口服务,要是有很多服务的话需要开很多代理类.而动态代理 ...

  8. angular下如何绑定form表单的change事件

    ng-change = "formChange()" 不起作用 应该改为: onchanged = "angular.element(this).scope().form ...

  9. myslq中插入时间当前时间

    create table classic_movie_info( id ) primary key auto_increment not null, movie_name varchar(), mov ...

  10. iOS开发——生命周期

    为了处理好应用程序的挂起.暂停等情况下的数据保存,或对应添加所需处理,我们必须了解ios生命周期. 但是不要去背去记,做个实验就好. - (BOOL)application:(UIApplicatio ...