LINUX Centos7搭建vsftpd服务

前言:在数据传输安全方面,被动模式安全性更高,且ftp连接工具都是默认被动模式;在网络安全方面,则是主动模式安全性更高。

安装vsftpd和ftp连接工具

yum -y install vsftpd ftp

修改vsftpd的配置文件

vim /etc/vsftpd/vsftpd.conf

修改:

anonymous_enable=NO //修改为NO
chroot_list_enable=YES //去掉前面的#号
chroot_list_file=/etc/vsftpd/chroot_list //去掉前面的#号
ascii_upload_enable=YES //去掉前面的#号
ascii_download_enable=YES //去掉前面的#号
local_umask=033 //修改权限
listen=YES //设置vsftpd拥有自己的守护进程
listen_ipv6=NO

注意:listen和listen_ipv6不能同时设置YES

添加:

pasv_enable=YES #开启被动模式
pasv_min_port=30000 #被动模式最小端口
pasv_max_port=40000 #被动模式最大端口
pasv_promiscuous=YES #关闭端口安全检查
pasv_address=公网IP地址 #局域网搭建忽略此项
allow_writeable_chroot=YES

cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,RNFR,RNTO,RETR,SIZE,TYPE,USER,ACCT,STOR,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

注意:cmds_allowed参数不能有空格,这里设置权限可以上传,下载,重命名,替换,删除空文件夹,但不可以删除文件;为了安全考虑,被动模式端口最好大于10000,端口范围过小则无法访问ftp服务

设置ftp用户黑名单(把本地用户添加到以下两个文件)

cut -d : -f 1 /etc/passwd>>/etc/vsftpd/ftpusers
cut -d : -f 1 /etc/passwd>>/etc/vsftpd/user_list

注意:如果只在ftpusers添加,登录ftp时会提示用户密码错误,在user_list添加则会提示权限拒绝

建议:两边都加

创建ftp用户(新建的用户不在黑名单内)

useradd -s /sbin/nologin bing //用户名为bing
passwd bing //设置密码

注意:ftp用户的主目录默认在/home/用户名/下面

限制ftp用户不能离开它的home目录

touch /etc/vsftpd/chroot_list
cut -d : -f 1 /etc/passwd>>/etc/vsftpd/chroot_list

防火墙开放ftp,使系统不用完全关闭防火墙

firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=30000-40000/tcp --permanent
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
firewall-cmd --list-services //查看ftp是否开放
firewall-cmd --zone=public --list-ports //查看已开放的端口

注意:还需要在阿里云控制台的安全组规则添加被动模式的端口范围,否则会导致访问不了ftp服务

配置selinux 允许ftb访问home和外网访问

getsebool -a | grep ftp //查看setenforce的ftp布尔值
setsebool -P ftpd_full_access on
setsebool -P ftpd_connect_all_unreserved on
setsebool -P ftpd_use_passive_mode on
semanage port -a -t ftp_port_t -p tcp 30000-40000
semanage port -l |grep ftp //查看selinux开启的ftp端口

注意:如果semanage命令默认是没有安装的,报错运行以下命令

yum -y install policycoreutils-python //安装selinux端口管理工具

设置home目录权限

chmod 777 /home/bing

启动并设置开机自启

service vsftpd start
systemctl enable vsftpd.service

注意:在windows端访问ftp服务器需要设置被动模式,如下图所示

附加:ftp的卸载

卸载之前备份文件

