iptables 配置后连接不上数据库_Linux服务器配置-VSFTP服务配置(三)

8ab1f8b31aed967ae5f15b9bbfb1ca00.png

上文:Linux服务器配置-VSFTP服务配置(二)

一、vsftpd服务防火墙配置

1、主动(POST)模式 FTP 防火墙配置

  • CentOS6 系统 iptables 的配置

iptables -t filter --line-number -nL INPUT#显示现有防火墙规则,查看是否开启20、21号端口。

iptables -t filter -I INPUT -p tcp -m multiport --dport 20,21 -m state --state NEW -j ACCEPT #如没有开启端口,添加规则,开启20、21号端口。

service iptables save#保存防火墙设置。

service iptables restart #重启防火墙。

iptables -t filter --line-number -nL INPUT#查看新添加的规则是否成功。

3b6c63e11fd527d8a47bcd1fe98d593a.png
  • RHEL7 系统 firewalld 的配置

方法1—通过添加FTP服务规则,开启防火墙通道。

firewall-cmd --list-services #查看防火墙是否允许FTP服务通过。

firewall-cmd --permanent --zone=public --add-service=ftp #如没有允许FTP服务通过,添加防火墙规则允许其通过。

firewall-cmd --reload #重新加载防火墙。

firewall-cmd --list-all #查看新添加的防火墙规则是否允许FTP服务通过。

d0e1175f055aa4efebde8839e4859a11.png

方法2—通过添加端口规则,开启防火墙通道。

firewall-cmd --list-ports #查看防火墙是否开启20、21端口。

firewall-cmd --permanent --zone=public --add-port=20-21/tcp #如没有开启端口,添加规则,开启20、21号端口。

firewall-cmd --reload #重新加载防火墙

firewall-cmd --list-all #查看新添加的规则是否成功。

8fff059b95a4474852485f085ff251db.png

以上两种方法使用哪一种都可以。

2、被动(PASV)模式FTP防火墙配置

如果FTP开启被动(PASV)模式,就需要修改配置文件(vsftpd.conf),指定一个端口范围,然后根据这个端口范围来配置防火墙。

下面是配置文件指定的端口范围

pasv_enable=YES

pasv_min_port=59800

pasv_max_port=59900

  • CentOS6系统iptables的配置

iptables -t filter --line-number -nL INPUT#显示现有防火墙规则,查看是否开启21号端口。

iptables -t filter -I INPUT -p tcp -m tcp --dport 21 -m state --state NEW -j ACCEPT#如没有开启端口,添加规则,开启21号端口。

iptables -t filter -I INPUT -p tcp -m tcp --dport 59800:59900 -m state --state NEW -j ACCEPT#开启被动端口。

service iptables save#保存防火墙设置。

service iptables restart #重启防火墙。

iptables -t filter --line-number -nL INPUT #查看新添加的规则是否成功。

dde989d1c43da25861143c84f7ffbb3a.png
  • RHEL7系统firewalld的配置

方法1—通过添加FTP服务规则,开启防火墙通道。

firewall-cmd --list-services #查看防火墙是否允许FTP服务通过。

firewall-cmd --permanent --zone=public --add-service=ftp #如没有允许FTP服务通过,添加防火墙规则允许其通过。

firewall-cmd --permanent --zone=public --add-port=59800-59900/tcp #开启被动端口。

firewall-cmd --reload #重新加载防火墙。

firewall-cmd --list-all #查看新添加的防火墙规则是否允许FTP服务通过。

8a71d6b90f828d0c48c599eaf105d466.png

方法2—通过添加端口规则,开启防火墙通道。

firewall-cmd --list-ports #查看防火墙是否开启21端口。

firewall-cmd --permanent --zone=public --add-port=21/tcp #如没有开启端口,添加规则,开启21号端口。

firewall-cmd --permanent --zone=public --add-port=59800-59900/tcp #开启被动端口。

firewall-cmd --reload #重新加载防火墙。

firewall-cmd --list-all #查看新添加的规则是否成功。

17a4fcf698142782b5c24dea00a68fa3.png

以上两种方法使用哪一种都可以。

注:在Windows下用ftp命令连接,都是采用主动模式连接,可以采用图形界面的FTP工具软件,默认一般为被动模式。

二、SELinux中关于vsftpd服务的说明

1、vsftp 的 SELinux 的文件类型

SElinux 一共定义了两种文件类型用于设置 vsftp 服务器。

public_content_t

说明:vsftpd服务可以读取的文件和目录,其他服务如 Apache、Samba 和 NFS 也可以,但是 public_content_t 类型的文件不能被写入,即使 Linux 权限允许。

