提起ftp我们并不陌生,它在经常走进我们的生活中,利用它可以实现用户的上传和下载等内容,想知道我们上传下载文件背后的秘密吗?
ftp的用户有三种:系统用户、匿名用户和虚拟用户,在这里我就先介绍一下系统用户和虚拟用户的相关内容…….
一、实现用户登录前需要做好哪些准备呢?
1、下载yum源:
2、yum install vsftpd 安装vsftpd包
3、rpm -ql vsftpd 查看vsftpd包的列表
/var/ftp 表示ftp服务的根目录
4、查看ftp的家目录(ftp用户就是我们匿名用户所对应的用户)
6、service vsftpd start 启动服务
7、iptables -L -n 我们必须确保防火墙是关着的
8、在物理主机上尝试匿名登录
9、关闭selinux
10、访问ftp://172.16.66.7/pub/
二、系统(也包括匿名用户)用户的上传和下载
1、添加一个系统用户
2、在物理主机上使用用户登录一下试试
3、重启服务后,登录用户上传文件
1)首先登录hadoop用户上传文件看能否成功
2)登录匿名用户ftp上传文件看看能否成功
我们发现刚创建的系统用户能上传文件,而匿名用户不能上传文件,怎么解决这个问题呢?
4、编辑配置文件 vim vsftpd.conf 内容修改如下
5、查看以下内容,并修改ftp的权限
6、重新登录匿名用户看看能否上传下载和删除文件
修改配置文件后,我们所期望结果的竟然都实现了,好神奇啊!
查看/var/ftp/upload 发现我们所创建的目录存在
想了解更多的知识吗?咱们继续
三、是否隐藏文件信息、是否传输到日志
1、编辑配置文件 vim vsftpd.conf
2.1 是否隐藏文件
ls /var/ftp/upload/
vim /var/ftp/upload/.message 编辑文件内容如下
登录到ftp查看
2.2 是否传输到日志
查看日志
登录ftp
tail /var/log/vsftpd.log 查看登录过用户后的日志
四、禁锢用户
首先到物理主机上登录hadoop用户后抓包
tcpdump -i eth0 -nn -X -vv tcp port 21 and ip host 172.16.66.7 抓包
发现用户的密码也是明文的,这是很不安全的,这样我们就需要禁锢用户于其家目录中。
如何禁锢用户呢?
1、vim vsftpd.conf 修改如下内容
2、此时先不重启系统,创建chroot_list用户
touch chroot_list
3、 vim chroot_list 添加用户
(注意:只有写在此文件中的用户才能被禁锢)
4、重启服务后登录用户
!se 重启服务
5、如果用户多的话一个一个的添加岂不是太慢了?有什么好方法呢?来教你一招!让所有的用户都禁锢
vim vsftpd.conf 修改内容如下
重启系统,登录后会发现所有用户都被禁锢
补充:vim vsftpd.conf 查看里面的内容
我们查看一下 cat /etc/pam.d/vsftpd
五、创建私有CA,让vsftpd能识别证书,安装一个特定的客户端来实现远程连接传输
1、先创建几个目录 再创建一个私钥
2、生成自签证书
3、为证书创建一个私钥
4、生成证书颁发申请
5、vim /etc/pki/tls/openssl.cnf 修改中心目录
6、签署证书
7、下面配置我们的vsftpd能够识别这个证书
vim vsftpd.conf (添加ssl删除功能)
8、安装一个特定的客户端来实现远程连接传输
1、首先下载FlashFXP.zip软件包
2、直接打开此文件内容
3、打开后选择“输入密钥”
4、单击“确定”
5、单击“确定”
6、单击“站点”后选择“站点管理器“
7、新建站点并为站点命名
8、连接到站点
9、单击“接受并保存“
10、连接成功
以上就是ftp的一些常见应用,希望能带给您帮助。