1.使用yum安装ftp服务端:

yum  install -y  vsftpd

2.使用yum安装ftp客户端:

yum  install -y ftp.x86_64

3.开启ftp服务设置开机启动并查看状态:

systemctl start vsftpd

systemctl enable vsftpd

systemctl status vsftpd

4.配置配置文件:

4.1备份配置文件,防止意外:

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

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

#禁止匿名访问

anonymous_enable=NO

#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

#是否锁定所有用户不能离开自己的主目录。YES时,锁定;NO时,所有都不锁定

chroot_local_user=YES

#开启例外用户列表,本列表含义跟chroot_local_user配置有关联。当锁定时,本列表中的用户不锁定;当不锁定时,本列表中的用户锁定

chroot_list_enable=YES

#设置例外用户列表文件

chroot_list_file=/etc/vsftpd/chroot_list

listen=NO

#PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证

pam_service_name=vsftpd

#为YES时,开启用户验证;为NO时,不开启

userlist_enable=YES

#为NO时,允许user_list中用户登陆;为YES时,禁止user_list中用户登陆

userlist_deny=YES

#设定启用虚拟用户功能

guest_enable=YES

#指定虚拟用户的宿主用户,一般新建一个nologin类型的用户作为虚拟用户的宿主用户

guest_username=vsftpd

virtual_use_local_privs=YES

#设定虚拟用户个人配置文件存放路径

user_config_dir=/etc/vsftpd/vuser_conf

5.建立虚拟用户列表

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

vim /etc/vsftpd/virtusers

添加内容

test1

123456

test2

123456

6.生成db文件

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

注释:db_load如果没有自行安装。

#修改文件权限

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

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

#备份文件,防止意外

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

#vim /etc/pam.d/vsftpd,注释文件内容,添加下面两行:

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 注释:根据自己的机器类型选择lib64还是lib。

8.新建系统nologin用户vsftpd,新建虚拟用户根目录,配置虚拟用户个人配置

8.1新建系统用户

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

mkdir -p /home/vsftpd

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

useradd vsftpd -d/home/vsftpd -s /sbin/nologin

8.2新建虚拟用户根目录,其他用户类似

mkdir -p /home/vsftpd/test1/

chown -R vsftpd:vsftpd /home/vsftpd/test1

8.3配置虚拟用户个人配置

vim /etc/vsftpd/vuser_conf/test1,文件名跟虚拟用户名相同:

#设置虚拟用户的主目录

local_root=/home/vsftpd/test1

#需要设置本项,不然登陆时会登陆不了,权限问题
allow_writeable_chroot=YES #下面这些项根据需要添加 write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

9.关闭防火墙。当然也可以设置对服务开放,为了方便直接关闭。

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

10.关闭SELinux。当然也可以根据需要开放,为了方便直接挂壁。

修改/etc/selinux/config文件中的SELINUX=disabled ,然后重启。

完毕!

本人安装过程遇到的问题:

1.配置完成后,启动时发生错误:

==== AUTHENTICATION COMPLETE ===
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.

原因:配置文件中,配置项后多了东西。每个配置项后面什么都不能有,包括空格,否则会出现上述问题。

#设定启用虚拟用户功能
guest_enable=YES #

Centos7 ftp服务器搭建的更多相关文章

  1. centos7 配置ftp服务器搭建(匿名访问,以及本地登录)

    大家好,今天来给大家分享一个基于centos 7的ftp服务器搭建 实现功能:匿名访问,本地登录 查看系统版本: [root@localhost ~]# cat /etc/redhat-release ...

  2. 记一次ftp服务器搭建走过的坑

    记一次ftp服务器搭建走过的坑 1.安装 ①下载 wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz #要FQ ②解压 ta ...

  3. FTP服务器搭建及操作(一)

    FTP服务器搭建及操作(一) FTP搭建 PHP FTP操作 搭建方法参照(windows):http://www.cnblogs.com/lidan/archive/2012/06/04/25351 ...

  4. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  5. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

  6. ftp服务器搭建及简单操作

    ftp服务器搭建及简单操作 1. 添加一个新用户,使用名useradd testftp,然后使用passwd testftp对新添加的用户设置密码(这里设置为“1234567”). 2. 安装ftp服 ...

  7. Linux CentOS 6.5 下 vsftpd ftp服务器搭建

    Linux CentOS 6.5 下 vsftpd ftp服务器搭建 by:授客 QQ:1033553122   操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.ce ...

  8. FTP-Linux中ftp服务器搭建

    一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...

  9. (转)【Java FTP及FTP服务器搭建】

    转至 http://blog.csdn.net/studyvcmfc/article/details/8147052 目录(?)[+] -[Java FTP及FTP服务器搭建] 一:本文采用apach ...

随机推荐

  1. Replication--将LSN转换成16进制

    在复制中经常会使用到16进制的LSN,但在日志fn_dblog中的LSN是数字形式,于是从网上找到以下转换函数CREATE FUNCTION dbo.fn_convertnumericlsntobin ...

  2. openedx使用中可能用到的一些资源

    这几天一直在弄openedx,你会发现安装好只是第一步,后面还有很多东西在等着你,那么哪里可以看到较新的资料了,分享几个站点: 1.https://readthedocs.org/projects/e ...

  3. ASP.NET Core入门(一)

    大家好,很荣幸您点了开此篇文章,和我一起来学习ASP.NET Core,此篇文字为<ASP.NET Core入门>系列中的第一篇,本系列将以一个博客系统为例,从第一行代码,到系统发布上线( ...

  4. jquery之链式调用,层级菜单

    一. 链式调用的含义 jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写: $('#div1') // id为div1的元素 .children('ul ...

  5. TCP的成块数据流

    TCP使用滑动窗口协议的另一种方式来实现流量控制.该协议允许发送方在停止并等待确认之前可以连续发送多个分组.由于发送方不必每发送一个分组就停下来等确认,因此该协议可以加速数据的传输. 一.滑动窗口  ...

  6. iOS tableview性能优化及分析

    1.最常用的就是cell的重用, 注册重用标识符 每次滑动cell时需要先去缓存池中寻找可循环利用的cell,如果没有则再重新创建cell 2.减少cell中控件的数量 view对象尽量缩减控件的数量 ...

  7. 斐讯K2P通过配置文件开启telnet的原理分析

    看过几篇教程之后我已经知道怎么备份固件了.但是现在有一个问题,我的本意是把K2P原机带的固件备份出来,用教程上的方法进行开启telnet.备份固件等操作是否会改变固件呢?下面我们来验证这个问题. Op ...

  8. java字段中初始化的规律与如何用静态成员函数调用非静态成员

    java字段中初始化的规律: 执行以下代码,出现的结果是什么? class InitializeBlockClass{ { field=200; } public int field=100; pub ...

  9. 51 Nod 1042 数位dp

    1042 数字0-9的数量 1 秒 131,072 KB 10 分 2 级题   给出一段区间a-b,统计这个区间内0-9出现的次数. 比如 10-19,1出现11次(10,11,12,13,14,1 ...

  10. js 常用js正则表达式大全

    一.校验数字的js正则表达式   1 数字:^[0-9]*$     2 n位的数字:^d{n}$     3 至少n位的数字:^d{n,}$     4 m-n位的数字:^d{m,n}$     5 ...