mkdir /bak
cp -fr /home/bing/* /bak

卸载ftp

yum remove -y vsftpd

删除配置文件

rm -fr /etc/vsftpd

删除ftp用户

userdel -fr bing

您可能感兴趣的文章:

  • Linux下使用pure-ftpd建立匿名ftp访问的方法
  • Linux下搭建ftp服务器
  • Linux环境下快速搭建ftp服务器方法介绍
  • Linux中FTP账号无法删除文件夹的解决方案
  • linux下vsftpd的安装及配置使用详细步骤(推荐)
  • linux 操作 ftp 常用命令
  • 在linux下开启FTP服务方法介绍
  • Linux 下VSFTP服务搭建过程
  • Linux ftp 命令行中下载文件get与上传文件put的命令应用详解
  • Linux shell ftp命令根据文件日期下载文件的方法
  • Linux 下FTP的安装与配置教程详解
  • Linux中FTP服务器的搭建教程
  • linux中ftp服务搭建需要注意的地方
(0)

相关推荐

  • linux中ftp服务搭建需要注意的地方

    1.配置文件 /etc/vsftpd 目录下的vsftpd.conf文件 # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 fo

  • Linux ftp 命令行中下载文件get与上传文件put的命令应用详解

    介绍:从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo.以下为使用该连接做的实验. 查看远程ftp服务器上用户peo相应目录下的文件所使用的命令为:ls,登录到ftp后在ftp命令提示符下查看本地机器用户anok相应目录下文件的命令是:!ls.查询ftp命令可在提示符下输入:?,然后回车. 1.从远程ftp服务器下载文件的命令格式: get  远程ftp服务器上当前目录下要下载的文件名  [下载到本地机器上当前

  • Linux 下VSFTP服务搭建过程

    Vsftp服务 服务功能:文件传输 1.环境部署 ip=192.168.1.50 [root@localhost /]# rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm 2.匿名访问 1)设置配置文件 [root@localhost /]# vi /etc/vsftpd/vsftpd.conf chown ftp /var/ftp/pub --设置准备目录 anonymous_enable=YES --开启匿名访问 local_

  • Linux环境下快速搭建ftp服务器方法介绍

    本文研究的主要是Linux环境下快速搭建ftp服务器方法,具体如下.首先看看ftp的介绍: FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上

  • 在linux下开启FTP服务方法介绍

    1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下: #which vsftpd 如果看到有vsftpd的目录说明服务器已经安装了ftp软件 如果没有安装ftp软件的话,这里有下载地址和相关教程可以参考: Wing FTP Server FTP服务器端中文版安装使用教程 2. 查看ftp 服务器状态     #service vsftpd status 3. 启动ftp服务器      #service vsftpd start 4. 重启ftp服务器  #service vsftp

  • linux下vsftpd的安装及配置使用详细步骤(推荐)

    vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BSD.Solaris. HP-UNIX等系统上面,是一个完全免费的.开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征. 比如:非常高的安全性需求.带宽限制.良好的可伸缩性.可创建虚拟用户.支持IPv6.速率高等. vsftpd是一款在Linux发行版中最受推崇的FT

  • Linux下使用pure-ftpd建立匿名ftp访问的方法

    (一)ubuntu14.04下使用pure-ftpd建立匿名ftp访问 1.安装 apt-get install pure-ftpd 2.修改配置 nano /etc/pure-ftpd/conf/NoAnonymous 修改为no 3. 建立匿名用户 # 创建ftp用户 sudo useradd ftp # 创建ftpgroup用户组 sudo groupadd ftpgroup # 将ftp用户加入到ftpgroup组中 sudo usermod -g ftpgroup ftp # 到/ho

  • Linux 下FTP的安装与配置教程详解

    0.安装ftp的前置条件是关掉SElinux # vi /etc/selinux/config 修改 SELINUX=" disabled " ,重启服务器.若相同,则跳过此步骤. 1. 可先查看是否安装过vsftp # rpm -qa | grep vsftpd 则代表已经安装.可直接跳过步骤2 2 .安装 vsftp # yum install vsftp* Is this ok [y/N]: y 代表安装完成. 3. 对vsftp 进行配置 # /etc/vsftpd/vsftp

  • Linux下搭建ftp服务器

    使用RH 系Linux,Debian系请酌情参照 安装ftp所需包 安装ftp包 yum -y install ftp 安装vsftpd包 yum -y install vsftpd 注:配置文件路径   /etc/vsftpd/ 创建ftp用户,并付赋权 创建普通用户(我这里用户名为huoher) useradd huoher 设置该用户只能使用ftp而不能通过ssh或其他协议登录进来 usermod -s /sbin/nologin huoher 由于用户是ftp的,不是正常的登录用户,修改

  • Linux中FTP账号无法删除文件夹的解决方案

    我现在遇到的问题是这样的,用ftp账号上传了wordpress系统. 我用的FTP工具是:FileZilla 在删除这个文件的时候,基本所有文件都删掉了,但是还有一些空文件夹删除不了,并且状态面板显示了550 Remove directory operation failed. 一开始我以为是用户权限的问题,一直在折腾这个权限 其实压根和权限没半毛钱关系,因为权限已经是777了,真是瞎折腾. 偶然翻查百度资料的时候,发现了一个解决方法 只要在FilleZilla这个工具找到服务器菜单,把强制显示

  • linux 操作 ftp 常用命令

    简介: FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层.FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录.  概述: FTP是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输.FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unencode一样.但是,FTP

  • Linux中FTP服务器的搭建教程

    vmware12上安装的CentOs6.8,最终实现物理机上的windows10能正常访问CentOs上的FTP服务器. 一.查看是否安装有ftp相关的安装包 # rpm -qa | grep vsftpd //ftp的安装包就是vsftpd 查看到我的系统中没有安装相关的包,所以先把安装包装上. # yum -y install vsftpd //这里如果没有配置yum源,可以直接用rpm的方式安装也是一样的 查看一下是否安装成功 二.启动服务并设置开机自启动 # service vsftpd

  • Linux shell ftp命令根据文件日期下载文件的方法

    需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" "$7" "$8}' 时间内容: Sep  8 16:03 2.时间格式转换 date -d "Sep 8 16:03" +%Y%m%d%H%M 转换结果: 201709081603 3.指定文件名,正则匹配 pattern="${month}.*.d

随机推荐