如何在 CentOS 7 中安装和配置 FTP 服务器


在本文中,我们将学习如何使用“vsftpd”在CentOS 7上配置FTP服务器。“vsftpd”(Very Secure File Transport Protocol Daemon)是Linux系统上一个安全且快速的FTP服务器。

安装“vsftpd”

以下是安装“vsftpd”的命令,需要使用root用户运行以下命令。

# yum install vsftp ftp –y
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile * base: ftp.iitm.ac.in
* extras: ftp.iitm.ac.in
* updates: ftp.iitm.ac.in
Setting up Install Process
No package vsftp available.
Resolving Dependencies
--> Running transaction check
---> Package ftp.x86_64 0:0.17-54.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================================================================================================
Package Arch Version Repository Size
=================================================================================================================================================================================
Installing:
vsftpd x86_64 2.2.2-21.el6 base 155 k ftp x86_64 0.17-54.el6 base 58 k
Transaction Summary
=================================================================================================================================================================================
Install 2 Package(s)
Total download size: 58 k
Installed size: 95 k
Is this ok [y/N]: y
Downloading Packages:
ftp-0.17-54.el6.x86_64.rpm , vsftpd-2.2.2-21.el6.x86_64.rpm | 58 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : ftp-0.17-54.el6.x86_64
Installing : vsftpd-2.2.2-21.el6.x86_64
Verifying : vsftpd-2.2.2-21.el6.x86_64
Verifying : ftp-0.17-54.el6.x86_64
Installed:
ftp.x86_64 0:0.17-54.el6, vsftpd.x86_64 0:2.2.2-21.el6
Complete!

配置“vsftpd”

我们需要编辑“vsftpd”配置文件来保护FTP服务器,因为默认情况下它允许匿名用户登录并使用服务器。

# vi /etc/vsftpd/vsftpd.conf

我们必须禁止匿名用户通过FTP访问文件;将anonymous_enable设置更改为NO。

anonymous_enable=NO

允许本地用户登录,将local_enable设置更改为YES。

local_enable=YES

如果要允许本地用户写入目录,则将配置文件中的write_enable设置更改为YES。

write_enable=YES

本地用户将被“chroot监禁”,并且将拒绝他们访问服务器的任何其他部分;将配置文件中的chroot_local_user设置更改为YES。

chroot_local_user=YES

以下是一个简单的配置文件,供您参考:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Save the file with the command :wq .

重启vsftpd服务

我们需要重启“vsftpd”服务,以便应用配置更改。

# systemctl restart vsftpd

我们将设置“vsftpd”服务在启动时启动,以下是启用“vsftpd”启动的命令。

# systemctl enable vsftpd

允许“vsftpd”通过防火墙

我们必须允许默认FTP端口(端口21)通过防火墙。

# firewall-cmd --permanent --add-port=21/tcp

我们需要重新加载防火墙。

# firewall-cmd –reload

创建FTP用户

我们将创建除本地用户之外的FTP用户并分配主目录。

在本教程中,我将创建一个没有主目录的用户,因此我使用–M而不是–m。

# useradd -M user1 –s /sbin/nologin
# passwd user1

接下来,我们将通过创建一个新目录来设置“user1”的主目录。

# mkdir /var/www/mike
# chmod 755 /var/www/mike

我们必须为FTP上的“user1”提供访问权限。

# chown -R mike /var/www/user1
We can access the FTP server from the client on your favorite browser using the url ftp://192.168.100.108

使用以上信息,我们可以轻松地配置和安装FTP服务器。“vsftpd”是一个简单且非常安全的FTP服务器,我们可以使用本地用户,也可以创建其他用户专门用于FTP“vsftpd”服务器,它还有许多其他功能。

更新于:2019年10月18日

1K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.