• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
百分百
http://www.qrw100.com
博客园    首页    新随笔    联系   管理    订阅  订阅

vsftp的安装与配置

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。

在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。在稳定方面,VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据Red Hat的Ftp服务器(ftp.redhat.com)的数据,VSFTP服务器可以支持15000个并发用户。

在windows下架设过FTP的朋友都知道,那个目录用户关系相当明了。新建用户,设置这个用户可访问的目录即可。
而在Linux下的vsftp的模式是完全不同于windows下的FTP的。往往都是利用系统用户做为FTP登录用户,且FTP目录即为该系统用户中的home目录。具体配置与用户创建请参见如下。

配置开始

下面我们来看看vsftp的安装,以redhat为例,从光盘里面提取vsftp的rpm安装文件
~]# rpm -ivh ./vsftpd-2.0.5-16.el5_4.1.x86_64.rpm

安装完成后编辑vsftp配置文件,配置文件在/etc/vsftpd/vsftpd.conf,常规配置以下内容即可,具体配置说明请参考网络上的资料。

#端口配置-----------
connect_from_port_20=YES
listen_port=21
listen=YES
#匿名用户配置,因我们的实例中是未开通匿名用户的,所以以下选项都设置为NO
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_max_rate=80000

#/etc/passwd users priv
local_enable=YES
hide_ids=YES
write_enable=YES
local_umask=022
#设置用户的chroot权限,用户列表存放于chroot_list
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

####以下配置请参考网络资料
dirmessage_enable=YES

xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
#
idle_session_timeout=600
#data_connection_timeout=120

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

保存退出后,开始配置用户与用户目录。

上面我们讲到,vsftp都是利用系统用户做为FTP登录用户,且FTP目录为用户的根的目录,因此这里我们需要添加用户。

#--创建一个用户组为ftpuser,将所有FTP用户创建到ftpuser组内。
~]# groupadd ftpuser
#--创建ftptest用户到ftpuser用户组,并直接设定/webroot目录为用户的根目录,该用户主要用于维护webroot目录下的文件,因此用户目录设置为webroot。同时为该用户设置密码。
~]# useradd -g ftpuser ftptest -b /webroot
~]# passwd ftptest
#--为了安全起见,我们还必须禁止该用户禁止登录系统
~]# chsh -s /sbin/nologin ftptest
#--将该用户加入到chroot_list列表,禁止该用户登录FTP后chroot。然后启动vsftpd服务即可。
~]# service vsftpd start

到此为止,FTP架设基本完成。

可以使用ftp://xx.xx.xx.xx连接该服务器,使用ftptest用户登录后,测试上传下载。此时发现该用户无权限进行任何操作。原因是因为/webroot这个目录虽然是ftptest用户的用户目录,但权限属主并不是ftptest。

此时我们还需要为/webroot设置ftptest的所有操作权限。注意,在某些情况下可能还需要保留/webroot原属主权限设置。因此这里设置权限我们将用到 setfacl 文件访问控制列表来进行设置。
~]# setfacl -R -m u:ftptest:rwx /webroot
命令说明:
-R  递归/webroot目录下所有目录文件
-m  设置/webroot的用户权限
u:ftptest:rwx,u表示设置用户ftptest的rwx三个权限

现在ftptest就拥有/webroot目录的rwx三个权限了。再次连接ftp服务器进行操作,操作正常。

大功告成!!

posted @ 2012-01-11 10:06  爱尚美  阅读(1494)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3