Linux中ftp协议详解
一、ftp介绍
二、vsftpd安装
三、vsftpd基本信息
四、匿名用户访问控制
五、本地用户的访问
六、虚拟用户访问
七 、虚拟用户家目录的独立设定
八、用户配置独立
一、ftp介绍
ftp:file transfer proto 互联网中老牌的文件传输协议
ftp协议提供的软件:vsftpd
二、vsftpd的安装
2.1在rhel7_node1中:
yum install vsftpd -y 安装vsftpd 服务
systemctl start vsftpd 运行服务
systemctl enable vsftpd 设置为开机启动
关闭selinux和firewalld
vim /etc/sysconfig/selinux 配置文件中设置开机关闭selinux重启系统
SELINUX=disabled
重启之后selinux关闭
2.2在rhel7_node2中:
2.2.1. 测试安装发布: (两种方法)
firefox ftp://ip
lftp ip 此访问方式必须能列出资源才算访问成功
首先 :
[root@rhel7_node2 ~]#yum whatprovides */lftp lftp不是服务相当于浏览器
[root@rhel7_node2 ~]# yum install lftp -y 安装lftp
注意:1.vsftpd关闭状态,也可以登录但是无法列出资源。2.匿名用户默认登录的目录为:/var/ftp/
三、vsftpd基本信息
服务名称: vsftpd.service
配置目录: /etc/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
默认发布目录: /var/ftp
报错信息:
550 程序本身拒绝
553 文件系统权限限制
500 权限过大
530 认证失败
[root@rhel7_1 ~]# rpm -qc vsftpd 查看服务主配置路径
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
三、匿名用户访问控制
lftp 192.168.0.10 当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.0.10 -u westos 本地用户访问
每次更改配置文件都要重启服务vim /etc/vsftpd/vsftpd.conf
[root@rhel7_1 ~]# systemctl restart vsftpd
匿名用户登录控制 anonymous_enable=YES|NO
匿名用户登录地点家目录控制anon_root=/run 自定义家目录
匿名用户文件上传控制 anon_upload_enable=YES|NO
注意此文件上传到rhel7_node1/var/ftp/pub中 开放pub目录权限所有用户都可执行
下载控制 anon_world_readable_only=NO NO表示匿名用户可以下载不能读取的文件
目录建立控制 anon_mkdir_write_enable=YES|NO
删除重命令控制 anon_other_write_enable=YES|NO
登陆数量控制: max_clients=2
上传速率控制 anon_max_rate=102400 本地用户不受影响
五、本地用户的访问
每次更改配置文件都要重启服务
vim /etc/vsftpd/vsftpd.conf
[root@rhel7_1 ~]# systemctl restart vsftpd
[root@rhel7_1 ~]# id westos 该用户密码为westos
uid=1001(westos) gid=1001(westos) groups=1001(westos)
[root@rhel7_1 ~]# useradd lee 建立Lee用户
[root@rhel7_1 ~]# passwd lee 设置密码Lee
Changing password for user lee.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
家目录控制 local_root=/run
写权限控制
write_enable=NO|YES 本地用户默认可以创建和删除
上传文件权限控制 local_umask=077
用户登陆控制
/etc/vsftpd/ftpusers 永久黑
/etc/vsftpd/user_list 默认黑与/etc//vsftpd/ftpusers 效果一致
用户登陆白名单 userlist_deny=NO
设定/etc/vsftpd/user_list为白名单 ,不在名单中的用户不能登陆ftp
锁定用户到自己的家目录中设置完成全部本地用户都讲锁定到自己的家目录
chmod u-w /home/*
chroot_local_user=YES
锁定用户到自己的家目录中的白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
[root@rhel7_1 ~]# vim /etc/vsftpd/chroot_list 编辑此文件
[root@rhel7_1 ~]# cat /etc/vsftpd/chroot_list 白名单用户(此文件不存在可以直接编辑)
lee
重启vsftpd服务
锁定用户到自己的家目录中的黑名单
chroot_local_user=NO 此条参数YES即为白名单,NO为黑名单
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
[root@rhel7_1 ~]# vim /etc/vsftpd/chroot_list
[root@rhel7_1 ~]# cat /etc/vsftpd/chroot_list 黑名单用户
lee
同白名单一样即Lee就被锁定在自己的家目录中,而westos可前往其他目录
六、虚拟用户访问
在rhel8_node2中
每次更改配置文件都要重启服务vim /etc/vsftpd/vsftpd.conf
[root@rhel7_1 ~]# systemctl restart vsftpd
注意再次向ftp_auth_file文件中加入虚拟用户都要再次执行加密认证
[root@rhel8_node2 pam.d]# vim /etc/vsftpd/vsftpd.conf
七 虚拟用户家目录的独立设定
虚拟用户默认登录到/vat/ftp/pub目录下
测试效果:
八、用户配置独立