作者:Gala彬 | 来源:互联网 | 2023-09-10 00:01
安装ftp服务器
环境:centos8.5(其他版本的centos或者redhat都差不多)
yum -y install vsftpd
vsftpd安装后会自动创建ftp用户
管理vsftpd相关命令
启动vsftpd: service vsftpd start
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
开机启动:chkconfig vsftpd on
防火墙命令:
centos8中使用了firewalld代替了原来的iptables
查看防火墙状态:systemctl status firewalld
启动防火墙:systemctl start firewalld
停止防火墙:systemctl stop firewalld
将内核级别的防火墙selinux 关闭 sentenforce 0 (临时关闭,重启后还会开启)
我们要关闭防火墙
ftp服务器配置
ftp服务的基本信息
ftp服务的基本信息
软件安装包: vsftpd
默认发布目录: /var/ftp
协议接口: 21/tcp
服务配置文件: /etc/vsftpd/vsftpd.conf
报错id解析:
500 ##文件系统权限过大
530 ##用户认证失败
550 ##服务本身功能未开放
553 ##本地文件系统权限过小
匿名登录
修改ftp的配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #匿名用户可以登录
默认匿名用户登录时采用的是系统的ftp用户身份
chgrp ftp /var/ftp/pub ##更改pub目录的所有组为ftp
chmod 775 /var/ftp/pub ##更改pub目录权限
在里面创建一个文件a.txt echo "this is a anonymous catalog" > a.txt
systemctl restart vsftpd 重启服务器
用ftp客户端软件匿名登录
但是此时没有办法上传文件,因为没有开启匿名用户读权限
允许匿名用户上传
修改ftp的配置文件
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anonymous_enable=YES
systemctl restart vsftpd 重启服务器
匿名登录之后可以上传文件
匿名用户家目录修改
anon_root=/public ##将匿名用户的家目录改为指定目录
重启后匿名访问就直接访问/public目录
匿名用户其他配置
匿名用户使用的身份修改
chown_uploads=YES
chown_username=student
chown_upload_mode=0644
匿名用户是否可以下载
anon_world_readable_only=YES|NO
匿名用户是否可以删除文件
anon_other_write_enable=YES|NO
最大连接数
max_clients=2
本地用户登录
本地用户是否可以登录
local_enable=YES|NO ##本地用户是否可以登陆
重启服务器登录后可以进入到其他目录
锁定本地用户(本地用户登录后只能进入到他自己的home目录下)
chroot_local_user=YES ##锁定用户,用户只能在自己的目录中浏览文件
allow_writeable_chroot=YES
systemctl restart vsftpd 重启后生效
当本地用户登录后就直接进入到/home/fyz目录下,其他目录不能访问, 这里的本地用户是指你能够登录电脑系统的用户
我的本地用户是fyz,登录后
修改本地目录的家目录
local_root=/dir #本地目录登录后就会进入到/dir这个目录中
限制本地用户登录黑名单
/etc/vsftpd/ftpusers ##用户永久黑名单
/etc/vsftpd/user_list ##用户临时黑名单
我们先创建一个本地用户用户测试
useradd user1
测试登录
在黑名单中加入user1
vim /etc/vsftpd/ftpusers
重启systemctl restart vsftpd
用客户端进行登录
服务器拒绝访问
参考文章:
https://blog.csdn.net/qq_41830712/article/details/86634199
https://blog.csdn.net/bluishglc/article/details/42399439