实验环境
server主机:
172.25.254.29
selinux关闭
火墙开启
dnf安装设定完成
client主机:
172.25.254.129
selinux关闭
dnf安装设定完成
安装lftp
##ftp协议文本浏览器
先安装vsftpd软件
ftp:file transfer proto
互联网中最老牌的文件传输协议
vsftpd安装及启用
安装完成
接着关闭火墙,启动ftp服务
打开服务:
ftp默认不允许匿名用户登录
设置如下
然后可以查到ftp连接的主机ip
然后访问的时候就可以看到 成功访问
vsftpd基本信息
服务名称: vsftpd.service
配置目录: /etc/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
默认发布目录: /var/ftp
报错信息:
550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败
查看配置目录
主配置文件
这个是默认发布目录(pub为默认发布目录)
匿名用户访问控制
当没有用户认证的用户访问时
接着 建立文件夹
更改配置文件
匿名用户将访问/westos:
上传控制:(上传命令为put)
此时需要在ftp中pub目录下上传文件
需要
更改默认发布目录的权限为775
更改用户组为ftp (第一次没有改用户组一直提示553)
打开目录建立控制:
匿名用户访问建立目录:
打开下载控制:
执行get命令 下载
删除命令控制:
匿名用户上传文件权限设定:
可以看到上传的文件的权限明显不一样
匿名用户上传文件用户身份设定:
如下 用户身份变了
上传速录控制:
先创建一个/mnt下的大文件
再进入ftp开始下载 发现速度保持100k左右
登陆连接默认最大建立50个 如何限定登陆个数?
因为 shell打开有限
我们先设定只能连接3个用户
先连接第一个用户
第二个
第三个用户
当要连接第四个用户的时候
出现 不能连接的情况
当把前三个用户其中一个退出之后
第四个不能打开的FTP就可以看到了
本地用户访问:
关闭本地用户访问:
结果无法访问本地用户:
关闭本地用户可写:
会出现,能够连接ftp但是不能创建目录!
本地用户家目录:
这样连接用户kiosk的内容就是 /var/ftp/pub里面的内容!
本地用户上传权限控制:
会发现 两次上传的文件的权限不同
用户登录控制:
/etc/vsftpd/ftpusers ##永久黑
/etc/vsftpd/user_list ##默认黑
创建用户kiosk为永久黑
会发现用户kiosk无法访问ftp
去掉永久黑的用户kiosk,然后添加用户到默认黑名单
同样无法访问 他的ftp服务
当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,user_list文件也不会生效,本地全体用户(除去ftpusers中的用户)都可以登入FTP
当默认黑名里面有kiosk用户的时候
设置
会发现默认黑名单的用户不会生效
注:当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous
设置如下
会发现把用户锁定到自己的家目录里面,无法区别的目录
锁定用户到自己的家目录中的白名单:
把用户kiosk写入白名单里面
接着发现 连接ftp时候
出现 cd ok,cwd=/ 表示可以切换成功
但是换别的用户是不能切换成功的
锁定用户到自己的家目录中的黑名单:
/etc/vsftpd/chroot_list名单上的用户不可以访问服务端的 / 目录下的内容
会发现用户kiosk不能切换
而其他的可以切换
而别的用户提示切换成功!
虚拟用户访问:
vim /etc/vsftpd/ftp_auth_file 建立认证文件模板
格式为用户名一行,密码一行
在/etc/pam.d/建立虚拟用户认证策略文件名为westos_auth
内容如下
编辑 /etc/vsftpd/vsftpd.conf 的用户认证策略:
获取认证策略
允许虚拟用户登录
登录用户身份为ftp
b_load -T -t hash -f ftp_auth_file ftp_auth_file.db 加密认证文件 -T 转换 -t type -f 指定转换文件
然后重启服务
登陆连接用户user1,user2,user3
虚拟用户家目录的独立设定
编辑 /etc/vsftpd/vsftpd.conf :
$USER意思是各自访问自己的家目录
在配置文件中指定的位置建立家目录:
然后进行连接查看
用户配置独立
编辑 /etc/vsftpd/vsftpd.conf
先将之前的anon全部注释起来
然后编写
在/etc/vsftpd/user_config目录中与用户名称相同的文件为用户配置
编辑vim /etc/vsftpd/user_config/user1
写入 对于user1的功能要求
然后连接user1 的ftp上传文件
可以成功
当连接user2的ftp时候,不能够上传文件