226 Transfer done (but failed to open directory)以及Centos7搭建FTP服务器
·
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,后续在阿里云开通端口21
和30000
,因为本配置使用的被动端口范围是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服务器
第三种方式:使用文件资源管理器
-
首先在文件夹中输入访问ftp服务器的路径 :
ftp://IP
,弹出ftp文件夹错误,找不到文件夹或服务器错误
-
找到控制面板–> 程序–>启动或关闭windows功能–>勾选这几项
-
找到 控制面板 --> 网络和Internet --> Internet选项 --> 高级 选项
- 关闭弹窗,空白处右键选择登陆选项
- 登陆成功
- 如果使用匿名用户,那么输入ftp://IP地址即可访问
- 如果是实体用户,那么输入ftp:账号:密码@ip地址 ,即可访问
5.如何关闭防火墙
systemctl status firewalld.service 查看防火墙状态
systemctl stop firewalld.service 关闭防火墙
systemctl start firewalld.service 开启防火墙
更多推荐
所有评论(0)