深度解析vsftpd服务


Vsftpd安装详细文档
需求:
a.匿名用户不可以登录和访问ftp服务器(因为是运维部内部的ftp服务器,所以只有运维部的同事才可以登录),即只允许本地用户登录。
b.ftp服务器默认是用户登录到各自的家目录下,要求是所有用户登录到一个共享的目录下,用户有自己的文件夹,此处用运维部同事的名字命令文件夹名字,加以区分!要求是用户对于自己的文件夹是root权限即可以上传、创建、删除、下载等权限、对于其他文件夹可以可以下载,但是不可以删除。对于公共的文件夹用户可以下载、上传、可以删除自己上传的文件,但是不能删除其他用户上传的文件,如图示:
 
 
 用weijunping用户登录到ftp服务器,该用户对weijunping文件具有root权限(即拥有所有权限),但是对于其他文件夹如jiaobin/panweibing等目录可以浏览、可以下载但是无创建、删除文件的权限;对于共享的文件夹如Shared_information/Work_material文件夹具有的权限是可以上传、浏览下载、删除属于自己曾经上传的东西
用chenyanhua登录在共享文件夹Shared_information中上传文件系统漏洞补丁

 
然后退出用weijunping登录进入到该目录中,试图删除该文件
 

vsftpd是一个安全、高速、稳定的FTP服务器
二.安装、启动vsftpd服务
Vsftpd安装很简单
[root@localhost webserver]# rpm -qa | grep vsftpd
vsftpd-2.0.1-6.el4
如果没有安装则
#yum –y install vsftpd
安装完成后使用service vsftpd start启动vsftpd,这样ftp服务器便搭建完成了
但此时还不能访问ftp服务器,因为服务器默认情况下关闭了防火墙,此时我们还需要使用service iptables stop命令关闭防火墙,这样客户端才可以访问ftp服务器。
三.·vsftp默认功能
1>允许匿名用户和本地用户登陆。
2>匿名用户使用的登陆名为ftp或anonymous,口令为空;匿名用户不能离开服
务器没目录/var/ftp,且只能下载不能上传。
3>本地用户的登录名为本地用户名,口令为此本地用户的口令;本地用户可以离开自家目录切换至有权访问的其他目录,并在权限允许的情况下进行下载/上传
4>写在文件/etc/vsftpd.ftpusers中的本地用户禁止登陆。
配置文件详解:
anon_uplood_enable=YES表示匿名帐户可以上传文件
anon_mkdir_write_enable=YES表示匿名帐户可以创建目录
anon_other_write_enable=YES表示匿名帐户可以为文件、文件夹进行更名删除
anon_world_readeable_only=NO表示用户可以浏览FTP目录和下载文件
·权限的设置
 
