一、FTP服务介绍
FTP服务是用来传输文件的协议
FTP服务器默认使用TCP协议的20、21端口与客户端进行通信(20、21端口都用于服务端)
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接分为主动模式与被动模式
主动模式:服务器主动发起数据连接。(客户端打开端口,服务端主动连接传输)
被动模式:服务器被动等待数据连接。(服务端打开端口,等待客户端连接传输)
二、设置匿名用户访问FTP服务(最大权限)
实验具体步骤
- 安装FTP
- 查询配置文件在哪
- 修改配置文件之前先备份
匿名用户上传文件默认的保存目录在/var/ftp/里面,若需要上传数据,得修改权限为777
-
修改vsftpd.conf配置文件
-
保存退出
-
切换到/var/ftp目录,给文件保存目录设置权限,建议创建一个新的目录(这个目录供客户端匿名用户上传文件),那就不会所有用户都可以读取和写入,更加的安全。
-
开启服务、开机自启动、关闭防火墙、关闭核心防护
-
进入ftp
-
返回Linux系统服务端创建文件
-
返回Windows系统客户端查看
-
下载文件(使用get命令)
由于当前所处的位置在用户的文件夹里面,那么下载之后也会保存在此目录
Windows系统会默认隐藏文件名的后缀
也可以直接下载到桌面,需要进入桌面的位置,然后再进行下载,如果切换盘的话,输入盘号,比如D盘,那么输入D:即可。 -
上传给Linux系统服务端文件(put命令)
匿名不安全
三、本地用户验证访问FTP,并禁止切换FTP以外的用户
默认登录的根目录为本地用户的家目录
-
前面步骤一样,直接从配置文件开始
-
创建新用户并重启服务(已有用户则无需创建)
-
在Windows服务端登录账户
-
可以实现和匿名用户一样的命令,下载、上传文件
上面是用命令字符上传,还可以使用:
可以直接在里面拖,或者复制粘贴
四、修改用户的默认根目录
匿名用户的默认根目录是/var/ftp里面
系统用户的默认根目录是家目录里面
这个是可以更改的,其格式为:
anon_root=/var/www/html
匿名用户/系统用户=想更改的默认目录
五、实现白名单和黑名单的限制
配置文件为:/etc/vsftpd/user_list
需要先在/etcvsftpd/vsftpd.conf里面配置是否启用
代表在这个文件里面的用户为黑名单用户,无法正常登录
- 进入user_list文件添加用户
- 进入Windows客户端验证