vsftpd 配置




vsftpd 配置

2022-07-20 20:33:44 网络知识 官方管理员

0、关于本文档

本文档是个人的学习整理。允许大家翻阅,摘抄,引用。更欢迎指出其中不对之处。文档的内容主要来自VSFTPD自身文档、个人学习心得以及网络资料,若有类同,实属正常,∶)。

本文档基于RedHatLinux9和VSFTPD-1.1.3-8。如果有不同版本,则有专门文字说明。

1、VSFTPD简述

如果试问哪种FTP服务器最安全?那么在UNIX和Linux中,首推的就是VSFTP(VerySecureFTPDaemon,非常安全的FTP服务器)。顾名思义,VSFTPD设计的出发点就是安全性。同时随着版本的不断升级,VSFTPD在性能和稳定性上也取得了极大的进展。象RedHat、SUSE、Debian、GNU、GNOME、KDE等一些大型站点都采用VSFTPD作为它们的FTP服务器。大家可以到http://vsftpd.beasts.org/了解它的最新情况。

2、VSFTPD的安装

2.1、RHL9+vsftpd-.1.1.3-8.i386.rpm包的安装

VSFTPD的安装很简单。在RHL9中,在图形界面下依次执行MainMenu-SystemSettings-Add/RemoveApplications-选择FTP服务器-更新,或者在字符界面中执行以下命令,就可以完成安装。

rpm-ivhvsftpd-1.1.3-8.i386.rpm

2.2、vsftpd-1.2.0.tar.gz的安装

⑴准备条件

VSFTPD默认配置中需要nobody用户。在系统中添加此用户,如果用户已经存在,useradd命令有相应提示。

[root@hpe45root]#useraddnobody

useradd:usernobodyexists

VSFTPD默认配置中需要/usr/share/empty目录。在系统中此目录,如果目录已经存在,mkdir命令有相应提示。

[root@hpe45root]#mkdir/usr/share/empty/

mkdir:cannotcreatedirectory'/usr/share/empty':Fileexists

VSFTPD提供匿名FTP服务时,需要ftp用户和一个有效的匿名目录。

[root@hpe45root]#mkdir/var/ftp/

[root@hpe45root]#useradd-d/var/ftpftp

接下来的操作对于ftp用户是否已经存在都是有用的。

[root@hpe45root]#chownroot.root/var/ftp

[root@hpe45root]#chmodog-w/var/ftp

⑵编译VSFTPD

从官方站点下载到/root目录,执行以下命令:

[root@hpe45root]#tarzxvfvsftpd-1.2.0.tar.gz

[root@hpe45root]#cdvsftpd-1.2.0

[root@hpe45vsftpd-1.2.0]#make

⑶安装编译好的VSFTPD

执行makeinstall将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执行以下复制:

[root@hpe45vsftpd-1.2.0]#cpvsftpd/usr/local/sbin/vsftpd

[root@hpe45vsftpd-1.2.0]#cpvsftpd.conf.5/usr/local/share/man/man5

[root@hpe45vsftpd-1.2.0]#cpvsftpd.8/usr/local/share/man/man8

此外,makeinstall没有复制简单的配置文件,建议执行以下命令:

[root@hpe45vsftpd-1.2.0]#cpvsftpd.conf/etc

⑷为本地用户设置PAM

如果允许本地用户登录VSFTPD,执行以下操作:

[root@hpe45vsftpd-1.2.0]#cpRedHat/vsftpd.pam/etc/pam.d/ftp

3、VSFTPD的文件结构

VSFTPD的文件结构是很简洁的,主要包括:

/usr/sbin/vsftpd----VSFTPD的主程序

/etc/rc.d/init.d/vsftpd----启动脚本

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

/etc/pam.d/vsftpd----PAM认证文件

/etc/vsftpd.ftpusers----禁止使用VSFTPD的用户列表文件

/etc/vsftpd.user_list----禁止或允许使用VSFTPD的用户列表文件

/var/ftp----匿名用户主目录

/var/ftp/pub      ----匿名用户的下载目录

此外,还有一些说明文档和手册文件。

此外VSFTPD的日志文件位于/etc/logrotate.d/vsftpd.log。

4、VSFTPD的启动与停止

VSFTPD可以单独(Standalone)方式运行,如同httpd、named这类的服务器的运行方式,这是RHL9中默认的方式;也可以采用xinetd方式运行,这是RHL7.x、8中的默认方式。具体的运行方式由参数listen决定。从RHL中VSFTPD的运行方式,也可以看出VSFTPD的逐步发展。

当listen参数值为YES时,RHL9中的默认值,VSFTPD单独运行,我们可以使用脚本/etc/rc.d/init.d/vsftpd来启动、关闭以及重启VSFTPD。命令如下:

/etc/rc.d/init.d/vsftpdstart|stop|restart

如果说在RHL9上,您还希望使用Xinetd启动VSFTPD的运行方式,那么首先要将vsftpd.conf配置文件中的listen参数值改为NO。其次,生成一个/etc/xinetd.d/vsftpd文件,内容如下:

servicevsftpd

{

disable=no

socket_type=stream

wait=no

user=root

server=/usr/sbin/vsftpd

port=21

log_on_success+=PIDHOSTDURATION

log_on_failure+=HOST

}

通过修改disable值为no或yes,并重新启动xinetd,从而启动或停止VSFTPD。

由于VSFTPD的单独模式已经拥有足够的能力,所以后面6中讨论到的应用,都是以单独模式来运行的,而非Xinetd方式。

注:还可以直接执行vsftpd来启动FTP服务,关闭时使用kill命令。

[root@hpe45root]#/usr/local/sbin/vsftpd&

5、VSFTPD的设置选项

VSFTPD的配置文件/etc/vsftpd/vsftpd.conf是个文本文件。以#字符开始的行是注释行。每个选项设置为一行,格式为option=value,注意=号两边不能留空白符。除了这个主配置文件外,还可以给特定用户设定个人配置文件,具体介绍见后。

VSFTPD包中所带的vsftpd.conf文件配置比较简单,而且非常偏执狂的(文档自称:-))。我们可以根据实际情况对其进行一些设置,以使得VSFTPD更加可用。

5.1、连接选项


发表评论:

最近发表
网站分类
标签列表