如何在CentOS上设置和配置FTP服务器

时间:2020-02-23 14:39:01  来源:igfitidea点击:

文件传输协议(FTP)是一种流行且广泛使用的工具,用于通过网络传输服务器和客户端之间的文件。
默认FTP设置的主要问题是与网络上的用户凭证和数据的未加密传输相关的安全风险。
这可能会危及用户帐户详细信息。

最常用的服务器包括vsftpd,pureftpd和proftpd。

在本教程中,我们将介绍如何安装和configurevsftpd服务器,这是一个非常安全的FTP守护程序。

在CentOS上安装FTP服务器

其中我们将使用CentOS 7最小安装进行演示,并root登录以执行命令。

步骤1安装vsftpdpackage

通常,VSFTPD包在默认的CentOS存储库中可用。
运行以下命令以安装FTP服务器。

yum install vsftpd

安装后检查FTP服务状态。

systemctl status vsftpd

如果未启动服务,则可以使用以下命令启动服务。

systemctl start vsftpd

现在我们应该启用FTP ServiceOn系统启动。

systemctl enable vsftpd

步骤2配置VSFTPD

VSFTPD配置文件位于"/etc/vsftpd /"目录处。
所以我们将修改"vsftpd.conf"。
修改之前备份原始文件。

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.origbackup

现在编辑文件。

vi /etc/vsftpd/vsftpd.conf

我们将允许仅访问本地用户的FTP服务器,因此我们将编辑以下参数并修改。

anonymous_enable=NO
local_enable=YES

查找"write_enable"并取消注释设置以允许更改文件系统。

write_enable=YES

找到Anduncomment"Chroot"指令,以防止FTP用户访问其归属目录之外的任何文件。

chroot_local_user=YES

其中我们配置FTP目录以允许在启用CHROOT时上载。
这是推荐的方法。
因此,将以下行添加到"vsftpd.conf"文件。

user_sub_token=$USER
local_root=/home/$USER/ftp

通常VSFTPD可以使用无源FTP连接的任何端口。
其中我们提到了VSFTPD的最小和最大范围的端口范围。

将这些行添加到文件中

pasv_min_port=40000
pasv_max_port=41000

要限制用户,请登录在"UserList_Enable = YES"行后添加以下配置。

userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

现在保存并退出该文件。

RESTARTVSFTPD服务。

systemctl restart vsftpd

步骤3配置防火墙

允许通过防火墙允许FTP端口。

firewall-cmd --permanent --add-port=20-21/tcp
 firewall-cmd --permanent --add-port=40000-41000/tcp

现在重新加载防火墙。

firewall-cmd --reload

步骤4创建FTP用户

添加用户。
用所需的用户名替换"darsh"。

adduser darsh

为用户设置密码。

passwd darsh

现在将用户添加到允许的FTP用户列表中。
为此,请编辑配置文件并添加信用用户名。

vi /etc/vsftpd/user_list

然后保存并退出该文件。

为用户创建上载目录。

mkdir -p /home/darsh/ftp/upload

设置目录权限。

chmod 550 /home/darsh/ftp
chmod 750 /home/darsh/ftp/upload

所有权。

chown -R darsh: /home/darsh/ftp

我们创建了一个带shell访问的用户,如果我们希望我们可以禁用用户的shell访问权限。

usermod -s /sbin/nologin darsh

第5步测试FTP服务器

现在,我们可以使用FTP客户端并访问服务器。
如果我们没有,我会建议使用免费和开源应用程序"filezilla"。

访问FTP服务器

我们可以浏览上传目录并创建文件进行测试。