CentOS7使用vsftpd搭建匿名可访问的FTP服务器(最简单)

CentOS7搭建匿名可访问的FTP服务器(最简单)

所用版本:

  • CentOS7.9

  • vsftpd-3.0.2-25.e17.x86_64

概述

该文档主要为了实现用最简单的操作搭起windows平台和centos平台的FTP服务器,以便于两个平台间的文件传输操作。

实现步骤

第一步:检查是否已安装vsftpd

输入以下命令检查是否已安装vsftpd,显示结果有路径则为已安装,否则未安装。

	rpm -qa | grep vsftpd

下图为已安装示例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cfkp5M7w-1577414273364)(C:%5CUsers%5CYan%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20191217105809411.png)]

第二步:关闭防火墙

为避免由于防火墙策略导致安装失败问题,需要先关闭防火墙,下面给出CentOS7版本下关闭防火墙的操作命令:

# Centos7 中使用 systemctl 命令来管理服务,命令格式如下
# systemctl [start 开启]|[stop 停止]|[restart 重启]|[status 状态][enable 开机启动]| [disable 禁止开机启动] 服务名称
[root@localhost ~]# systemctl start firewalld              # 开启防火墙
[root@localhost ~]# systemctl status firewalld             # 查看防火墙状态
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-08-08 09:18:09 CST; 24s ago           
         # active (running) 表示防火墙开启
     Docs: man:firewalld(1)
 Main PID: 21501 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─21501 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
 
Aug 08 09:18:07 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 08 09:18:09 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
[root@localhost ~]# systemctl disable firewalld            # 永久关闭防火墙(重启生效)
[root@localhost ~]# systemctl stop firewalld               # 临时关闭防火墙(立即生效)
[root@localhost ~]# systemctl status firewalld             # 检查修改
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
         # inactive (dead) 表示防火墙关闭
     Docs: man:firewalld(1)

第三步:关闭Selinux

因为CentOS的所有访问权限都是由SELinux来管理的,为了避免我们安装中由于权限关系而导致的失败,需要先将其关闭,以后根据需要再进行重新管理。


[root@localhost ~]# getenforce                                         # 查看当前的 SELinux 状态
Enforcing
# setenforce 1 可以设置 SELinux 为 enforcing 模式
[root@localhost ~]# setenforce 0                                       # 将 SELinux 的状态临时设置为 Permissive 模式(立即生效)
[root@localhost ~]# getenforce                                         # 检查修改
Permissive
[root@localhost ~]# vim /etc/selinux/config                            
# 编辑 config 文件将 SELINUX=enforcing 修改为 SELINUX=disabled(重启生效)
[root@localhost ~]# cat /etc/selinux/config                            # 检查修改
 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 
 
[root@localhost ~]# sestatus                                  # 查看 SELinux 当前的详细状态
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          disabled
Policy version:                 24
Policy from config file:        targeted

注意:使用 getenforce 命令获取当前 SELinux 的运行状态为 Permissive 或者 Disabled时均表示关闭。

第四步:修改vsftpd配置文件

修改vftpd配置文件,使其可以允许匿名访问。配置文件路径:/etc/vsftpd/vsftpd.conf

使用vi /etc/vsftpd/vsftpd.conf打开配置文件并将以下行取消注释:

#允许匿名访问
anonymous_enable=YES
#允许匿名用户上传文件
anon_upload_enable=YES
#允许匿名用户创建文件夹或文件
anon_mkdir_write_enable=YES
#设置匿名用户的登录目录(如需要,需自己添加并修改)
anon_root=/var/ftp/pub
#打开匿名用户删除和重命名的权限(如需要,需自己添加)
anon_other_write_enable=YES

第五步:赋权限给文件上传目录

必须赋予权限后才能上传下载文件,文件上传目录:/var/ftp/pub

chmod 777 /var/ftp/pub

第六步:重启vsftpd服务

#重启vftpd服务
systemctl restart vsftpd.service
#查看vftpd服务状态
systemctl status vsftpd.service
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上搭建FTP服务器,您可以按照以下步骤进行操作: 1. 安装vsftpd(非加密传输)或proftpd(支持加密传输)软件包。使用以下命令之一进行安装: 对于vsftpd: ``` sudo yum install vsftpd ``` 对于proftpd: ``` sudo yum install proftpd ``` 2. 启动FTP服务器并设置其在系统引导时自动启动。使用以下命令: 对于vsftpd: ``` sudo systemctl start vsftpd sudo systemctl enable vsftpd ``` 对于proftpd: ``` sudo systemctl start proftpd sudo systemctl enable proftpd ``` 3. 配置防火墙以允许FTP流量通过。可以使用以下命令打开FTP传输控制协议(port 21)和被动FTP端口范围(通常是端口 1024-65535): ``` sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-port=1024-65535/tcp sudo firewall-cmd --reload ``` 4. 如果您使用的是vsftpd,可以编辑其配置文件来进行更多设置。使用以下命令打开vsftpd配置文件: ``` sudo vi /etc/vsftpd/vsftpd.conf ``` 根据您的需求进行设置,例如,您可以指定允许登录的用户、限制用户的访问范围等等。完成后保存并关闭文件。 5. 如果您使用的是proftpd,可以编辑其配置文件来进行更多设置。使用以下命令打开proftpd配置文件: ``` sudo vi /etc/proftpd.conf ``` 根据您的需求进行设置,例如,您可以指定允许登录的用户、限制用户的访问范围等等。完成后保存并关闭文件。 6. 如果您使用的是vsftpd,并希望允许匿名用户登录,还需要为其创建一个专用目录。使用以下命令创建目录并设置其权限: ``` sudo mkdir /var/ftp/pub sudo chmod 755 /var/ftp/pub ``` 7. 重新启动FTP服务器以使更改生效: 对于vsftpd: ``` sudo systemctl restart vsftpd ``` 对于proftpd: ``` sudo systemctl restart proftpd ``` 现在您已经成功在CentOS 7上搭建FTP服务器。您可以使用FTP客户端连接到您的服务器并开始传输文件。请确保将安全性和权限设置为符合您的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值