1. 实验环境:
Linux rhel6.5 作为vsftp服务器,IP地址为:202.100.10.3,网络连接——VMnet8;
Win7 虚拟机作为客户机,IP地址为:202.100.10.30,网络连接——VMnet8;
2. 实验步骤:
(1)前期测试
1.1> 首先在服务器上安装vsftp服务,并启动;
1.2> 配置服务器端的IP地址,结果如下;
1.3> 禁用selinux服务;
1.4> 查看ftp服务的共享文件的目录,/var/ftp,可以看到pub目录;
1.5> 配置win7虚拟机的IP地址如下所示,使其与vsftp服务器在同一个网段;
1.6> 测试是否可以ping通vsftp服务器;
1.7> 在客户机上查看vsftp服务器的文件;可以看到成功访问;
1.8> 在客户机的命令行界面尝试连接ftp服务,以匿名身份访问,可以成功访问到pub目录;由下图可以看出,匿名用户访问ftp服务,默认的根目录就是ftp服务器共享文件的目录/var/ftp/,不能轻易访问服务器的其他目录;
1.9> 匿名用户不能访问服务器的其他目录,那么如果是本地用户账户呢?是否可以访问到服务器的其他目录呢?
首先我们在服务器上创建一个本地账户zhangsan,密码123,并在zhangsan的家目录下创建一个文件zhang;尝试用客户机进行远程连接;
1.10> 尝试用客户机进行远程连接;
通过上述示例,可以发现当远程登录本地账户时,除了查看ftp服务器的共享目录的文件外,还可以查看服务器的其他目录,甚至进行其他操作,很容易造成各种风险;所以,针对这种问题,我们可以采取虚拟用户的方式进行解决;
(2)FTP虚拟用户
2.1> 虚拟用户的本地用户映射;
2.2> 建立虚拟用户的数据库文件;
2.3> 虚拟用户身份认证文件;
2.4> 修改配置文件并重启服务;
2.5> 虚拟用户的配置文件如下所示,我们先不做任何配置,可以用建立的虚拟用户进行测试;
2.6> 猜想:用虚拟账户远程登录进去的默认目录为vsftp?
为了将猜想得到验证,所以在vsftp建立一个文件guest,用虚拟用户yaoyao远程连接进行测试,查看是否可以看到新建立的文件;
2.7> 通过下图可以看到,切换到根目录时,依然还是默认的登陆进去的目录,说明虚拟账户建立成功,但是并没有像猜想到的那样看到guest文件,这是由于虚拟用户的权限没有配置;所以看不到guest文件;
2.8> 在如下目录下,配置虚拟用户的权限,Tom用户不做任何配置,rose,yaoyao,cqq用户的配置分别如下所示:
2.9> 分别用四个虚拟账户进行登录,查看各自的权限;
Tom账户登录;默认没有权限;
Rose账户登录;读、写、上传权限;
yaoyao账户登录;读、写、上传、创建文件夹权限;
cqq账户登录;读、写、上传,建文件夹、删除、更名权限;