HCRM博客

如何在CentOS上安装和配置FTP服务器?

在CentOS上安装和配置FTP服务,可以按照以下步骤进行操作:

简介

FTP(文件传输协议)是一种基于TCP/IP的应用层协议,用于在客户端和服务器之间进行文件传输,它包括FTP服务器和FTP客户端,其中服务器提供文件服务,而客户端则请求并接收这些服务。

如何在CentOS上安装和配置FTP服务器?-图1
(图片来源网络,侵权删除)

安装FTP软件包

1、安装vsftpd(FTP服务器):使用yum命令来安装vsftpd软件包,如果已经安装了该软件包,再次执行yum命令将会升级到最新版本。

```bash

yum y install vsftpd

```

2、安装FTP客户端:同样使用yum命令来安装FTP客户端软件包。

```bash

如何在CentOS上安装和配置FTP服务器?-图2
(图片来源网络,侵权删除)

yum y install ftp

```

配置FTP服务器

1、关闭SELinux:修改/etc/selinux/config文件,将SELINUX参数的值改为disabled。

```bash

vi /etc/selinux/config

```

如何在CentOS上安装和配置FTP服务器?-图3
(图片来源网络,侵权删除)

在该文件中添加或修改以下行:

```bash

SELINUX=disabled

```

重启系统或执行setenforce 0使修改立即生效。

2、配置FTP数据端口参数:编辑/etc/vsftpd/vsftpd.conf文件,设置被动模式下的高端口范围。

```bash

pasv_min_port=5000

pasv_max_port=5500

```

如果文件中没有这两个参数,手工添加进去。

3、开通防火墙:使用firewallcmd命令开通FTP服务和相应的端口。

```bash

firewallcmd zone=public addservice=ftp permanent

firewallcmd zone=public addport=21/tcp permanent

firewallcmd zone=public addport=50005500/tcp permanent

```

重启防火墙以应用更改:

```bash

systemctl restart firewalld.service

```

4、启动vsftpd服务:使用systemctl命令管理vsftpd服务。

```bash

systemctl start vsftpd # 启动服务

systemctl enable vsftpd # 设置开机自启动

```

5、云平台访问策略配置:如果使用的是云服务器,需登录云服务器提供商的管理平台,开通21端口和高端口范围的访问策略,具体操作方法因云服务提供商而异,可参考其官方文档或联系客服获取帮助。

主动模式与被动模式

1、主动模式:在主动模式下,客户端向服务器的21端口发送命令,然后服务器主动连接客户端的某个端口进行数据传输,由于共享上网技术的存在,主动模式在实际应用中较少使用。

2、被动模式:在被动模式下,客户端向服务器的21端口发送命令后,服务器会打开一个高端口(如50005500之间的端口),并告知客户端该端口号,然后客户端向该端口发起连接并进行数据传输,被动模式是FTP的默认模式,适用于大多数网络环境。

创建用户和目录权限

1、新建FTP用户和目录:为FTP服务创建一个专用的用户和目录,并设置相应的权限。

```bash

groupadd ftpgroup

useradd g ftpgroup d /data/ftp/ftpuser M s /usr/bin/nologin ftpuser

mkdir p /data/ftp/ftpuser

chmod R 755 /data/ftp/ftpuser

```

2、设置FTP用户密码:为新创建的FTP用户设置密码。

```bash

echo "ftppassword" | passwd stdin ftpuser

```

3、配置用户可写目录:在用户的主目录下创建一个可写的子目录,并设置相应的权限。

```bash

mkdir p /data/ftp/ftpuser/upload

chown ftpuser:ftpgroup /data/ftp/ftpuser/upload

chmod 755 /data/ftp/ftpuser/upload

```

配置FTP服务器详细设置

1、备份配置文件:在进行配置更改之前,建议先备份原始配置文件以防万一。

```bash

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup

```

2、设置匿名用户访问(可选):根据需要配置是否允许匿名用户访问,如果允许匿名访问,请确保已启用相关选项并设置了合适的权限掩码。

3、配置本地用户验证访问:通过编辑/etc/vsftpd/vsftpd.conf文件并设置相应选项来启用本地用户验证访问。

```bash

local_enable=YES

write_enable=YES

local_umask=022

chroot_local_user=YES

allow_writeable_chroot=YES

```

4、配置白名单(可选):如果需要限制只有特定的用户才能访问FTP服务器,可以通过配置白名单来实现,编辑/etc/vsftpd/vsftpd.conf文件并添加以下内容:

```bash

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd/user_list

```

将允许访问的用户名添加到/etc/vsftpd/user_list文件中。

5、重启服务:每次修改完配置文件后都需要重启vsftpd服务以使更改生效。

```bash

systemctl restart vsftpd

```

测试FTP服务器

1、创建测试用户和目录:为了测试FTP服务器是否正常工作,可以创建一个测试用户和一些测试文件或目录。

```bash

useradd m testuser

passwd testuser

mkdir p /data/ftp/testuser/upload

chmod R 755 /data/ftp/testuser/upload

```

2、尝试匿名访问(如果启用了的话):使用Windows系统的cmd命令提示符或其他FTP客户端软件尝试连接到FTP服务器并进行匿名登录测试,检查是否可以成功登录并查看匿名用户目录中的文件列表以及是否可以上传和下载文件。

3、尝试本地用户验证访问:使用之前创建的测试用户尝试登录FTP服务器并进行文件上传和下载操作以验证本地用户验证访问是否正常工作,注意在登录时需要输入正确的用户名和密码以及对应的主机地址或IP地址。

FAQs

1、问题1:如何在CentOS上同时安装FTP客户端和服务器?

答案:可以使用yum命令同时安装FTP客户端和服务器软件包。

```bash

yum y install ftp vsftpd

```

2、问题2:如何配置FTP服务器以允许特定用户访问?

答案:可以通过配置白名单来实现只允许特定用户访问FTP服务器,首先编辑/etc/vsftpd/vsftpd.conf文件并添加白名单相关的配置选项(如上文所述),然后将允许访问的用户名添加到/etc/vsftpd/user_list文件中即可,注意在修改完配置文件后需要重启vsftpd服务以使更改生效。

分享:
扫描分享到社交APP
上一篇
下一篇