📅  最后修改于: 2020-10-31 13:36:00             🧑  作者: Mango
在研究在CentOS上安装FTP之前,我们需要了解一些有关FTP使用和安全性的知识。 FTP是一种非常有效且完善的协议,用于在计算机系统之间传输文件。 FTP已经使用和完善了几十年。为了通过网络有效地传输文件(具有延迟)或提高速度,FTP是一个不错的选择。不仅限于SAMBA或SMB。
但是,FTP确实存在一些安全问题。实际上,一些严重的安全问题。 FTP使用了一种非常弱的纯文本身份验证方法。因此,经过身份验证的会话应依赖sFTP或FTPS,其中TLS用于登录和传输会话的端到端加密。
有了以上警告,普通的旧FTP仍在当今的业务环境中使用。主要用途是匿名FTP文件存储库。在这种情况下,无需进行身份验证即可下载或上传文件。匿名FTP使用的一些示例是-
大型软件公司仍使用匿名ftp库,允许Internet用户下载共享软件和补丁程序。
允许互联网用户上传和下载公共文档。
某些应用程序会通过FTP自动将加密的,存档的日志或配置文件发送到存储库。
因此,作为CentOS管理员,能够安装和配置FTP仍然是一项设计技能。
我们将使用一个称为vsFTP的FTP守护程序或Very Secure FTP Daemon。 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。
[root@centos]# mkdir /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树的读/写访问权限。
[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 =是
chown_username = ftp
将vsftp所使用的系统用户更改为ftp用户:nopriv_user = ftp
设置自定义横幅,以便用户在登录之前阅读。
ftpd_banner =欢迎使用我们的匿名FTP存储库。所有连接均受到监视和记录。
我们只设置IPv4连接-
听=是
listen_ipv6 =否
现在,我们需要重新启动或启用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>