t4r23 发表于 2015-3-2 08:26:45

linux系统上搭建vsftp服务

实验环境:
在虚拟机搭建一台linux服务器和一台win7系统客户机。


实验要求:
一,匿名访问FTP服务,并可以上传和下载目录和文件。
二,用户验证访问FTP服务,上传和下载目录和文件。

三,使用user_list用户列表文件,作用户访问限制。
四,建立虚拟用户的账号数据库,并使用虚拟用户访问FTP上传和下载目录和文件。
五,为单独虚拟用户建立独立的配置文件。


实验步骤:
一,匿名访问FTP服务,并可以上传和下载目录和文件。



使用RPM方式安装vsftp服务:





关闭防火墙功能:





开启vsftp服务,使用匿名用户访问下载文件:


在匿名用户站点/var/ftp下建立个名为text.txt文件,并使匿名用户访问下载:








使用匿名用户上传文件:

在客户端建立名为ftp文件:




修改/vsftpd/vsftpd.conf文件



按x键去掉anon_upload_enable=yes前的#号



若要成功上传文件需要将/var/ftp/pub子目录权限放最大




重新加载服务并测试匿名用户上传文件:









二,用户验证访问FTP服务,上传和下载目录和文件。

建立一个名为zhangsan的用户:


分别在服务器和客户端建立个名为zhangsan和lisi的文件并上传和下载:


客户端:



服务器:



使用客户端上传和下载文件:


分别查看服务器和客户端:

服务器:


客户端:




为了安全起见,使用户只能访问自己的宿主目录:
配置vsftpd.conf配置文件:
将chroot_local_user=YES前的#号去掉,wq保存退出,并重新加载服务。


测试用户登录ftp后是否还能访问其他目录:

Ls查看用户只能访问自己的宿主目录:


三,使用user_list用户列表文件,作用户访问限制。
查看user_list文件:



测试列表文件里的用户不能登录ftp服务:


追加一个用户zhangsan,并重新加载服务:




测试用户zhangsan登录ftp


测试结果为登录失败:


测试仅user_list文件里的用户可以访问ftp服务:
在vsftpd.conf配置文件末尾加上userlist_deny=NO,wq保存退出,并重新加载服务:


验证测试结果:在列表里的用户可以登录,不在列表的用户不用登录:



四,建立虚拟用户的账号数据库,并使用虚拟用户访问FTP上传和下载目录和文件。




首先建立名为vuser列表文件,奇数行为用户,偶数为密码:




为了安全起见,应将文件权限设置成600:


创建虚拟用户映射账号,创建FTP根目录:

用户

为虚拟虚拟用户建立PAM认证文件:



建立虚拟用户认证参数,wq保存退出。


配置vsftpd.conf文件添加虚拟用户支持,wq保存退出,并重新加载服务:




测试使用虚拟用户登录:

在客户端创建名为vuser文件,并上传文件。在服务器上查看。




使用虚拟用户lisa登录ftp服务上传文件:



在服务器上查看,上传的文件属主和属组映射的是系统账号ftproot:


使用虚拟用户tom登录,上传文件并在服务器上查看文件属主,属组。


建立文件为tom文件










在服务器上查看虚拟用户tom上传的文件权限同样为600:


五,为单独虚拟用户建立独立的配置文件,使其上传权限为644:

在vsftpd.conf文件末尾添加user_config_dir配置项,




在/etc/vsftpd目录下创建目录为vu_dir,并在其目录下为虚拟用户tom建立单独的配置文件:


指定tom用户上传的文件为644,设置反掩码为022:


在客户端建立文件名为111..txt,并使用tom登录上传查看文件权限:



测试在结果为在服务器上查看tom上传的文件权限为644:



实验完成
页: [1]
查看完整版本: linux系统上搭建vsftp服务