ftp介绍
ftp:file transfer proto是互联网中最老牌的文件传输协议
vsftpd安装
1.yum install vsftpd -y
2.关闭selinux和firewalld
selinux:
[root@rhel7_node1 ~]# getenforce
Enforcing ##由getenforce可以查看出:selinux是开启状态
关闭selinux:
vim /etc/sysconfig/selinux
SELINUX=disabled ##设置为disabled
reboot ##然后重启一下
firewalld:
关闭firewalld
systemctl stop firewalld
systemctl disable firewalld
3.如果想在xixi_node里面使用lftp命令,则要先进行安装,相当于火狐浏览器一样,是用于浏览的软件【不是安装vsftpd,因为vsftpd是服务】
systemctl start vsftpd
,systemctl enable vsftpd
- 安装lftp:
yum install lftp -y
ls
后如果可以列出信息,代表可以被访问,如果列不出信息,则代表不能被访问
- ssh root@172.25.254.25
vsftpd基本信息
- 服务名称:vsftpd.service
- 配置目录: /etc/vsftpd
- 主配置文件: /etc/vsftpd/vsftpd.conf
- 默认发布目录: /var/ftp
命令 | 查看内容 |
---|---|
rpm -ql vsftpd | 服务名称:vsftpd.service |
默认发布目录: /var/ftp | |
rpm -qc vsftpd | 配置目录: /etc/vsftpd |
主配置文件:/etc/vsftpd/vsftpd.conf |
- 报错信息:
报错内容 | 报错信息 |
---|---|
500 | 权限过大 |
530 | 认证失败 |
550 | 程序本身拒绝 |
553 | 文件系统权限限制 |
匿名用户访问控制
1.匿名用户访问
命令 | 表示 |
---|---|
lftp 172.25.254.24 | 当访问ftp服务时没有加入用户认证为匿名访问 |
lftp 172.25.254.24 -u westos | 本地用户访问 |
本地访问时可以先看该用户是否存在
- 使用匿名访问与本地用户访问方式
2.vim /etc/vsftpd/vsftpd.conf
查看主配置文件
注意:更改完配置文件后,一定要对vsftpd服务进行重启
- 控制匿名用户登陆
anonymous_enable=YES|NO
- 家目录控制
anon_root=/software
之前看到的内容是在/var/ftp,更改后所看到的就是/software目录下的内容
- 上传控制
anon_upload_enable=YES|NO
想要上传xixi_clone的密码到xixi里面,但是此处报了两次错。550(程序本身拒绝)553(文件系统权限限制)
1.如果没有开启匿名用户上传功能,即此处是NO,则会报错550
2.此时打开上传功能即可,再次上传则提示553
我们先给他个满权限试试
3 .我们先给他个满权限试试
chmod 777 /var/ftp/pub
之后会发现给满权限后会有一个报错:500(权限过大)
默认的发布用户是不可写的,即如果权限超过755后,别人再用ftp访问的时候,服务直接就会进行限制
此时xixi_clone里面的内容就成功上传到xixi里了
- 下载控制
anon_world_readable_only=NO ##匿名用户可以下载不能读的文件
密码上传后如果想要进行下载,此时会先报550
我们可以先使用man 5 vsftpd.conf
先进行查看,下图表示了:“如果是开启的,匿名用户只能下载他可读的文件,即匿名用户不能下载其不可读的文件”,注意它本身是YES,所以想要下载的时候要添加到配置文件中的应为NO