CentOS6.6下搭建vsftpd+PAM认证

分类:CentOS运维 阅读:54670 次

一、简介

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。[2]

vsftpd是一款在Linux发行版中最受推崇的ftp服务器程序。特点是小巧轻快,安全易用。

LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等。Red Hat Enterprise Linux中默认安装的是vsftpd。

二、vsftpd工作方式

2.1、vsftp工作模式

vsftp分为主动模式和被动模式:

主动模式: Server 20端口>Client

被动模式:Server **端口----- Cilent

w2.2、vsftp用户类型

匿名用户:

ftp 或anonymous

本地用户:

以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的帐号.用真实帐号登录后,其登录的目录为用户自己的目录,该目录在系统建立帐号时系统就自动创建。

虚拟用户:

账户信息存放在独立的数据库文件或者数据库内;

2.3、vsftp服务

Very secure FTP Daemon

官方网站;http://vsftpd.beasts.org/

服务的程序和脚本:

服务程序:/usr/sbin/vsftpd

启动脚本:/etc.init.d/vsftpd

主配置文件:/etc/vsftpd/vsftpd.conf

2.4、vsftp主配置文件参数说明

[root@woon ~]# vim /etc/vsftpd/vsftpd.conf

# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd

# predicted this attack and has always been safe, reporting the size of the

# raw file.

# ASCII mangling is a horrible feature of the protocol.

#ascii_upload_enable=YES

#ascii_download_enable=YES

;是否启用ASCII方式传送文件,一般我们不需要这个格式。

#

# You may fully customise the login banner string:

#ftpd_banner=Welcome to blah FTP service.

;登陆FTP服务器,所提示的欢迎信息

#

# You may specify a file of disallowed anonymous e-mail addresses. Apparently

# useful for combatting certain DoS attacks.

#deny_email_enable=YES

# (default follows)

#banned_email_file=/etc/vsftpd/banned_emails

;若是启用以上两个选项,则可以在/etc/vsftpd/banned_emails中建立黑名单。

#

# You may specify an explicit list of local users to chroot() to their home

# directory. If chroot_local_user is YES, then this list becomes a list of

# users to NOT chroot().

#chroot_local_user=YES

;设置为yes时,用户不能登录到根目录意外的目录

#chroot_list_enable=YES

# (default follows)

#chroot_list_file=/etc/vsftpd/chroot_list

;当登陆FTP服务器时,被列在chroot_list文件中的用户,不可以访问FTP根目录以外的目录。

#

# You may activate the "-R" option to the builtin ls. This is disabled by

# default to avoid remote users being able to cause excessive I/O on large

# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume

# the presence of the "-R" option, so there is a strong case for enabling it.

#ls_recurse_enable=YES

; 是否可以使用ls R命令

#

# When "listen" directive is enabled, vsftpd runs in standalone mode and

# listens on IPv4 sockets. This directive cannot be used in conjunction

# with the listen_ipv6 directive.

listen=YES

;此项为YES时,vsftpd运行于stand-alone模式下

#

# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6

# sockets, you must run two copies of vsftpd with two configuration files.

# Make sure, that one of the listen options is commented !!

#listen_ipv6=YES

; ipv6 监听

pam_service_name=vsftpd

;设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下

userlist_enable=YES

; 用户列表中的用户是否允许登录ftp服务器

tcp_wrappers=YES

;tcp_wrqppers作为主机访问控制

此外还有许多参数未出现,列举常用参数

Idle_session_timeout=300客户端若在300秒之内没有任何操作,则服务器自动断开。

max_clinet=0

最大连接数量(stand-alone模式下)

max_per_ip=0

每个客户端最大连接ftp服务器的连接数

local_max_rate=0