centos ftp源 centos7如何登录ftp

各位老铁们,大家好,今天由我来为大家分享centos ftp源,以及centos7如何登录ftp的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

redhat跟centOS的区别

首先因为Redhat是基于Linux内核的,Linux本身就是开源的,根据Linux内核遵循GPL v2协议的规定,Redhat系统必须开源它的源码,事实上Redhat的编译版本和源码都是可以免费下载的。所以有人就下载了Redhat的源码,把Redhat的logo之类的标志、版本信息去掉后,自己编译成一个系统,并上传到网上供大家下载使用,后来成立了一个组织专门做优化这个自己编译的操作系统,并把这个系统叫做:Community enterprise operating system,取第一个单词的首字母C和第二个单词的前三个字母ent,简称Cent操作系统,而我们知道操作系统一般都用OS做简称,故这个系统叫:CentOS,它的本意就是“社区版企业操作系统”,就是网上社区的成员拿红帽的代码编译的。

所以,CentOS其实就是Redhat,可以说它们没有区别,唯一的区别是CentOS去掉了Redhat的商标(logo)之类的版权信息,另外,编译的时候,因为社区是民间组织,我们常说高人在民间,所以CentOS社区的人在编译Redhat源码时可能发现了一些错误,他们会对这些错误进行修正。

有人可能会觉得奇怪,Redhat公司的人这么辛苦写出来的源码,却还必须遵守GPL协议免费公开发到网上供大家下载使用,那Redhat还怎么赚钱?答案是,Redhat系统本身也是免费的,它的系统根本就不要钱,要钱的是“服务”和“商业授权费”,当公司使用Redhat系统(也就Redhat for Enterprise Linux,即红帽企业操作系统)时,你必须给Redhat公司交“授权费”,个人使用没人管你,因为它的系统你随时可以免费下载,但是公司使用它时,如果被它发现了你没有给授权费,就会被起诉赔钱,另外就是你可以使用Redhat的“服务”,服务器出问题他们的专业人员可以帮你处理,这也是收费的。

又有人可能会觉得很奇怪,既然RHEL系统免费让你下,源码也免费让你下,但为什么你用RHEL系统就要授权费?因为RHEL系统是Redhat公司开发的,人家有版权,但你交了授权费之后,如果系统出现什么大的问题,Redhat公司应该也是要赔你公司钱的,你可以选择不用RHEL系统,而是用CentOS系统,因为根据前面所说,CentOS其实就是Redhat系统嘛,只不过去掉了Redhat版权信息,改成了CentOS,而CentOS是社区版,是免费的。但是由于CentOS是免费的,如果你使用CentOS有什么重大问题造成公司有重大损失,CentOS是不会赔你钱的,因为CentOS本身并不是公司,而是一个民间组织,它们的存在,实际上就是因为有很多人认为自己技术够牛,不需要Redhat公司来做技术支持,也不想花钱买RHEL系统的使用授权,所以他们自己使用Redhat的源码编译出来CentOS,并且由于代码不是他们自己写的,所以他们不能对CentOS收费,因为他们本身就是为了不使用收费的RHEL才自己编译的CentOS,所以他们自然也不会去收费(也无权收费),但因为他们不收费,所以也不需要对使用者负责,也就是说使用者因为CentOS出什么问题对公司造成损失,他们是不需要负责的,你既然想省钱就别怕出事。

然而CentOS实际上是比较稳定的,也不会出什么事,所以目前国内绝大部分互联网公司都使用CentOS系统,但也有使用Ubuntu的,国外用Ubuntu的更多,全世界用Ubuntu做服务器的比用CentOS的多,但在中国用Ubuntu的比用CentOS的少,原因可能是因为中国最早那批会Linux的人都学的红帽(Redhat)系统,他们教出来的人自然也都是用红帽的,而CentOS其实就是红帽,用法肯定也基本上一样,所以大家相互学的都是这个系统的相关知识,导致国内大部分互联网公司都用CentOS做服务器。

如何借助vsftpd在Linux上构建安全的FTP服务

