今天向大家介绍一下,如何在Linux上配置ftp服务,并且使用三种不同的方式访问Linux系统上的FTP服务。
实验环境:一台windows7系统虚拟机,一台Linux系统虚拟机。
实验目的:搭建FTP文件传输服务,并进行匿名访问、虚拟用户访问和本地用户验证。
匿名访问用户名为ftp或anonymous,提供任意密码(包括空密码)都可以通过服务器认证
安装软件包,关闭防火墙和关闭selinux功能。
在ftp服务中创建一个wen.txt文件
测试(window7)
匿名登录ftp服务
从ftp服务中下载文件
验证
为了区别下载与上传的文件,将原本的名为wen.txt的文件名改为wang.txt。
如果现在就上传的话,是上传不成功的,原因是因为权限不够。
进入/etc/vsftpd/vsftpd.conf配置文件中,按如下修改,然后重新修改。
修改/ftp的权限
再次匿名登录,但是登录不上去。是因为ftp的安全防护作用。
在将ftp权限改回来,然后将/pub权限改到最大。
测试:上传文件后,到Linux上查看。使用删除操作后也到Linux上查看。(结合上图查看)
用户登录除了匿名用户外的其它系统用户
先创建用户,并为用户设置密码
在windows上登录zhangsan用户
上传文件
普通用户可以自由游走,这是不允许的。所以我们要禁锢它。
进入配置文件快速查找。输入/chroot可以快速查到所在位置。
在测试一下,文件被禁锢了
If userlist_deny=NO仅允许这里的用户访问
If userlist_deny=YES (default)默认。
列表user_list中有两种情况:1、允许里面的用户登录2、不允许里面的用户进行登录。
将zhangsan用户添加到user_list目录下
测试zhangsan用户登录:直接登录失败,不让你登录
在进入配置vsftpd.conf配置文件中,将userlist deny=NO语句添加到配置文件里。(每次编辑vsftpd.conf的配置文件后都需要重新加载一遍才可以成功应用到FTP服务)
在用zhangsan与lisi用户登录测试
虚拟用户登录(独立的账号/密码数据文件(必须关联才可以用))
查看vsftpd目录下的文件
如果不清楚那个是奇数行哪个是偶数行,可是输入:set nu就可以显示前面的行数,执行:net nonu就可以取消行号
将vuser文件转换成数据库文件,目的让下面的pam模块进行认证
提高虚拟用户账号文件的安全性,将文件权限修改为600,以避免数据外泄。
添加虚拟用户的映射账号、创建FTP根目录
编辑数据库文件vi /etc/pam.d/vsftpd.vu
进入配置文件/etc/vsftpd/vsftpd.conf中修改
使用虚拟用户登录
进入配置文件/etc/vsftpd/vsftpd.conf中添加一条语句,作用:为不同的虚拟用户建立独立的配置文件。
配置权限anon_umask=022表示权限的反掩码。实际配置的权限为644。
在windows上登录虚拟用户,然后上传文件,并查看权限。