教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 服务器 > FTP服务器 >

linux下安装vsftpd全流程(2)

时间:2012-03-23 10:32来源:未知 作者:ken 点击:

两种运行模式

像其它守护程序一样,vsftpd提供了standalone和inetd(inetd或xinetd)两种运行模式。简单解释一下,standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此经常应用于对实时反应要求较高的专业FTP服务器。inetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此不适合应用在同时连接数量较多的系统。此外,inetd模式不占用系统资源。除了反应速度和占用资源两方面的影响外,vsftpd还提供了一些额外的高级功能,如inetd模式支持per_IP(单一IP)限制,而standalone模式则更有利于PAM验证功能的应用。

1.inetd运行模式

从某种inetd运行vsftpd可以提供一种不错的功能——per_IP连接限制。这也是vsftpd 1.1.3版本最新推出并推荐的一种运行模式。实现per_IP连接限制要依赖于vsftpd提供的tcp_wrappers支持。如果使用标准的“inetd”,需编辑/etc/inetd.conf文件,并添加下面一行代码:

代码:

$ ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/vsftpd

确保删除或注释掉任何原存的FTP服务语句行。假如没有安装tcp_wrappers,或不需要使用它,可去掉“/usr/sbin/tcpd”部分。然后重载配置文件,命令如下:

代码:

$ kill -SIGHUP 'pidof inetd'

大多数较新的系统采用的是xinetd超级服务守护进程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的内容,如下:

代码:

disable = no

socket_type = stream

wait = no

# 这表示设备是激活的,它正在使用标准的TCP Sockets。

代码:

user = root

server = /usr/local/sbin/vsftpd

# 说明服务程序/usr/local/sbin/vsftpd已被用来控制FTP接入请求,并且该程序是作为root身份运行的(可能瞬间拥有过大的特权)。请确信已经把vsftpd二进制执行代码安装在了“/usr/local/sbin”目录下。

代码:

per_source = 5

instances ?= 200

# 由于安全原因,从一个单一IP地址联入的最大允许数值是5。当前最大连接总数是200。

代码:

no_access ?= 192.168.1.3

# 地址192.168.1.3将被拒绝访问。

代码:

banner_fail = /etc/vsftpd.busy_banner

# 显示给用户当连接被禁止时的文件。不论因任何原因而被拒绝(太多用户,IP被禁止)。

下面一行是产生的例子:

代码:

echo "421 Server busy, please try later." > /etc/vsftpd.busy_banner

log_on_success ?+= PID HOST DURATION

log_on_failure ?+= HOST

这将按照时间顺序日志所有尝试连接的IP地址,无论连接成功与否。假如连接启动了一个FTP服务,其进程ID和使用期也将被载入日志。如果使用的是Red Hat,这个日志信息将出现在/var/log/secure文件中。

最后,重启xinetd,命令如下:

代码:

$ /etc/rc.d/init.d/xinetd restart

需要注意的是,“/etc/xinetd.d”目录中仅能开启一个FTP服务。

2.standalone模式

standalone模式便于实现PAM验证功能。进入这种模式首先要关闭xinetd下的vsftpd,设置“disable = yes”,或者注销掉“/etc/inetd.conf”中相应的行。然后修改“/etc/vsftpd.conf”中的选项为“listen=YES”。

(责任编辑:ken)

TAG标签: linux vsftpd
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容