1>控制允许/不允许访问的主机
在vsftpd.conf文件最后一行有一条指令:TCP_wrappers=YES,表示vsftpd服务器与TCP wrappers相结合,进行主机的访问控制。这样客户机在访问vsftpd服务器时,服务器会检查/etc/hosts.allow和/etc/hosts.deny中的设置以决定请求连接的主机是否允许连接到服务器。这两个文件可以起到简易防火墙的功能
具体设置如下:
想要拒绝某个IP访问此服务器,可以在/etc/hosts.deny文件中加入vsftpd:192.168.0.18:deny
all:all:allow
想要允许某个IP段访问此服务器,可以在/etc/hosts.allow文件中加入
vsftpd:192.168.0:allow
all:all:deny
2>访问速度的限制
在vsftpd.conf文件最后一行加入anon_max_rate= (单位B),这样匿名用户在下载或上传文件最大速度为设置的值。想要对本地用户进行限制,只要加入local_max_rate= (单位B)即可完成对本地用户的速度限制。
3>线程数的限制
在vsftpd.conf文件中加入max_per_ip= (0表示不限制)可以防止一些人使用多线程下载资源,占用服务器的贷款、资源。这样当客户机使用的线程数超过服务器的最大限制时,将出现:There are too many connections from your internet address.
4>最大客户连接限制
在vsftpd.conf文件中加入max_clients= (0表示不限制)可以防止因客户连接数过多而导致服务器内存占满,死机。当客户机数超过服务器所设置的最大值时,客户端会出现:There are too many connected users,please try later.
设置如下:
Listen=YES
Tcp_wappers=YES
Anon_max_rate=64000
Local_max_rate=100000
Max_per_ip=3
Max_clients=10
5>设置用户登录的主目录
默认情况下用匿名用户登录FTP服务器后会进入/var/ftp目录,而本地用户登录服务器后进入/home下的用户主目录中。我们可以在vsftpd.conf文件中加入local_root=/home/website,这样在使用本地用户登录FTP服务器后自动进入/home/website目录中。
一:设置允许或不允许访问的用户
对用户的访问控制由/etc目录下的vsftpd.user_list和vsftpd.ftpuser文件来控制实现。相关配置命令如下:
·userlist_enable=YES    决定vsftpd.user_list文件是否启用生效,YES则生效,NO不生效。
    userlist_deny=NO         决定vsftpd.user_list文件中的用户是允许访问还是不允许访问。如设置为YES,则vsftpd.user_list文件中的用户将不允许访问FTP服务器;如设置为NO,则只有vsftpd.user_list文件中的用户,才能访问FTP服务器(vsftpd.ftpuser文件中没有这些用户,否则还是被禁用)。
·vsftpd.ftpusers文件则专门用于定义不允许访问FTP服务器的用户列表,默认情况下,这两个文件已设置了一些用户不允许访问FTP服务器的系统内部帐户。
6>控制用户是否允许切换到上级目录
在默认配置下,用户可以使用“cd..”命令切换到上级目录。比如若用户登陆后所在的目录为/var/ftp,则在“ftp>”命令行下执行“cd..”命令后用户将切换到其上级目录/var.若继续执行该命令则可以Linux系统的根目录,从而可以对整个Linux文件进行操作。若设置了write_enable=YES.则用户还可以对目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此必须访问用户切换到Linux的根目录,相关的配置项如下:
·chroot_list_enable=YES     设置是否启用chroot_list_file配置项指定的用户列表文件。
·chroot_list_file=/etc/vsftpd.chroot_list       用于指定用户列表文件,该文件用于控制哪些用户可以切换到FTP站点根目录的上级目录
·chroot_local_users=YES       用于指定用户列表文件中的用户,是否允许切换到上级目录。
具体情况有以下几种:
当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录所在的上级目录。
当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到上级目录;未在文件中列出的用户,可以切换到站点根目录所在的上级目录。
当chroot_list_enable=NO,chroot_local_user=YES时,所有用户均不可切换到上级目录。
当chroot_list_enable=NO,chroot_local_user=NO时,所有用户均可切换到上级目录。
accept_timeout=60     设置建立FTP连接的超时时间,单位为秒,默认为60秒
idle_session_timeout=600     设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒,默认为600秒
 
服务器具体设置如下:
#yum –y install vsftpd
#vi /etc/vsftpd/vsfptd.conf
anonymous_enable=NO (不允许匿名用户登录)
local_root=/home/webserver(设置用户登录的主目录)
其他的均保持默认
在/home/webserver目录下创建以各个运维同事名字命名的文件夹,并且更改各自的文件夹名称的所属主、所属组为与文件夹名相同,如:
chown chenyanhua.chenyanhua chenyanhua
对于共享的目录如:Shared_information/Work-material等目录,给予777的权限(755也可以吧,没尝试呢)并且对文件添加t属性(一个目录即使它的所有权限都开放rwxrwxrwx,如果是设置了粘贴位,除非目录的属主和root用户有权限删除它,除此之外的其他用户不能删除这个目录,用户一般是把一个文件的权限都打开,然后来共享文件)
#mkdir Shared_information
#chmod a+t Shared_information
#chmod 777 Shared_information
启动vsftpd服务
#service vsftpd start
 
 
 
 
本文出自 “既然选择了玫瑰” 博客

相关内容

    暂无相关文章