FTP(文件传输协议)是互联网上广泛使用的服务之一,主要用于将文件从一个主机传输到另一个主机。FTP本身当初不是作为一种安全协议而设计的;正因为如此,典型的FTP服务很容易遭受诸如中间人攻击和蛮力攻击之类的常见攻击。

许多具有安全功能的应用程序可用来构建安全的FTP服务。比如说,FTPS(安全Secure)使用SSL/TLS证书,对端到端数据进行加密。基于客户端的需求,FTPS可加以配置,以支持经过加密及/或未经过加密的连接。SFTP(SSH文件传输协议)是另一种为传输中数据确保安全的方法。SFTP是作为SSH的一种扩展技术而开发的,同样可以结合其他安全协议使用。

本教程将着重介绍借助SSL/TLS已被启用的vsftpd,构建和保护FTP服务。

先稍微介绍一下背景:典型的FTP服务器侦听TCP端口20以监视数据、侦听TCP端口以监视命令(又叫控制端口)。连接的建立和命令参数的交互都通过端口21来完成。FTP连接支持两种方法:主动模式和被动模式。在主动模式下的连接建立过程中,服务器建立一条从其端口20(数据)到客户机的连接。在被动模式下,服务器为每一个客户机会话专门指定了随机性数据端口,并将该端口通知客户机。随后,客户机建立一条通向服务器随机性端口的连接。

据RFC 1635显示,FTP支持通过特殊用户anonymous进行的公众访问,不需要任何密码,或者通过用户ftp、使用密码ftp来进行访问。除了这类公众用户外,vsftpd还支持本地Linux用户进行的登录。Linux用户可以通过使用FTP连接到服务器,并提供登录信息,访问其主目录,即/home/user。

把vsftpd安装到Linux上

如果想把vsftpd安装到Ubuntu、Debian或Linux Mint上,可以使用apt-get命令。系统一启动,vsftpd服务就会自动启动。

$ sudo apt-get install vsftpd

如果想把vsftpd安装到CentOS、Fedora或RHEL上,我们可以使用yum来轻松完成安装。服务启动后,还被添加到系统启动项。

# yum install vsftpd

# service vsftpd start

# chkconfig vsftpd on

使用vsftpd的一种最基本的FTP服务现已准备好使用。我们只要将浏览器指向URL ftp://[ServerName/IP],或者使用FileZilla等FTP客户软件、使用用户名anonymous,无需密码来连接,或使用用户名ftp、密码ftp来连接,就可以访问FTP服务。

vsftpd安装完毕后,系统用户ftp连同主目录/var/ftp已被添加到系统中。只要建立了匿名FTP连接,会话总是默认使用/var/ftp目录。所以,我们可以将该目录用作FTP公众用户的主目录。放在/var/ftp下面的任何文件/目录都可以通过ftp://[ServerName/IP]加以访问。

vsftpd配置文件的位置出现在下面两个地方:

•Ubuntu、Debian或Linux Mint:/etc/vsftpd.conf

•CentOS、Fedora或RHEL:/etc/vsftpd/vsftpd.conf

在本教程的其余部分,使用你Linux系统上的对应位置的vsftpd.conf文件。

调整FTP用户

如果想禁用公众访问,我们就要在vsftpd.conf中明确禁止用户anonymous。注释掉这一行不管用,因为vsftpd使用默认值运行。你还需要重启vsftpd。

anonymous_enable=NO

# service vsfptd restart

因而就要启用强制性验证;只有现有的Linux用户才能够使用其登录信息来进行连接。

若想启用/禁用本地用户,我们可以修改vsftpd.conf文件。如果我们禁用本地用户,就得确保用户anonymous已被授予访问权限。

local_enable=YES/NO

# service vsfptd restart

如果想使用特定用户连接到系统,我们只要将URL改成[ServerName/IP]。相应用户的主目录可使用这种方法,通过FTP来加以访问。

将用户限制在各自的主目录

用户使用FTP访问远程服务器时,用户可以浏览整个系统,只要文件/目录是可读取的。根本不建议这么做,因为任何用户都能通过FTP会话,读取和下载/etc、/var、/usr及其他位置下面的系统文件。

