在CentOS7上安装ftp服务器用于保存服务端上传的图片。
1、CentOS卸载vsftpd的方法
如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务。
1.1 查找vsftpd服务
[root@localhost /]# rpm -aq vsftpd
返回结果显示:
vsftpd-3.0.2-21.el7.x86_64 #此处是查找vsftpd的返回结果
表示此服务期之前已经安装过vsftpd服务。
1.2 删除查找到的vsftpd服务
注:在卸载vsftpd之前,先停止vsftpd
[root@localhost /]# /sbin/service vsftpd stop
卸载vsftpd:
[root@localhost /]# rpm -e vsftpd-3.0.2-21.el7.x86_64
返回结果显示:
warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave #删除时将备份vsftp的用户列表文件
1.3 输入验证命令,验证vsftpd服务是否已经删除
[root@localhost /]# /sbin/service vsftpd stop
Redirecting to /bin/systemctl stop vsftpd.service
Failed to stop vsftpd.service: Unit vsftpd.service not loaded. #找不到vsftpd
[root@localhost /]# /sbin/service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service
Failed to start vsftpd.service: Unit not found. #找不到vsftpd
如果输入以上两个命令都显示找不到vsftpd服务的话,那就证明已经卸载成功。
2、安装vsftpd组件
[root@localhost /]# yum -y install vsftpd
2.1 启动ftp
[root@localhost home]# systemctl start vsftpd.service
2.2 放开21端口
[root@localhost /]# firewall-cmd --zone=public --add-port=21/tcp --permanent
[root@localhost /]# firewall-cmd --reload
3、vsftpd服务的详细配置
3.1 关闭匿名用户
[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
在vsftpd.conf配置文件中修改以下三项:
anonymous_enable=NO
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
然后重启ftp服务:
[root@localhost vsftpd]# systemctl restart vsftpd.service
通过配置重启之后,匿名用户不可以登录了。
3.2 建立ftp虚拟宿主账户
新建一个不能登录系统用户. 只用来登录ftp服务 ,这里如果没设置用户目录。默认是在home下:
[root@localhost vsftpd]# useradd ftpuser -s /sbin/nologin
为ftpuser用户设置密码:
[root@localhost /]# passwd ftpuser
3.3 查看ftp的状态
[root@localhost /]# getsebool -a|grep ftp
显示结果:
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
将上面红色两项状态设置为on:
[root@localhost vsftpd]# setsebool -P allow_ftpd_full_access on
[root@localhost vsftpd]# setsebool -P tftp_home_dir on
3.4 配置vsftpd.conf
限制系统用户锁定在/home/ftpuser目录
如果设置为
chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd.chroot_list
那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户
即, 可以浏览其主目录的上级目录. 所以, 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在
文件vsftpd.chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).
或者, 设置如下
chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd.chroot_list
然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)
中即可(一行一个用户名).
[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
这里有两种方案,我采用第二种,配置如下:
chroot_local_user=NO
chroot_list_enable=YES #(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd/chroot_list
默认chroot_list是不存在的
[root@localhost vsftpd]# vim /etc/vsftpd/chroot_list
然后加入 ftpuser ,表示只有ftpuser不能访问上级目录,重启vsftpd。
3.5 修改权限
修改/home/ftpuser 的权限为不可写
[root@localhost vsftpd]# chmod a-w /home/ftpuser/taotao
这是因为我们在上面将/home/ftpuser/taotao文件的权限改为不可写了,那么我们在这个目录下创建一个images文件夹,用来上传文件。并将权限赋值给 ftpuser 用户
[root@localhost taotao]# mkdir images
[root@localhost images]# chown ftpuser images
4、开启PASV(被动模式)
在 /etc/vsftpd/vsftpd.conf 的最下面加入
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
并且在userlist_enable=YES文件后面添加
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
开启防火墙:
[root@localhost taotao]# firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent
[root@localhost taotao]# firewall-cmd --reload
这样就可以使用ftp服务器上传文件了。
更多Vsftpd相关教程见以下内容:
Linux CentOS 6.5 下搭建 vsftpd ftp服务器 http://www.linuxidc.com/Linux/2016-07/133319.htm
CentOS安装vsftpd-3.0.2及安全配置 http://www.linuxidc.com/Linux/2016-12/138040.htm
openSUSE 13.2/13.1 下安装配置 FTP服务器 vsftpd http://www.linuxidc.com/Linux/2014-12/110070.htm
CentOS7基于虚拟用户的vsftpd http://www.linuxidc.com/Linux/2016-11/137150.htm
Ubuntu 14.04 配置vsftpd实现FTP服务器 - 通过FTP连接AWS http://www.linuxidc.com/Linux/2016-08/133933.htm
FTP协议详解与vsftpd在Linux上的安装配置 http://www.linuxidc.com/Linux/2016-09/134831.htm
CentOS 6.7 安装vsftpd服务器 http://www.linuxidc.com/Linux/2017-04/142612.htm
CentOS 7.3安装配置Vsftpd文件服务器 http://www.linuxidc.com/Linux/2017-06/144886.htm
Vsftpd3.0--FTP服务器搭建之本地用户篇 http://www.linuxidc.com/Linux/2017-04/142699.htm
CentOS7基于虚拟用户的vsftpd http://www.linuxidc.com/Linux/2016-11/137150.htm
Ubuntu 16.04下vsftpd 安装配置实例 http://www.linuxidc.com/Linux/2017-06/144807.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146085.htm
在CentOS7上安装ftp服务器用于保存服务端上传的图片。的更多相关文章
- 翻译:在Ubuntu 14.04上安装FTP服务器的方法
说明: 1.原文地址:http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/ 2.今天要做一个网络日志的迁移程序,搬 ...
- 在centos6.5上面mount微软系统上安装ftp服务器
---恢复内容开始--- 现在用虚拟机开发linux软件,发现虚拟机提供的共享文件夹不能很好地工作,表现为: 1.我在windows上面修改了文件内容,在linux里面发现文件内容没有变化,需要做些等 ...
- ubuntu安装ftp服务器
ubuntu安装ftp服务器 1: 安装vsftpd ~$ sudo apt-get install vsftpd ubuntu10.10自己装了,这步省略. 2: 配置vsftpd 2.1 修改vs ...
- 第21篇 ubuntu安装ftp服务器(转载)
ubuntu安装ftp服务器 1: 安装vsftpd ~$ sudo apt-get install vsftpd ubuntu10.10自己装了,这步省略. 2: 配置vsftpd 2.1 修改vs ...
- Ubuntu 16.04 安装ftp服务器传输文件
最近在搞深度学习,老师比较宝贝他的服务器,要求我以后负责管理服务器.往后所有要使用服务器的人都必须向我申请账号,然后只允许客户端访问,使用文件传输软件传输文件.像我这样一个linux菜逼,这种要求不是 ...
- ubuntu上安装ftp
为什么要安装ftp?为了方便在主机和虚拟机之间传文件 一般有两种做法: 一.使用VMware安装虚拟机后,可以直接继续安装VMware tools,就可以将主机上的文件拖到ubuntu虚拟机的某个目录 ...
- 在Linux和Windows系统上安装Nginx服务器的教程
在Linux和Windows系统上安装Nginx服务器的教程 1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RP ...
- CentOS 7运维管理笔记(4)----安装ftp服务器
在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点. 在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用.目前在开源操作系统中常用的 ...
- Ubantu下安装FTP服务器
在Linux中ftp服务器的全名叫 vsftpd,我们需要利用相关命令来开启安装ftp服务器,然后再在vsftpd.conf中进行相关配置,下面我来介绍在Ubuntu中vsftpd安装与配置增加用户的 ...
随机推荐
- transform的兼容性写法
大多数浏览器都有自己的私有前缀,IE的私有前缀是 -ms- 但是大多数CSS3属性对IE低版本就不友好了,所以一般IE9+才能用上transform:rotate(7deg); -ms-transfo ...
- 第三方数据库管理工具Navicat使用教程
一.Navicat Premium是一个功能强大的第三方数据库管理工具,可以连接管理MySQL.Oracle.PostgreSQL.SQLite 及 SQL Server数据库. 使用Navicat软 ...
- Effective Modern C++:08调整
41:针对可复制的形参,在移动成本低且一定会被复制的前提下,考虑将其按值传递 class Widget { public: void addName(const std::string& ne ...
- 【python练手】获取城市天气质量
#!/usr/bin/python # -*- coding: utf-8 -*- # get city pm2.5 and ranking # python2.7 import sys import ...
- 2019.10.17beta
import socket import subprocess import os server = socket.socket() server.bind( ('127.0.0.1',8888) ) ...
- Anaconda入门使用指南
打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...
- day39-Spring 19-今天的内容总结
- bzoj1877 晨跑
Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个 ...
- oracle表内连接和外连接
n 概述 表连接分为内连接和外连接 n 内连接 内连接实际上就是利用where子句对两张表形成的笛卡尔集进行筛选,我们前面学习的查询都是内连接,也是在开发过程中用的最多的连接查询. 基本语法: s ...
- Libevent:2设置
Libevent有一些整个进程共享的全局设置.这些设置会影响到整个的库.因此必须在调用Libevent其他函数之前进行设置,否则,LIbevent就会陷入不一致的状态. 一:Libevent中的日志信 ...