public_content_rw_t

说明:vsftpd服务可以读取和写入的文件和目录,其他服务其他服务如 Apache,Samba 和 NFS 也可以,不过必须开放相关的布尔变量。

2、vsftp 的布尔变量

下面是常用的布尔变量。

allow_ftpd_anon_write

说明:关闭这个布尔变量会阻止 vsftpd 读取 public_content_rw_t 类型的文件和目录。如果允许用户通过 FTP 上传文件。必须开放这个布尔变量。

allow_ftpd_full_access

说明:当开放这个布尔变量时只有 Linux(DAC)的权限来控制访问,通过验证的用户可以读取和写入标记为 public_content_t 或 public_content_rw_t 类型的文件。

allow_ftpd_use_cif

说明:当开放这个布尔变量时 vsftpd 允许 cifs_t 类型的文件和目录,因此这个布尔变量启用,可以让你的 FTP 服务器可以使用 Samba 文件系统。

allow_ftpd_use_nfs vsftpd

说明:当开放这个布尔变量时 vsftpd 允许 nfs_t 类型的文件和目录,因此这个布尔变量启用,可以让你的 FTP 服务器可以使用 NFS 文件系统。

ftp_home_dir

说明:当开放这个布尔变量时认证用户可以读写自己的主目录中的文件。

ftpd_connect_db

说明:当开放这个布尔变量时允许 vsftpd 连接数据库。

httpd_enable_ftp_server

说明:当开放这个布尔变量时容许的 httpd 作为 FTP 服务器,并且监听 FTP 端口。

tftp_anon_write

说明:当开放这个布尔变量时允许 TFTP 访问一个公共的目录。

注:关于SELinux 环境下的 FTP 配置将在实例中加以说明。

三、匿名认证登录FTP配置

匿名方式登录FTP服务器是一种最不安全的认证方式,因为任何人都可以无需密码访问FTP服务器中的数据。但在企业内部局域网中可以通过这种方式共享一些不重要的数据文件(比如软件的共享等)。

vsftpd服务程序安装完成并启动服务后,默认是开启匿名访问的,但只是提供查看和下载文件的权限,如果需要开放匿名用户的上传、创建、删除、更名文件的权限,就需要做一些相应的配置,针对匿名用户放开这些权限会带来潜在的危险,这里为了在Linux系统中练习配置vsftpd服务程序而放开了这些权限,不建议在生产环境中使用匿名登录方式。

1、配置软件环境说明

CentOS6系统:

CentOS release 6.10 (Final)

vsftpd-2.2.2-24.el6.x86_64

RHEL7系统

Red Hat Enterprise Linux Server release 7.6 (Maipo)

vsftpd-3.0.2-25.el7.x86_64

3b39b8210ac59287713c94a405c98ba0.png

服务器配置要求:

FTP服务采用被动模式运行,并只允许匿名用户登录,匿名用户具有可下载、上传、新建目录(文件)、更名、及删除文件的权限。

2、备份原有配置文件

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

3、修改配置文件(/etc/vsftpd/vsftpd.conf)

说明:此配置文件将一般常用的设置项全部列出,需要用到的时候更改相应的设置即可。

listen_port=21

connect_from_port_20=NO

pasv_enable=YES

pasv_min_port=59800

pasv_max_port=59900

listen=YES

listen_ipv6=NO

max_clients=0

max_per_ip=0

one_process_model=NO

connect_timeout=60

accept_timeout=60

data_connection_timeout=300

idle_session_timeout=300

dirmessage_enable=YES

message_file=.message

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

write_enable=YES

download_enable=YES

tcp_wrappers=YES

userlist_enable=YES

userlist_deny=YES

userlist_file=/etc/vsftpd/user_list

xferlog_enable=YES

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

use_localtime=YES

anonymous_enable=YES

anon_world_readable_only=YES

anon_other_write_enable=YES

anon_mkdir_write_enable=YES

anon_upload_enable=YES

chown_uploads=NO

chown_username=username

no_anon_password=NO

ftp_username=ftp

anon_root=/var/ftp

anon_max_rate=0

anon_umask=077

local_enable=NO

local_umask=022

file_open_mode=0666

local_root=/home/username

local_max_rate=0

user_config_dir=/etc/vsftpd/userconf

pam_service_name=vsftpd

guest_enable=NO

guest_username=ftp

virtual_use_local_privs=NO

user_config_dir=/etc/vsftpd/vuser_config

4、重启vsftp服务

  • CentOS6系统

service vsftpd restart

  • RHEL7系统

