如何在 Debian Wheezy 和 Ubuntu 14.04 上安装和配置 ProFTPD
在此页
- 1 条初步说明
- 2 安装 ProFTPD
- 2.1 安装:
- 2.2 创建 ProFTPD 用户
本文档描述了如何在 Debian Wheezy 服务器上安装和配置 ProFTPD,它也适用于 Ubuntu 14.04。 ProFTPD 是用于 unix 和类 unix 操作系统的 FTP 守护进程。 ProFTPD 是在 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
2.2 创建 ProFTPD 用户
为此,我将为 ProFTPD 创建一个组 ftpgroup 和用户 srijan。我将限制用户 srijan 的主目录为 /ftpshare
addgroup ftpgroup
adduser srijan -shell /bin/false -home /ftpshare
:~#
现在我们将 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 off 禁用了 ProFTPD 的根用户登录。添加 DefaultRoot 以限制用户只能访问其主文件夹。 DenyGroup 将只允许来自 ftpgroup 的用户访问 ftp 服务器,所有其他连接将被拒绝。
重新启动服务为:
service proftpd restart
有时您会在重新启动服务时遇到错误,例如
我们可以通过编辑文件 /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\)。
州或省名称(全名)[一些-State]:<-- 输入您的州或省名称。
地点名称(例如,城市)[]:<-- 输入您的城市。
组织名称(例如,公司)[Internet Widgits Pty Ltd]:<-- 输入您的组织名称(例如,您公司的名称)。
组织单位名称(例如,部分)[]:<-- 输入您的组织单位名称(例如“IT 部门”)。
通用名称(例如,您的姓名)[]: <-- 输入系统的完全限定域名(例如 \server1.example.com\)。
电子邮件地址 []:<-- 输入您的电子邮件地址。现在出于安全目的,我将使证书仅可读,如下所示:
chmod 0440 /etc/proftpd/ssl/proftpd.key.pem
最后重启ProFTPD服务如下:
service proftpd restart
详情将会
Host=192.168.0.100
Protocol=FTP
User=srijan
Port=可以留空,如果你还没有定制它的另一个端口而不是 21
Password=ftppassword(刚刚在上面创建)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 连接它,如下所示:
按连接:
它将要求信任证书按确定
我们已经使用匿名用户成功连接到服务器。
恭喜!现在我们已经成功地在 Debian Wheezy 中配置了 ProFTPD 服务器环境 🙂
5个链接
- Debian:https://www.debian.org/
- Ubuntu : http://www.ubuntu.com/
- ProFTPD : http://www.proftpd.org/