Centos7-ftp服务器报226错误以及搭建ftp服务器

其实这个226错误主要原因是没有关闭selinux,按照顺序关闭一下就好了
这一篇主要是对centos系统的ftp配置文件做讲解,以及怎么设置匿名用户登陆,并设置匿名用户只读和下载权限
ubuntu18.04具体参考我这篇文章
https://blog.csdn.net/weixin_44232093/article/details/97760997

1.关闭selinux

  • vim /etc/selinux/config| 修改selinux配置文件
  • SELINUX=enforcing| 修改成 SELINUX=disabled
  • :wq!| 保存退出
  • setenforce 0| 使配置生效

2.搭建ftp服务器

下载ftp服务

yum -y install vsftpd

安装成功后,修改fpt配置文件

vim /etc/vsftpd/vsftpd.conf
# 是否允许匿名登录
anonymous_enable=YES
anon_world_readable_only=YES
no_anon_password=YES

# Uncomment this to allow local users to log in.
# 是否允许本地用户访问
local_enable=YES

# 是否有写权限
write_enable=YES

# Default umask for local users is 077. You may wish to change this to 022,
# 新建文件夹 文件所有者可读可写可执行
local_umask=022

# 是否让匿名用户具有创建目录的权限
anon_upload_enable=NO

# Uncomment this if you want the anonymous FTP user to be able to create
# 是否允许匿名用户具有写和创建文件夹的权限
anon_mkdir_write_enable=NO

# Activate directory messages - messages given to remote users when they
# 文档显示目录注意事项
dirmessage_enable=YES

# 是否用log日志记录
xferlog_enable=YES
#
# 端口号20
connect_from_port_20=YES

# You may override where the log file goes if you like. The default is shown
# 日志文件路径
xferlog_file=/var/log/xferlog

# If you want, you can have your log file in standard ftpd xferlog format.
# 日志格式化
xferlog_std_format=YES

# 超时时间 如果操作者在这个时间里没有操作 那么强制离线 这里设置20分
idle_session_timeout=1200

# 传输超时时间
#data_connection_timeout=120

# 通过指令开启服务
#async_abor_enable=YES
#async_abor_enable=YES

#  上传和下载是否使用 ascii 容易被攻击 默认关闭
#ascii_upload_enable=YES
#ascii_download_enable=YES

# 文字说明
ftpd_banner=Welcome to ftp Server !

#  匿名登录要输入邮箱地址
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails
#
#
# 将使用者限制在home目录下 不能访问ftp之外的目录
chroot_local_user=YES
# 访问ftp之外目录的白名单 是否开启 YES标识开启
chroot_list_enable=YES
# 设置白名单路径 YES权限开启后 ,这个文件作为可以访问ftp根目录的用户白名单列表
chroot_list_file=/etc/vsftpd/chroot_list

listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
#YES(可以理解为userlist是一个白名单),NO的话,白名单失效
userlist_enable=YES
# 是否启动userlist为禁止模式
# YES表示在userlist中的用户禁止登录ftp(黑名单)
# NO表示黑名单失效,我们已经让userlist作为一个白名单(白名单)
userlist_deny=NO
# 配置了这一项 匿名用户默认用户名必须添加到此文件中 不然登陆权限错误  ftp为默认用户名
userlist_file=/etc/vsftpd.user_list
# 本地ftp目录根目录路径
local_root=/home/myftp
# 匿名用户登陆后的根目录
anon_root=/home/myftp
tcp_wrappers=YES
# ftp服务器被动模式端口范围
# 如果不关闭防火墙的话只需要开放一个30000端口即可访问ftp了
pasv_enable=YES
pasv_max_port=30000
pasv_min_port=30000
  • 配置后保存退出-重启ftp服务
  • systemctl stop vsftpd.service| 关闭ftp服务
  • systemctl status vsftpd.service | 查看ftp服务状态
  • systemctl start vsftpd.service| 开启ftp服务
  • 查看ftp端口: netstat -antup | grep ftp,可以看到ftp端口为21,后续在阿里云开通端口2130000,因为本配置使用的被动端口范围是30000
    在这里插入图片描述

3.创建ftp用户

  • useradd -d /home/myftp ftpuser| 这里路径和本地ftp目录路径保持一致
  • passwd ftpuser| 设置ftp用户密码
  • vim /etc/vsftpd.user_list |把创建的ftp用户名添加到 userlist_file 对应的文件中,保存退出
  • vim /etc/vsftpd/chroot_list,创建出空的可访问根目录以外的用户白名单
  • 创建local_root对应的本地ftp目录文件夹,我这里是 /home/myftp ,创建后赋予权限 chmod -R 755 ,禁止使用777权限,会导致登陆报500错误

4.登陆ftp

1. 开通阿里云安全组端口权限

在这里插入图片描述

第一种方式:用浏览器访问

  • 访问地址 | ftp:// ip地址

在这里插入图片描述

第二种方式:在服务器中访问

  • 命令行输入 ftp 192.168.1.1 后面替换成你的IP地址
  • 然后输入用户名密码登陆

在这里插入图片描述

ls			查看目录
cd 			进入目录
rm			删除文件/目录
mkdir		创建文件
get			下载文件
put			上传文件
bye			退出ftp服务器

第三种方式:使用文件资源管理器

  1. 首先在文件夹中输入访问ftp服务器的路径 : ftp://IP,弹出ftp文件夹错误,找不到文件夹或服务器错误
    在这里插入图片描述

  2. 找到控制面板–> 程序–>启动或关闭windows功能–>勾选这几项
    加粗样式

  3. 找到 控制面板 --> 网络和Internet --> Internet选项 --> 高级 选项

在这里插入图片描述

  1. 关闭弹窗,空白处右键选择登陆选项

在这里插入图片描述
在这里插入图片描述

  1. 登陆成功
    在这里插入图片描述
  • 如果使用匿名用户,那么输入ftp://IP地址即可访问
  • 如果是实体用户,那么输入ftp:账号:密码@ip地址 ,即可访问

5.如何关闭防火墙

 systemctl status  firewalld.service		查看防火墙状态
 systemctl stop  firewalld.service			关闭防火墙
 systemctl start  firewalld.service			开启防火墙
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