systemctl restart vsftpd

5、修改FTP上传目录的所有者

因为匿名用户,使用ftp用户身份来访问FTP服务器,所以需将FTP允许上传文件的目录的所有者更改为ftp。

匿名用户不能直接对FTP根目录进行写操作,只有在下级目录中才可以,所以这里设置可对pub目录进行写操作。

chown -Rf ftp /var/ftp/pub

ccd5cd29cee3f51a00a163f276a816b8.png

6、修改SELinux中 vsftp 的布尔变量

CentOS6系统

setsebool -P allow_ftpd_full_access on

RHEL7系统

setsebool -P ftpd_full_access on

d2ea287739f8f50616935b55cd6359b5.png

上图为CentOS6系统实例

7、验证配置结果

747969790d29fd0816cb6ab20ad7d5c7.png

以上是我在学习Linux系统中整理的一些学习要点,肯定会有不对的地方,希望各位大侠给与指正,我们共同学习!谢谢!

下篇:Linux服务器配置-VSFTP服务配置(四)

通过实例说明如何配置本地用户登录FTP服务器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下标索引必须为正整数类型或逻辑类型_Python3 基本数据类型

Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。Python 3中有六个标准的数据类型&#xf…

noip模拟赛 写代码

分析:这其实就是括号匹配题,一眼贪心题,不过一开始贪错了,以为([)]是合法的......其实括号之间不能嵌套. 一开始的想法是尽量往左边填左括号,因为每种括号的数量都确定了,那么左括号和右括号的数量也就确定…

行内元素和块元素以及行内块元素的特点

一、背景 初学html&#xff0c;接触很多标签 <h1>、<p>、<span>、<ul>、<em>等&#xff0c;当写出简单的小页面的时候&#xff0c;例如仅仅是一篇带有标题的文章&#xff0c;标题 <h1>标签单独一行&#xff0c;不管后面有多大的空间&…

软件测试的功能测试和性能测试,大型软件的功能测试流程及性能测试流程

大型软件具有涉及子模块繁多、建设过程复杂、功能全面、性能具有较高要求的特点。依据ISO/IEC 9126软件产品评估标准&#xff0c;需要对软件的功能性、可靠性、可用性、效率、可维护性、可移植性等方面进行评估。因此&#xff0c;需要有一种方法能够对大型软件进行测试&#xf…

vue 分模块打包 脚手架_Vue面试官最爱的底层源码问题,你可以这样回答!

最近看到身边很多人都在投简历&#xff0c;有因为企业裁员的&#xff0c;有因为自己想跳槽的&#xff0c;原因不一&#xff0c;但是最终大家都会需要接触到面试这个事情。但是很多人对待面试不够认真&#xff0c;只会等待结果&#xff0c;不去努力。所以这边想整理一些懒人面试…

re.containerbase.startinternal 子容器启动失败_Python项目容器化实践(二) Docker Machine和Docker Swarm...

前言这篇文章介绍Docker生态中的常被提到的Engine、Machine和Swarm&#xff0c;大家以了解为主&#xff0c;工作需要再深入。EngineDocker Engine其实就是我们常说的「Docker」&#xff0c;它是一个C/S模型(Client/Server)的应用&#xff0c;包含如下组件:Daemon。守护进程&…

基于设备树的TQ2440的中断(2)

下面以按键中断为例看看基于设备数的中断的用法&#xff1a; 设备树&#xff1a; tq2440_key {compatible "tq2440,key";interrupt-parent <&gpf>;interrupts <0 IRQ_TYPE_EDGE_FALLING>, <1 IRQ_TYPE_EDGE_FALLING>;key_3 <&gpf 2…

计算机里有个不能进入的磁盘分区,新电脑只有一个分区怎么办? 教你们如何不进pe给硬盘创建新分区!...

很多朋友新电脑刚买回来打开发现明明自己机械硬盘1T或者1T机械加128G固态&#xff0c;但是却只有一个或者两个分区&#xff0c;但是又不会分区现在教大家如何不用老毛桃大白菜之类的进pe系统里面就能直接创建新分区1 WinR输入diskmgmt.msc2进入磁盘管理可以查看本机的C盘与E盘的…

OSGi中的权限

在上一篇文章中 &#xff0c;我们介绍了为Java应用程序实现沙箱的方法&#xff0c;在其中我们可以安全地运行移动代码 。 这篇文章探讨了如何在OSGi环境中执行相同的操作。 OSGi OSGi规范 为Java定义了一个动态模块系统 。 因此&#xff0c;它是实施那种可以使您的应用程序动…

HTTP简单教程

