|NO.Z.00021|——————————|^^ 部署 ^^|——|Linux&VSFTP服务.V03|——|VSFTP部署|匿名验证|
一、VSFTP实验部署:匿名用户验证实验:
### --- 匿名用户验证实验:
~~~ 先关闭服务器和客户机上的防火墙和SElinux
### --- 匿名用户验证实验:
### --- 实验环境:
~~~ centos6.x server21:20.20.20.21 vsftp-server
~~~ centos6.x server22:20.20.20.22 csftp-client
### --- 匿名用户权限控制
anonymous_enable=yes // 启用匿名用户
anon_umask=022 // 匿名用户所上传文件的权限掩码
anon_root=/var/ftp // 匿名用户的FTP根目录
anon_upload_enable=YES // 允许上传文件
anon_mkdir_write_enable=YES // 允许创建目录
anon_other_write_enable=YES // 开发其他写入权限(删除、覆盖、重命名)
anon_max_rate=0 // 限制最大传输速率(0为不限速,单位:bytes/秒)
### --- 实验需要与流程:
~~~ 注意:在客户端登录后,默认情况下是可以下载的,但不能上传
### --- 安装server端vsftpd服务端程序
[root@server21 ~]# yum install -y vsftpd
[root@server21 ~]# service vsftpd start
[root@server21 ~]# chkconfig vsftpd on
### --- 安装client端ftp客户端程序
[root@server22 ~]# yum install -y ftp
### --- 实验配置匿名用户可以正常的上传和下载文件
~~~ 验证:在客户端用匿名用户访问vsftp服务端
~~~ 实验可以上传
~~~ a、anon_upload_enable=YES
~~~ b、在/var/ftp/下创建上传目录
~~~ c、修改上传目录的权限或所有者,让匿名用户有写入权限 // 1、实验可以上传
~~~ a、anon_upload_enable=YES
~~~ b、在/var/ftp/下创建上传目录
~~~ c、修改上传目录的权限或所有者,让匿名用户有写入权限
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): ftp
Password:
ftp> ls
drwxr-xr-x 2 0 0 4096 May 11 2016 pub // 有一个pub目录
~~~ 证明客户端登录的位置没有问题
[root@server21 ~]# touch /var/ftp/atyanqi.txt
ftp> ls
-rw-r--r-- 1 0 0 0 Feb 04 01:36 atyanqi.txt
drwxr-xr-x 2 0 0 4096 May 11 2016 pub
~~~ 验证匿名用户是不可以上传
ftp> put install.log // 失败
550 Permission denied.
~~~ 去服务器上放行匿名用户上传
[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES // 放行匿名用户上传操作
[root@server21 ~]# mkdir /var/ftp/upload // 创建一个上传目录
[root@server21 ~]# chmod o+w /var/ftp/upload/ // 为upload目录为其他用户设置w权限
[root@server21 ~]# service vsftpd restart
~~~ 在客户端验证匿名用户可以正常上传文件
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): ftp
Password:
ftp> cd upload // 切换到upload目录下
~~~ 客户端验证匿名用户可以正常上传文件
ftp> put install.log
226 Transfer complete.
ftp> ls
-rw------- 1 14 50 9615 Feb 04 01:47 install.log
ftp> cd .. // 回到ftp家目录下,不可以上传,针对对应目录释放w权限
ftp> put install.log
~~~ 设置使上传的文件具有下载操作
~~~ 上传的文件下载不了
ftp> get install.log
550 Failed to open file. // 在upload目录下下载文件,失败
ftp> ls // 因为上传的文件没有r权限,只有所有者有r权限
-rw------- 1 14 50 9615 Feb 04 01:47 install.log
~~~ 修改服务器端配置文件释放匿名用户上传的文件具有下载权限
[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
anon_umask=022
[root@server21 ~]# service vsftpd restart
~~~ 验证匿名用户可以正常下载文件
[root@server22 ~]# ftp 20.20.20.21
ftp> cd upload
ftp> put anaconda-ks.cfg
ftp> ls // 新上传的文件具有r权限
-rw-r--r-- 1 14 50 1112 Feb 04 01:54 anaconda-ks.cfg
ftp> get anaconda-ks.cfg // 可以正常下载
226 Transfer complete.
### --- 实验配置允许匿名用户可以对其它文件进行创建目录删除文件,文件改名,文件覆盖
ftp> mkdir abc // 创建目录,不可以
550 Permission denied.
ftp> delete install.log // 删除文件,不可以
550 Permission denied.
ftp> rename install.log lns.log // 文件改名
550 Permission denied.
[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES // 允许创建目录
anon_other_write_enable=YES // 删除文件,文件改名,文件覆盖
[root@server21 ~]# service vsftpd restart
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): ftp
Password:
ftp> cd upload
250 Directory successfully changed.
ftp> mkdir abc // 创建目录,成功
257 "/upload/abc" created
ftp> delete anaconda-ks.cfg // 删除文件
250 Delete operation successful.
ftp> rename install.log ins.log // 文件改名
250 Rename successful.
~~~ 文件覆盖
ftp> put install.log
ftp> ls
-rw-r--r-- 1 14 50 9615 Feb 04 02:05 install.log
[root@server22 ~]# vim install.log // 修改install.log文件内容发生变化,大小发生变化
[root@server22 ~]# ll // 文件大小为6988
-rw-r--r-- 1 root root 6988 Feb 4 10:10 install.log
ftp> put install.log
ftp> ls // 文件大小为6988,说明覆盖了
-rw-r--r-- 1 14 50 6988 Feb 04 02:08 install.log
### --- 用户进入某个文件夹时,弹出相应的说明:
~~~ a、在对应目录下创建.message文件,并写入相应的内容
~~~ b、确认dirmessage_enable=YES是否启用
~~~ c、尝试切换目录好看效果(同义词登录仅提示一次)
[root@server21 ~]# vim /var/ftp/upload/.message
welcome to the vsftpd server on ftp client
[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
dirmessage_enable=YES
[root@server21 ~]# service vsftpd restart
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): ftp
Password:
ftp> cd upload
250-welcome to the vsftpd server on ftp client // 提示信息显示出来了,再次进去就没有提示了
### --- 实现上传的文件可下载
~~~ 默认情况下开放上传权限后,上传的文件是无法被下载的,
~~~ 因为文件的其它人位置没有r权限设置anon_umask=022,
~~~ 可以让上传的文件其他人位置拥有r权限,然后才能被其他人下载
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv007-network
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通