基于Centos 7的FTP服务器匿名模式

前言:

本操作可用于建立虚拟与主机的文件传输,替代使用命令的scp操作。

匿名用户不代表不要账号。安装vsftpd服务时会自动创建名为“ftp”的用户。

一.关闭防火墙以及SELinux

1.关闭防火墙

systemctl stop firewalld

2.或者添加防火墙放行规则

firwall-cmd --permanent --zone=public --add-service=ftp
firwall-cmd --reload

每次使用FTP服务前务必保证防火墙的关闭状态或者在防火墙规则中放行FTP服务。

3.编辑关闭SElinux

vi /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=enforcing

#将SELINUX=enforcing改为SELINUX=disabled

SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
//使用setenforce 0使SElinux关闭立刻生效

setenforce 0

 

二.安装FTP服务(推荐使用yum安装,rpm需要本地rpm包以及查询该包的版本具体名称才能安装)

yum install vsftpd

 或者

rpm -ivh vsftpd-3.0.2-29.el7_9.x86_64.rpm

 ftp的rpm包具体名称使用rpm -qa | grep vsftpd查询。

三.编辑vsftpd.conf文件

vi /etc/vsftpd/vsftpd.conf

//取消如下几行注释:

//允许匿名访问
anonymous_enable=YES

//允许匿名用户上传文件
anon_upload_enable=YES

//允许匿名用户创建文件写入文件
anon_mkdir_write_enable=YES

//不使用vsftpd的user列表
userlist_enable=NO

//最后几行添加如下配置:

//匿名用户的访问目录
anon_root=/ftp

//匿名用户访问不弹出登录账号密码框
no_anon_password=YES

修改完成配置后启动ftp服务器。

systemctl start vsftpd

//添加到自启项目中

systemctl enable vsftpd

 查看ftp服务启动状态为正常

 四.使用windows的资源管理器进行访问

PS:这一步中可能会出现很多的问题,需要反复修改切换第三步中匿名用户的访问目录配置,并多次重启ftp服务,修改访问目录的权限才能上传下载文件。

 当可以正常访问时会直接进入预先设置的匿名用户访问目录/ftp。

这里我修改了访问的目录为data并重启ftp服务后,windows显示为没有访问权限。

 

每当windows提示无法没有权限时,我们都可以使用以下方法尝试解决。

首先,我们需要先调整以下/data目录的权限(我理解为刷新目录的权限)。

//先设置权限为755就可以先访问data目录了,但是没有上传文件的到此目录的权限。
chmod 755 /data
//所以再次设置权限为777,这时候就可以进行上传和下载操作了。
chmod 777 /data

我尝试过把目录的所属权赋予ftp用户,但是发现这个问题依然无法避免。有知道怎么解决的dalao,可以在评论区提出解决方案,或者指出我在操作时的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值