目录 HTTP简介 HTTP工作原理 HTTP消息结构 客户端请求消息服务器响应消息实例 HTTP请求方法HTTP响应头信息HTTP状态码 HTTP状态码分类HTTP状态码列表 HTTP content-type对照表 HTTP简介 HTTP协议是Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;的缩写&…

Reversed-Z详解

在3D渲染管线中&#xff0c;Z这个家伙几乎无处不在&#xff0c;如Z-Buffer&#xff0c;Early-Z&#xff0c;Z-Cull&#xff0c;Z-Test&#xff0c;Z-Write等等&#xff0c;稍有接触图形学的人都会对这些术语有所耳闻。 那么Z到底是什么呢&#xff1f;首先Z当然可以是任意坐标系…

pyqt开发的程序模板_小程序定制开发和模板开发要多少钱?有什么区别?

到现在&#xff0c;小程序开发已经有了1年多的历史&#xff0c;已经达到百万数量级。无论是小程序商城还是小程序游戏&#xff0c;其开发方式不外乎两种&#xff0c;一种是定制开发&#xff0c;另一种是模板开发。对于很多初次接触小程序的客户来说&#xff0c;还不知道小程序的…

html 三列布局(两列自适应,一列固定宽度)

不做过多解释&#xff1a;主要是记录一个完整的布局样式&#xff0c;实现页面大致三列其中左右两列是自适应宽度&#xff0c;中间固定宽度效果。 不多少代码奉上&#xff1a; CSS样式代码&#xff1a; /*********************公共标签样式********************//************…

单曲循环 翻译_歌单 | 单曲循环amp;热评

December2020/12/ 写在前面的话 /本来打算在跨年的时候才更文&#xff0c;但是吧又觉得空出这最后一个月有点苍白&#xff0c;然后最近一直夜半网抑云(敏感ing)就想到可以做一期分享歌单的推文&#xff0c;分享一些最近听得频繁的歌曲(还不是刷抖音刷出来的)。《暧昧》// 王菲徘…

休息使用Jersey –包含JAXB,异常处理和客户端程序的完整教程

最近&#xff0c;我开始使用Jersey API开发一个Restful Web服务项目。 在线提供了一些教程&#xff0c;但是我遇到了异常处理方面的一些问题&#xff0c;而且在使用JaxB和提供异常处理方法的完整项目中找不到任何地方。 因此&#xff0c;一旦我能够使用带有异常处理和客户端程序…

【转】Java方向如何准备BAT技术面试答案(汇总版)

原文地址&#xff1a;http://www.jianshu.com/p/1f1d3193d9e3 这个主题的内容之前分三个篇幅分享过&#xff0c;导致网络上传播的比较分散&#xff0c;所以本篇做了一个汇总&#xff0c;同时对部分内容及答案做了修改&#xff0c;欢迎朋友们吐槽、转发。因为篇幅长度和时间的原…

numpy维度交换_“lazy”的transpose()函数——从numpy 数组的内存布局讲起

1 数组的两种内存布局方式行优先与列优先首先我们回顾一下&#xff0c;矩阵数据在内存中的两种布局方式&#xff1a;行优先&#xff08;row-major&#xff09;&#xff1a;以行为优先单位&#xff0c;在内存中逐行存储/读取&#xff1b;对于多维&#xff0c;意味着当线性扫描内…

云耀服务器切换系统,【计算】云耀服务器-常见操作汇总指南

通过上期的介绍&#xff0c;相信大家对于云耀云服务器的基本知识有了一个了解。云耀云服务器是一个具备独立、完整的操作系统和网络功能&#xff0c;可快速搭建简单应用的新一代云服务器。接下来&#xff0c;本期为大家带来关于云耀云服务器使用中的一些简单方法和小技巧。1.云…

机器学习应该准备哪些数学预备知识?

转 https://www.zhihu.com/question/36324957 https://www.zhihu.com/question/36324957/answer/139408269 机器学习应该准备哪些数学预备知识&#xff1f; 数据分析师&#xff0c;工作中经常使用机器学习模型&#xff0c;但是以调库为主。 自己一直也在研究算法&#xff0c;也…

react usecontext_Vue3原理实战运用,我用40行代码把他装进了React做状态管理

前言vue-next是Vue3的源码仓库&#xff0c;Vue3采用lerna做package的划分&#xff0c;而响应式能力vue/reactivity被划分到了单独的一个package中。如果我们想把它集成到React中&#xff0c;可行吗&#xff1f;来试一试吧。使用示例话不多说&#xff0c;先看看怎么用的解解馋吧…