Linux管理员 - 安装匿名FTP



在深入探讨如何在CentOS上安装FTP之前,我们需要了解一些关于其用途和安全性的知识。FTP是一种非常高效且完善的协议,用于在计算机系统之间传输文件。FTP已经使用和完善了几十年了。对于在网络上以低延迟或高速高效地传输文件,FTP是一个不错的选择。它优于SAMBA或SMB。

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

考虑到上述警告,传统的FTP在当今的商业环境中仍然有用。主要用途是匿名FTP文件存储库。在这种情况下,无需身份验证即可下载或上传文件。匿名FTP的一些示例用途如下:

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

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

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

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

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

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

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

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

[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根目录的所有者和组更改为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来启用匿名上传

  • 将上传的文件的所有者更改为系统ftp用户

    chown_uploads = YES

    chown_username = ftp

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

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

    ftpd_banner = 欢迎使用我们的匿名FTP存储库。所有连接都将被监控和记录。

  • 让我们仅设置IPv4连接 -

    listen = YES

    listen_ipv6 = NO

现在,我们需要重新启动或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>
广告