VSFTP 基础
VSFTP
软件信息
服务端软件名: vsftpd
客户端软件名:ftp
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
服务名:vsftpd
端口:20、21、指定范围随机
配置文件:/etc/vsftpd/vsftpd.conf
登录验证方式
匿名用户验证
用户账号名称: ftp或anonymous
用户账号密码: 无密码
工作目录: /var/ftp
默认权限: 默认可下载不可上传,上传权限由两部分组成(主配置文件和文件系统)
本地用户验证
用户账号名称:本地用户(/etc/passwd)
用户账号密码: 用户密码(/etc/shadow)
工作目录:登录用户的宿主目录
权限:最大权限(drwx——)
安装
yum install -y vsftpd
匿名用户
注意: 在客户端登录后,默认情况下是可以下载的,但不能上传
-
实现可以上传
a. anon_upload_enable=YES
b. 在/var/ftp/下创建上传目录
c. 修改上传目录的权限或所有者,让匿名用户有写入权限vim /etc/vsftpd/vsftpd.conf 取消 anon_upload_enable=YES 注释 mkdir /var/ftp/upload chomd o+w /var/ftp/upload systemctl restart vsftpd
-
实现创建目录和文件其他操作
non_mkdir_write_enable=YES 允许创建目录
anon_other_write_enable=YES 开放其他写入权(删除、覆盖、重命名)
vim /etc/vsftpd/vsftpd.conf 取消 non_mkdir_write_enable=YESS 注释 添加 anon_other_write_enable=YES
-
用户进入某个文件夹时,弹出相应的说明
a. 在对应目录下创建 .message 文件,并写入相应内容
b. 确认dirmessage_enable=YES是否启用
c. 尝试却换目录查看效果(同一次登录仅提示一次)vim /etc/vsftpd/vsftpd.conf 确认 dirmessage_enable=YES 是否启用 vim /var/ftp/upload/.message wecome ftp server!!!
-
实现上传的文件可下载
默认情况下开放上传权限后,上传的文件是无法被下载的,因为文件的其他人位置没有r权限
设置anon_umask=022,可以让上传的文件其他人位置拥有r权限, 然后才能被其他人下载vim /etc/vsftpd/vsftpd.conf 添加 anon_umask=022
本地用户
实验需求与流程:
-
服务端需要创建用户并设置密码(所创建的用户,不需要登录操作系统,仅用来登录VSFTP)
useradd -s /sbin/nologin username
-
将所有用户禁锢在自己的家目录下
注: 默认没有禁锢用户时,客户端登录后可以随意切换目录,查看文件所在位置和文件名
开启用户家目录限制, 限制所有用户不能随便切换目录
vim /etc/vsftpd/vsftpd.conf 取消 chroot_local_user=YES 注释 systemctl restart vsftpd
-
将部分用户禁锢在自己的家目录下
vim /etc/vsftpd/vsftpd.conf 取消 chroot_list_enable=YES 注释 取消 chroot_list_file=/etc/vsftpd/chroot_list 注释 将用户写进白名单 systemctl restart vsftpd
开启白名单功能,允许白名单中的用户随意切换目录
白名单文件所在位置(需自己创建)
- 配置文件: /etc/vsftpd/ftpusers
所敌人
- 修改被动模式数据传输使用端口
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=35000
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- 如何监控每一个产品的生产质量?
- Portraiture专业的磨皮滤镜支持Ps以及Li软件插件
- Fortran 与 C 数组传递的三种方式
- fortran中三种数组传递方式
- c和fortran混编
- C/C++中void用法总结
- 亿级流量微服务架构,如何做好DevOps自动化测试?
- 固德威:光伏逆变器全球前十,却难掩经营窘境
- 花上百万元用three.js开发的元宇宙空间,在线大型车展参考案例
- 如何规范地发布一个现代化的 NPM 包?
- 在 KubeGems 上部署 ChatGPT 飞书机器人
- Prometheus Operator中探针的使用
- 深入浅出!ChatGPT背后的原理详解
- Jupyter Notebook 速查表
- react脚手架配置px自动转rem
- 配置无须导入react就可以使用jsx
- react的classnames库,配合sass实现动态样式
- websocket学习记录
- Promise知识梳理
- 闭包的玩法