Linux 管理员 - 安装匿名 FTP


在深入研究在 CentOS 上安装 FTP 之前,我们需要了解一些有关它的使用和安全性的知识。FTP是一种非常高效且完善的协议,用于在计算机系统之间传输文件。FTP 的使用和完善已经有几十年了。如果要通过网络高效传输文件(有延迟)或纯粹的速度,FTP 是一个不错的选择。比 SAMBA 或 SMB 更重要。

然而,FTP 确实存在一些安全问题。实际上,存在一些严重的安全问题。FTP 使用非常弱的纯文本身份验证方法。因此,经过身份验证的会话应依赖于 sFTP 或 FTPS,其中 TLS 用于登录和传输会话的端到端加密。

尽管存在上述注意事项,普通的老式 FTP 在当今的商业环境中仍然有其用途。主要用途是匿名 FTP 文件存储库。在这种情况下,下载或上传文件时无需进行身份验证。匿名 FTP 使用的一些示例是 -

  • 大型软件公司仍然使用匿名 ftp 存储库,允许 Internet 用户下载共享软件和补丁。

  • 允许互联网用户上传和下载公共文档。

  • 某些应用程序会自动通过 FTP 将加密的存档日志或配置文件发送到存储库。

因此,作为一名 CentOS 管理员,能够安装和配置 FTP 仍然是一项设计技能。

我们将使用名为vsFTP或 Very Secure FTP Daemon 的 FTP 守护进程。vsFTP 在开发中使用已经有一段时间了。它以安全、易于安装和配置且可靠而闻名。

步骤 1 - 使用 YUM 包管理器安装 vsFTPd。

[root@centos]# yum -y install vsftpd.x86_64

步骤 2 - 使用 systemctl 将 vsFTP 配置为在启动时启动。

[root@centos]# systemctl start vsftpd 
[root@centos]# systemctl enable vsftpd 
Created symlink from /etc/systemd/system/multi-
user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

步骤 3 - 配置 FirewallD 以允许 FTP 控制和传输会话。

[root@centos]# firewall-cmd --add-service=ftp --permanent 
success 
[root@centos]#

确保我们的 FTP 守护进程正在运行。

[root@centos]# netstat -antup | grep vsftp 
tcp6       0       0 :::21       :::*       LISTEN       13906/vsftpd         
[root@centos]#

步骤 4 - 配置 vsFTPD 进行匿名访问。

创建FTP根目录

[root@centos]# mkdir /ftp

将 FTP root 的所有者和组更改为ftp

[root@centos]# chown ftp:ftp /ftp
Set minimal permissions for FTP root:

[root@centos]# chmod -R 666 /ftp/

[root@centos]# ls -ld /ftp/
drw-rw-rw-. 2 ftp ftp 6 Feb 27 02:01 /ftp/

[root@centos]#

在本例中,我们授予用户对整个根 FTP 树的读/写访问权限。

配置/etc/vsftpd/vsftpd.conf”

[root@centos]# vim /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.

我们需要更改vsftp.conf文件中的以下指令。

  • 通过取消注释 anon_mkdir_write_enable=YES启用匿名上传

  • chown 上传文件到系统ftp用户拥有

    chown_上传=是

    chown_用户名 = ftp

  • 将vsftp使用的系统用户更改为ftp用户:nopriv_user = ftp

  • 设置自定义横幅供用户在登录前阅读。

    ftpd_banner = 欢迎来到我们的匿名 FTP 存储库。所有连接都会受到监控和记录。

  • 我们只设置 IPv4 连接 -

    听=是

    监听 ipv6 = 否

现在,我们需要重新启动或HUP vsftp 服务来应用我们的更改。

[root@centos]# systemctl restart vsftpd

让我们连接到 FTP 主机并确保 FTP 守护程序正在响应。

[root@centos rdc]# ftp 10.0.4.34 
Connected to localhost (10.0.4.34). 
220 Welcome to our Anonymous FTP Repo. All connections are monitored and logged. 
Name (localhost:root): anonymous 
331 Please specify the password. 
Password: 
'230 Login successful. 
Remote system type is UNIX. 
Using binary mode to transfer files. 
ftp>