大家好,今天我们来说说VSFTPD的常见功能的实现。
第一个功能
最简单的一个功能,实现匿名用户的下载。用vsftpd实现这个功能只学做两部
1、安装vsftpd
2、启动服务器就能达到要求了,下面我们开完成第一个功能
这样第一个功能就算完成了,你需要做的就是使用微软的资源管理器来测试,或者使用linux自带的lftp工具来测试。这里看见的目录是/var/ftp/,应为匿名登陆使用的用户是ftp,而ftp用户的家目录就是/var/ftp
第二个功能,匿名用户的上传
这个功能就有一定难度了,主要分成一下一个步骤。
1、基于面上的步骤,我们还需要修改配置文件允许匿名用户上传文件和目录,取消27行和31行的注释。
2、创建具有写入权限的目录在/var/ftp/目录下面。 应为/var/ftp这个目录是匿名用户ftp的家目录,所以匿名用户登陆的就是这个目录。(切忌,/var/ftp 这个目录的权限是755千万不能改变。),下面我们就建立一个input的目录,而且权限为777,所有用户可以写入,我们这只讨论用户可以上传,如果你觉得安全性不好,你可以使用系统管理离的知识来加强匿名用户上传目录的安全性。
3、设置selinux,改变bool值和上下文。允许匿名用户上传数据,开selinux时间比较久,等大家耐心等待。
好了,记住,从新启动服务以后,就可以测试了。就自己用上面的方法测试了,我就不重复贴图了,帮51cto节约点宝贵的空间^@^
第三个功能 基于用户的vsftpd上传。
1、建立一个测试用户,使用useradd命令,这个我就不演示了
2、修改配置,把第12行的值改成NO,第二个功能中取消注释的两个地方,现在可以注释掉。
3、设置selinux
下面就可以测试了,先用微软的资源管理器测试,这次使用刚才建立使用用户登陆,这次进入是登陆用户的家目录,而且可以写入数据。
然后使用lftp测试,你会发现,能够登陆,但是有个问题,用户可以cd到根或者是etc目录,这样服务器的机密文件就被暴露了,所以我需要使用chroot功能。
开启chroot功能。取消94行和96行的注释
然后建立/etc/vsftpd/chroot_list文件,因为这个文件开始是不存在的。使用以下命令,把系统所有用户加这个文件,这样所有用户都被chroot了。
从新启动服务器,下面我们再测试一次,使用lftp登陆。这样我再pwd,就不能切换到真实的根下了。
第四个功能控制上传文件的所有者,以及权限。控制文件所有者只能是基于匿名登陆的,我就不测试了。我把修改配置文件的为止贴出来
先看看我们刚才上传的文件所有者及权限。
现在我们修改配置文件,权限是600.
下面的图是修改上传的文件的所有者
好了,FTP的基本配置就到这里。
本文转自 fenghao.cn 51CTO博客,原文链接:http://blog.51cto.com/linuxguest/132636,如需转载请自行联系原作者