如何在Debian Wheezy和Ubuntu 14.04上安装和配置ProFTPD

本文档介绍如何在Debian Wheezy服务器上安装和配置ProFTPD,它也可以在Ubuntu 14.04上工作。 ProFTPD是用于unix和类Unix操作系统的FTP守护程序。 ProFTPD是根据GNU公共许可证(GPL)进行开发,发布和分发的,GNU公共许可证(GPL)基本上将其定义为免费软件,这意味着只要完整和完整的源代码随附任何方式,它可以以任何方式出售,许可和以其他方式操作ProFTPD软件包或由分发预编译二进制文件的任何和所有站点提供。 任何人都可以随时修改该软件,只要所有派生作品也可以根据GNU公共许可证进行许可。

本指南适用于Ubuntu和Debian服务器。

1初步说明

本教程基于Debian 7.6服务器,因此您应该在继续本教程之前设置基本的Debian 7.6服务器安装。 系统应该有一个静态IP地址。 我在本教程中使用192.168.0.100作为我的IP地址,将server1.example.com用作主机名。

2安装ProFTPD

2.1安装:

我们将首先安装ProFTPD和OpenSSL,如下所示:

apt-get install proftpd openssl

它会询问有关ProFTPD的一些问题,选择独立 ,然后按确定

我们可以检查ProFTPD版本如下:

proftpd -v
root @ server1:〜#proftpd -v
ProFTPD版本1.3.4a
root @ server1:〜#

2.2创建ProFTPD用户

为此,我将为ProFTPD创建一个组ftpgroup和用户srijan 。 我将把主目录的用户srijan限制为/ ftpshare

addgroup ftpgroup
adduser srijan -shell /bin/false -home /ftpshare
root@server1:~# adduser srijan -shell /bin/false -home /ftpshare
Adding user `srijan' ...
Adding new group `srijan' (1002) ...
Adding new user `srijan' (1001) with group `srijan' ...
Creating home directory `/ftpshare' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <--ftppassword
Retype new UNIX password: <--ftppassword
passwd: password updated successfully
Changing the user information for srijan
Enter the new value, or press ENTER for the default<--ENTER
    Full Name []: <--ENTER
    Room Number []: <--ENTER
    Work Phone []: <--ENTER
    Home Phone []: <--ENTER
    Other []: <--ENTER
Is the information correct? [Y/n] <--Y
root@server1:~#

现在我们将把srijan用户添加到ftpgroup中 ,如下所示:

adduser srijan ftpgroup

接下来,我们需要使目录保护不被任何用户删除和重命名其内容,因此我们将如下更改目录权限:

chmod -R 1777 /ftpshare/

接下来我们需要配置ProFTPD如下:

nano /etc/proftpd/proftpd.conf

进行如图所示的更改

[...]
UseIPv6 off
[...]
<Global>
RootLogin off RequireValidShell off </Global> DefaultRoot ~ <Limit LOGIN> DenyGroup !ftpgroup </Limit>

我没有使用IPV6 ,所以我做上面,我通过RootLogon关闭 ProFTPD禁用root用户登录。 添加DefaultRoot以限制仅使用其主文件夹访问的用户。 DenyGroup将只允许来自ftpgroup的用户访问ftp服务器,所有其他连接将被拒绝。

重新启动服务:

service proftpd restart

有时您会在重新启动服务时收到错误,例如

root @ server1:〜#service proftpd restart
[ok]停止ftp服务器:proftpd。
[....]启动ftp服务器:proftpdserver1 proftpd [6052]:mod_tls_memcache / 0.1:通知:无法注册“memcache”SSL会话缓存:Memcache支持未启用
。 好
root @ server1:〜#

我们可以通过编辑/etc/proftpd/modules.conf文件来解决这个错误,并按如下方式对行进行注释:

nano /etc/proftpd/modules.conf
[...]
#LoadModule mod_tls_memcache.c
[...]

它会排序错误。

现在我们可以使用用户srijan和密码登录ftp://192.168.0.100



3在ProFTPD中启用TLS

为了在ProFTPD中启用TLS,请打开/etc/proftpd/proftpd.conf

nano /etc/proftpd/proftpd.conf

进行以下更改,取消注释行:

[...]
Include /etc/proftpd/tls.conf
[...]

现在我们将原始文件备份,然后编辑文件,如下所示:

cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
cat /dev/null > /etc/proftpd/tls.conf
nano /etc/proftpd/tls.conf

给出如图所示的条目

<IfModule mod_tls.c>
TLSEngine                  on
TLSLog                     /var/log/proftpd/tls.log
TLSProtocol                SSLv23
TLSOptions                 NoCertRequest
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient            off
TLSRequired                on
</IfModule>

为了使用TLS,我们必须创建SSL证书。 我将在/ etc / proftpd / ssl中创建它,因此我先创建该目录:

mkdir /etc/proftpd/ssl

之后,我们可以生成SSL证书,如下所示:

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

国家名称(2字母代码)[AU]:   < - 输入您的国家名称(例如,“DE”)。
州或省名(全名)[部分国家]:   < - 输入您的州或省名称。
地点名称(如城市)[]:   < - 进入你的城市。
组织机构名称(如公司)[互联网Widgits有限公司]:   < - 输入您的组织名称(例如,您公司的名称)。
组织单位名称(如部分)[]:   < - 输入您的组织单位名称(例如“IT部门”)。
通用名称(例如,您的姓名)[]:   < - 输入系统的完全限定域名(例如“server1.example.com”)。
电子邮件地址 []:   < - 输入您的电子邮件地址。

为了安全起见,我将使证书只能读取如下:

chmod 0440 /etc/proftpd/ssl/proftpd.key.pem

最后重新启动ProFTPD服务,如下所示:

service proftpd restart

我们可以使用FileZilla软件连接到ProFTPD服务器。 您必须在客户端安装FileZilla才能连接到服务器。 打开FileZilla并给出详细信息如下:

细节将会

主机= 192.168.0.100
协议= FTP
User = srijan
如果您尚未自定义另一个端口比21,则Port =可以为空
Password = ftppassword (刚刚创建)

注意:由于我们已经在上述步骤中加入了我们的连接,所以我们将使用加密与需求显式FTP通过TLS

如果您尚未配置TLS,则可以使用“ 使用普通FTP”



它将要求信任证书按OK




它将连接到FTP共享目录。

4 ProFTPD中的匿名FTP访问

我们可以在ProFTPD中创建匿名FTP帐户,只需在ProFTPD配置文件中添加这些条目即可:

nano /etc/proftpd/proftpd.conf

并在文件的最后添加这些条目,

[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group nogroup <Limit LOGIN> AllowAll </Limit> # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # Limit the maximum number of anonymous logins MaxClients 10 # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> ~

现在通过FileZilla连接如下:

注意:由于我们已经在上述步骤中加入了我们的连接,所以我们将使用加密与需求显式FTP通过TLS

如果您尚未配置TLS,则可以使用“ 使用普通FTP”

连接

它将要求信任证书按OK

我们已经使用匿名用户成功连接到服务器。

恭喜! 现在我们已经在Debian Wheezy中成功配置了ProFTPD服务器环境:)

5链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