想限制本地用户在FTP会话期间只能访问各自的主目录,我们可以修改下面这个参数。

chroot_local_user=YES

# service vsftpd restart

现在,本地用户只能够访问其主目录了,无法访问系统中的其他任何文件或目录。

启用SSL/TLS加密

FTP原本是一种明文协议,这意味着谁都可以轻松窥视在客户机与远程FTP服务器之间所传输的文件。想对FTP通信内容进行加密,可以启用vsftpd中的SSL/TLS。

第一步是创建SSL/TLS证书和私钥,如下所示。它会将所创建的证书/私钥存放在目标.pem文件中。

在Debian/Ubuntu上:

$ sudo openssl req-x509-days 365-newkey rsa:2048–node

s-keyout/etc/vsftpd.pem-out/etc/vsftpd.pem

在CentOS/Fedora/RHEL上:

$ sudo openssl req-x509-days 365-newkey rsa:2048–node

s-keyout/etc/vsftpd/vsftpd.pem-out/etc/vsftpd/vsftpd.pem

然后,将下面这些参数添加到vsftpd.conf配置文件中。

#启用TLS/SSL

ssl_enable=YES

#强迫客户机在登录时使用TLS

allow_anon_ssl=NO

force_local_data_ssl=YES

force_local_logins_ssl=YES

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

require_ssl_reuse=NO

ssl_ciphers=HIGH

#指定SSL证书/私钥(Debian/Ubuntu)

#如果是CentOS/Fedora/RHEL,将其换成/etc/vsftpd/vsftpd.pem

rsa_cert_file=/etc/vsftpd.pem

rsa_private_key_file=/etc/vsftpd.pem

#为被动模式下的连接定义端口范围

pasv_max_port=65535

pasv_min_port=64000

最后重启vsftpd。

# service vsftpd restart

控制连接和带宽

vsftpd提供了几种方法来控制连接和用户带宽。我们将使用几种方法来调整我们的FTP服务器。

##为每个匿名会话分配的带宽设置为大约30 KB/s##

anon_max_rate=30000

##每个本地用户被授予大约30 KB/s的带宽##

local_max_rate=30000

##客户机会话闲置300秒后被终止##

idle_session_timeout=300

##每个源IP地址的最大连接数量,这有助于防范拒绝服务(DoS)和分布式拒绝服务攻击(DDoS)#

max_per_ip=50

调整防火墙

最后,如果你在系统(比如CentOS)上运行iptables防火墙,就要确保调整防火墙规则,允许FTP流量通过。下面这些规则应当有助于你开始上手。

# iptables-I INPUT-p tcp--dport 20-j ACCEPT

# iptables-I INPUT-p tcp--dport 21-j ACCEPT

# iptables-I INPUT-p tcp--dport 64000:65535-j ACCEPT

头两条规则允许流量通过FTP数据/控制端口。最后一条规则允许被动模式下的连接,其端口范围已经在vsftpd.conf中予以定义。

启用日志功能

万一你在本教程的FTP服务构建过程中遇到任何问题,可以启用日志功能,为此只需修改vsftpd.conf中的下面这个参数:

xferlog_enable=YES

xferlog_std_format=NO

xferlog_file=/var/log/vsftpd.log

log_ftp_protocol=YES

debug_ssl=YES

# service vsftpd restart

借助FileZilla连接到FTP服务器

现在有几款FTP客户软件支持SSL/TLS,尤其是FileZilla。想通过FileZilla连接到支持SSL/TLS的网站,就要为FTP主机使用下列设置。

你头一次连接到支持SSL/TLS的FTP服务器后,会看到该网站的证书。只管信任证书、登录上去。

为sftpd排查故障

1.如果你在连接到FTP服务器的过程中遇到了下面这个错误,这可能是由于你的防火墙阻止FTP流量。为此,确保你在防火墙上打开了必要的FTP端口,如上所述。

ftp: connect: No route to host

