目录
一、 FTP服务的定义
二、 FTP服务的工作原理
控制连接:
数据连接:
三、 FTP服务搭建过程
匿名用户登录:
当地用户登录:
假造用户登录
一、 FTP服务的定义
FTP(File Transfer Protocol)即文件传输协议,是用于在网络上举行文件传输的尺度协议。它运行在 TCP/IP 协议栈之上,接纳客户端 - 服务器(C/S)架构。通过 FTP 服务,用户可以将文件从当地盘算机(客户端)上传到远程服务器,也可以从远程服务器下载文件到当地盘算机。
二、 FTP服务的工作原理
控制连接:
- 当客户端想要访问 FTP 服务器时,首先会创建一个控制连接。这个控制连接利用 TCP 协议,默认端口是 21。通过这个连接,客户端可以向服务器发送死令,如登录、列出文件目录、切换目录等操纵的指令。
- 比方,当用户在 FTP 客户端软件中输入服务器地点并尝试连接时,就会创建这个控制连接。
数据连接:
- 当须要传输文件数据(上传或下载)时,会创建一个单独的数据连接。数据连接的端口是动态分配的,它可以是主动模式(服务器主动连接客户端)或者被动模式(客户端主动连接服务器)。
- 好比,在主动模式下,服务器会利用端口 20 主动向客户端发起数据连接;而在被动模式下,服务器会告知客户端一个临时的端口号,然后客户端去连接这个端口来举行数据传输。
三、 FTP服务搭建过程
1. 我这里利用:服务端192.168.180.110,客户端192.168.180.120
2. 均关闭防火墙
- systemctl stop firewalld
- setenforce 0
复制代码 3. 提前搭建好当地yum源,详细搭建过程可以查看我之前发的博客,里面有详细步骤当地yum源https://blog.csdn.net/m0_68472908/article/details/143856929?spm=1001.2014.3001.5501
当统统的准备工作做好后,就可以开始搭建FTP服务了
这里我会一次演示匿名用户登录、当地用户登录以及假造用户登录的搭建过程
匿名用户登录:
FTP-server
1. 安装vsftpd
2. 进入主配置文件修改配置
- vim /etc/vsftpd/vsftpd.conf
复制代码 将当地用户登录修改为NO,表示克制当地用户登录
允许匿名用户上传文件,取消解释
允许匿名用户创建目录,取消解释
3. 开启服务
4. 修改FTP目录权限
5. 创建测试文件
- cd /var/ftp/pub/
- touch text.txt
复制代码
FTP-client
1. 安装FTP
2. 创建测试文件
3. 连接服务端
匿名用户访问的用户是ftp,密码为空直接回车
上传测试文件
- cd pub
- put client-text.txt
复制代码
下载测试文件
查看,都彼此有了测试文件
当地用户登录:
FTP-server
1. 进入主配置文件
- vim /etc/vsftpd/vsftpd.conf
复制代码 将anonymous_enable修改为NO,克制匿名访问
将local_enable修改为YES,开启当地用户访问
添加内容
chroot_local_user=YES,限制当地用户只能访问本身的目录
allow_writeable_chroot=YES,用户主目录具有写入权限
- chroot_local_user=YES
- allow_writeable_chroot=YES
复制代码 2. 创建用户
3. 重启服务
4. 创建测试文件
要进入text用户的家目录创建文件
- cd /home/text/
- touch text02.txt
复制代码
FTP-client
1. 创建测试文件
2. 登录服务器
利用text用户登录
上传文件
下载文件
查看
假造用户登录
FTP-server
1. 创建假造用户列表
- cd /etc/vsftpd/
- vim vusers.list
复制代码
2. 将用户列表文件转换为数据库文件,并用哈希算法加密,并修改两个文件的权限
- db_load -T -t hash -f vusers.list vusers.db
- chmod 600 vusers.*
复制代码
3. 创建FTP根目录及假造用户映射的系统用户,并给目录设置权限
- useradd -d /var/ftproot -s /sbin/nologin virtual
- chmod 755 /var/ftproot
复制代码 4. 设置假造用户的PAM认证文件
- vim /etc/pam.d/vsftpd.vu
- #%PAM-1.0
- auth required pam_userdb.so db=/etc/vsftpd/vusers
- account required pam_userdb.so db=/etc/vsftpd/vusers
复制代码 db=/etc/vsftpd/vusers:这个最后的vusers这个名字,是我们刚刚创建的用户列表的名字,要一致,不能堕落
5. 配置主配置文件
- vim /etc/vsftpd/vsftpd.conf
复制代码 设置PAM文件路径
添加内容
- guest_enable=YES
- anon_umask=022
- guest_username=virtualuser_config_dir=/etc/vsftpd/vusers_dir
- allow_writeable_chroot=YES
复制代码
guest_enable=YES //开启假造用户
anon_umask=022 //掩码
guest_username=virtual //指定假造用户为virtual
user_config_dir=/etc/vsftpd/vusers_dir //创建差别假造用户的配置文件存放目录
allow_writeable_chroot=YES //具有写入权限
6. 创建目录
- mkdir /etc/vsftpd/vusers_dir
- cd vusers_dir/
- touch zs ls
- vim zs
- anon_upload_enable=YES //允许上传文件
- anon_mkdir_write_enable=YES //允许创建目录
复制代码
7. 重启服务
8. 创建测试文件
- cd /var/ftproot/
- touch text03.txt
复制代码 FTP-client
1. 创建测试文件
2. 登录
3. 上传文件
4. 下载文件
到这里实验三个步骤就完成了!!!⭐
扩展内容
vsftpd有两个文件,分别是:
1. ftpusers:控制连接拒绝用户登录
2. user_list:数据连接段
user list_enable = no:禁用user_list文件
user list_enable = yes:用user_list文件
userlist_deny = yes:user_list文件中定义的用户拒绝登录
userlist_deny = no:仅允许user_list中定义的用户登录
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |