如何在CentOS 7.0上安装ProFTPD
本文档介绍如何在CentOS 7.0 Server中安装和配置ProFTPD。 ProFTPD是用于unix和类Unix操作系统的FTP守护程序。 ProFTPD是根据GNU公共许可证(GPL)进行开发,发布和分发的,GNU公共许可证(GPL)基本上将其定义为免费软件,这意味着只要完整和完整的源代码随附任何方式,它可以以任何方式出售,许可和以其他方式操作ProFTPD软件包或由分发预编译二进制文件的任何和所有站点提供。 任何人都可以随时修改该软件,只要所有派生作品也可以根据GNU公共许可证进行许可。
1初步说明
本教程基于CentOS 7.0服务器,因此您应该在继续本教程之前设置基本的CentOS 7.0服务器安装。 系统应该有一个静态IP地址。 我在本教程中使用192.168.0.100
作为我的IP地址,将server1.example.com
用作主机名。
2安装ProFTPD
2.1安装:
为此启用EPEL如下:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
我们将首先安装ProFTPD和OpenSSL,如下所示:
yum install -y proftpd openssl proftpd-utils
我们需要开始服务
systemctl start proftpd.service
systemctl enable proftpd.service
另外在CentOS 7.0中,我们需要为ftp服务配置Firewall-cmd,如下所示:
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
我们可以检查ProFTPD版本如下:
proftpd -v[root @ server1〜]#proftpd -v
ProFTPD版本1.3.5
[root @ server1〜]#
2.2创建ProFTPD用户
为此,我将为ProFTPD创建一个组ftpgroup
和用户srijan
。 我将把主目录的用户srijan
限制为/ ftpshare
groupadd ftpgroup
接下来我将在ftpgroup
中添加用户srijan
:
useradd -G ftpgroup srijan -s /sbin/nologin -d /ftpshare
passwd srijan
[root@server1 ~]# passwd srijan
Changing password for user srijan.
New password: <--ftppassword
Retype new password: <--ftppassword
passwd: all authentication tokens updated successfully.
[root@server1 ~]#
接下来,我们需要使目录保护不被任何用户删除和重命名其内容,因此我们将如下更改目录权限:
chmod -R 1777 /ftpshare/
现在我们准备好ProFTPD连接了
现在我们可以使用用户srijan
和密码登录ftp://192.168.0.100
3在ProFTPD中启用TLS
为了在ProFTPD中启用TLS,请打开/etc/proftpd/proftpd.conf
在编辑文件之前,最好将原始文件备份,然后编辑文件,如下所示:
cp /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf
给出如图所示的条目
[...]
DefaultRoot ~ !adm PassivePorts 6000 6100
[...]
#<IfDefine TLS> TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]
我添加了6000和6100端口,以允许ftp的被动模式,相似地,我将允许通过CentOS防火墙服务的被动模式如下:
firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload
我们可以检查端口状态如下:
firewall-cmd --list-ports
[root@server1 ~]# firewall-cmd --list-ports
6000-6100/tcp
[root@server1 ~]#
另外我们需要告诉SELINUX允许文件的读/写。
setsebool -P allow_ftpd_full_access=1
为了使用TLS,我们必须创建SSL证书。 我将在/ etc / pki / tls / certs
中创建它,我们可以生成SSL证书,如下所示:
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem[root @ server1 certs]#openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
生成1024位RSA私钥
................................... ++++++
......... ++++++
将新的私钥写入'/etc/pki/tls/certs/proftpd.pem'
-----
您将被要求输入将被纳入的信息
进入您的证书请求。
您要输入的内容是所谓的可分辨名称或DN。
有很多领域,但你可以留下一些空白
对于某些字段,将有一个默认值,
如果输入'。',该字段将留空。
-----
国家名称(2个字母代码)[XX]: < - DE
州或省名(全名)[]: < -汉堡
地点名称(例如,城市)[默认城市]: < - Luneberg
组织名称(例如,公司)[Default Company Ltd]: < - ISPConfig
组织单位名称(如部分)[]: < -开发
通用名称(例如,您的姓名或服务器的主机名)[]: < - server1.example.com
电子邮件地址[]: < - info@example.com
[root @ server1 certs]#
给出上述值为红色,根据您的选择,我刚刚举个例子。
为了安全起见,我将使证书只能读取如下:
chmod 0440 /etc/pki/tls/certs/proftpd.pem
最后重新启动ProFTPD服务,如下所示:
systemctl restart proftpd.service
我们可以使用Filezilla软件连接到ProFTPD服务器,您必须在客户端安装Filezilla才能连接到服务器。 打开Filezilla并详细说明如下:
细节将会
主机= 192.168.0.100
协议= FTP
User = srijan
如果您尚未自定义另一个端口比21,则Port =可以为空
Password = ftppassword
(刚刚创建)
注意:由于我们已经在上述步骤中加入了我们的连接,所以我们将使用加密与需求显式FTP通过TLS
如果您尚未配置TLS,则可以使用“ 使用普通FTP”
它将要求信任证书按OK
它将通过TLS连接连接到FTP共享目录。
4 ProFTPD中的匿名ftp访问
我们可以在ProFTPD中创建匿名ftp帐户,只需在ProFTPD配置文件中添加这些条目即可:
nano /etc/proftpd.conf
并在文件的最后添加这些条目,
[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>
现在我们需要重新启动服务:
systemctl restart proftpd.service
现在通过Filezilla连接如下:
注意:由于我们已经在上述步骤中加入了我们的连接,所以我们将使用加密与需求显式FTP通过TLS
如果您尚未配置TLS,则可以使用“ 使用普通FTP”
按连接
:
它将要求信任证书按OK
我们已经使用匿名用户成功连接到服务器。
恭喜! 现在我们已经在CentOS 7.0中成功配置了ProFTPD服务器环境:)
5链接
- CentOS: http : //www.centos.org/
- ProFTPD: http:// www。 proftpd .org /