2.如果你连接到在CentOS/RHEL上运行的使用chroot改变根目录的FTP服务器时遇到了下面这个错误,禁用SELinux是一个办法。

500 OOPS: cannot change directory:/home/dev

Login failed.

虽然关闭SELinux是一个快速的解决办法,但在生产环境下这么做可能不安全。所以,改而打开SELinux中的下列布尔表达式可以解决这个问题。

$ sudo setsebool-P ftp_home_dir on

3.如果你通过FileZilla访问支持SSL/TLS的FTP服务器时遇到了下列错误,就要确保在vsftpd.conf中添加“ssl_ciphers=HIGH”。FileZilla并不支持默认密码(DES-CBC3-SHA)。

Trace: GnuTLS alert 40: Handshake failed

Error: GnuTLS error-12: A TLS fatal alert has been received.

"SSL_accept failed: error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher"

总而言之,使用vsftpd构建FTP服务器并非难事。针对用户anonymous的默认安装应该能够支持小型的常见FTP服务。Vsftpd还有许多可以调整的参数(详见),让它显得用途广泛。

浅析CentOS和RedHat Linux的区别

CentOS与 RHEL的区别

其实为什么有 CentOS? CentOS与 RHEL有什么关系?

RHEL在发行的时候,有两种方式。一种是二进制的发行方式,另外一种是源代码的发行方式。

无论是哪一种发行方式,你都可以免费获得(例如从网上下载),并再次发布。但如果你使用了他们的在线升级(包括补丁)或咨询服务,就必须要付费。

RHEL一直都提供源代码的发行方式,CentOS就是将 RHEL发行的源代码从新编译一次,形成一个可使用的二进制版本。由于 LINUX的源代码是 GNU,所以从获得 RHEL的源代码到编译成新的二进制,都是合法。只是 REDHAT是商标,所以必须在新的发行版里将 REDHAT的商标去掉。

REDHAT对这种发行版的态度是:“我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。”

所以,CentOS可以得到 RHEL的所有功能,甚至是更好的软件。但 CentOS并不向用户提供商业支持,当然也不负上任何商业责任。

我正逐步将我的 RHEL转到 CentOS上,因为我不希望为 RHEL升级而付费。当然,这是因为我已经有多年的 UNIX使用经验,因此 RHEL的商业技术支持对我来说并不重要。

但如果你是单纯的业务型企业,那么我还是建议你选购 RHEL软件并购买相应服务。这样可以节省你的 IT管理费用,并可得到专业服务。

一句话,选用 CentOS还是 RHEL,取决于你所在公司是否拥有相应的技术力量。

补充:

1、CentOS还修正了一些 AS的 BUG,比如安装过程的包选择问题

2、CentOS增加了 yum在线升级

3、

CentOS-3.1= AS3-update1

CentOS-3.2= AS3-update2

CentOS-3.3= AS3-update3

CentOS-3.4= AS3-update4

CentOS-3.5= AS3-update5

CentOS-4.0= AS4

CentOS-4.1= AS4-update1

4、使用 CentOS完全合法,不涉及版权问题

5、获得 CentOS很方便,全球提供了 10多个站点镜像(HTTP/ftp),以及 BT方式(常年提供种子)。

CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是将Red Hat Enterprise Linux的源代码重新编译而成(主要是去除Red Hat商标)。为什么Red Hat容忍CentOS的这种行为?CentOS从Red Hat服务器下载源代码,编译,免费发放,不提供付费商业支持。Red Hat发布升级补丁,几小时后或至多几天,CentOS也会跟着放出补丁。CentOS这样做完全合法,Red Hat也无可奈何,它的商业就是基于开源模式。但CentOS确实在不断吞食Red Hat的市场,从Google趋势上也能观察到。从目前的情况来看,CentOS造成的伤害还没有到达让Red Hat不得不改变商业模式的地步。而好处是它迫使Red Hat加快创新,使之始终走在其它Linux服务器发行版的前面。CentOS巨大成功的真正的受害者是其它的发行版,如Novell的SLES,Ubuntu server。

阅读剩余
THE END