时间:2005-04-27 作者:施文建
VSFTPD
施文建
0 关于本文档
1 VSFTPD简述
2 VSFTPD的安装
2.1 RHL9+vsftpd-1.1.3-8.i386.rpm包的安装
2.2 vsftpd-1.2.0.tar.gz的安装
3 VSFTPD的文件结构
4 VSFTPD的启动与停止
5 VSFTPD的设置选项
5.1 连接选项
5.1.1 监听地址与控制端口
5.1.2 FTP模式与数据端口
5.1.3 ASCII模式
5.2 性能与负载控制
5.2.1 超时选项
5.2.2 负载控制
5.3 用户选项
5.3.1 匿名用户
5.3.2 本地用户
5.3.3 虚拟用户
5.4 安全措施
5.4.1 用户登录控制
5.4.2 目录访问控制
5.4.3 文件操作控制
5.4.4 新增文件权限设定
5.5 提示信息
5.6 日志设置
5.7 其他设置
6 VSFTPD应用
6.1 允许匿名用户上传文件
6.2 限制用户在自家目录
6.3 配置高安全级别的匿名FTP服务器
6.4 基于IP地址的虚拟FTP服务器
6.5 虚拟用户的配置
6.5.1 VSFTPD的虚拟用户介绍
6.5.2 用户创建和目录设置
6.5.3 配置文件的设置
6.5.3.1 基本设置
6.5.3.2 权限设置
6.5.3.3 虚拟用户的其他配置
6.5.3.4 虚拟用户个人目录设置
6.5.4 MySQL保存虚拟用户
-------------------------------------------
0、关于本文档
本文档是个人的学习整理。允许大家翻阅,摘抄,引用。更欢迎指出其中不对之处。文档的内容主要
来自VSFTPD自身文档、个人学习心得以及网络资料,若有类同,实属正常,∶)。
本文档基于RedHat Linux 9和VSFTPD-1.1.3-8。如果有不同版本,则有专门文字说明。
1、VSFTPD简述
如果试问哪种FTP服务器最安全?那么在UNIX和Linux中,首推的就是VSFTP(Very Secure FTP
Daemon,非常安全的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中,在图形界面下依次执行“Main Menu”-“System Settings”-“
Add/Remove Applications”-选择FTP服务器-“更新”,或者在字符界面中执行以下命令,就可以完成
安装。
rpm -ivh vsftpd-1.1.3-8.i386.rpm
2.2、vsftpd-1.2.0.tar.gz的安装
⑴准备条件
VSFTPD默认配置中需要“nobody”用户。在系统中添加此用户,如果用户已经存在,useradd命令有
相应提示。
[root@hpe45 root]# useradd nobody
useradd: user nobody exists
VSFTPD默认配置中需要“/usr/share/empty”目录。在系统中此目录,如果目录已经存在,mkdir命
令有相应提示。
[root@hpe45 root]# mkdir /usr/share/empty/
mkdir: cannot create directory '/usr/share/empty': File exists
VSFTPD提供匿名FTP服务时,需要“ftp”用户和一个有效的匿名目录。
[root@hpe45 root]# mkdir /var/ftp/
[root@hpe45 root]# useradd -d /var/ftp ftp
接下来的操作对于ftp用户是否已经存在都是有用的。
[root@hpe45 root]# chown root.root /var/ftp
[root@hpe45 root]# chmod og-w /var/ftp
⑵编译VSFTPD
从官方站点下载到/root目录,执行以下命令:
[root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz
[root@hpe45 root]# cd vsftpd-1.2.0
[root@hpe45 vsftpd-1.2.0]# make
⑶安装编译好的VSFTPD
执行“make install”将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执
行以下复制:
[root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
此外,“make install”没有复制简单的配置文件,建议执行以下命令:
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc
⑷为本地用户设置PAM
如果允许本地用户登录VSFTPD,执行以下操作:
[root@hpe45 vsftpd-1.2.0]# cp RedHat/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。
VSFTPD
施文建
0 关于本文档
1 VSFTPD简述
2 VSFTPD的安装
2.1 RHL9+vsftpd-1.1.3-8.i386.rpm包的安装
2.2 vsftpd-1.2.0.tar.gz的安装
3 VSFTPD的文件结构
4 VSFTPD的启动与停止
5 VSFTPD的设置选项
5.1 连接选项
5.1.1 监听地址与控制端口
5.1.2 FTP模式与数据端口
5.1.3 ASCII模式
5.2 性能与负载控制
5.2.1 超时选项
5.2.2 负载控制
5.3 用户选项
5.3.1 匿名用户
5.3.2 本地用户
5.3.3 虚拟用户
5.4 安全措施
5.4.1 用户登录控制
5.4.2 目录访问控制
5.4.3 文件操作控制
5.4.4 新增文件权限设定
5.5 提示信息
5.6 日志设置
5.7 其他设置
6 VSFTPD应用
6.1 允许匿名用户上传文件
6.2 限制用户在自家目录
6.3 配置高安全级别的匿名FTP服务器
6.4 基于IP地址的虚拟FTP服务器
6.5 虚拟用户的配置
6.5.1 VSFTPD的虚拟用户介绍
6.5.2 用户创建和目录设置
6.5.3 配置文件的设置
6.5.3.1 基本设置
6.5.3.2 权限设置
6.5.3.3 虚拟用户的其他配置
6.5.3.4 虚拟用户个人目录设置
6.5.4 MySQL保存虚拟用户
-------------------------------------------
0、关于本文档
本文档是个人的学习整理。允许大家翻阅,摘抄,引用。更欢迎指出其中不对之处。文档的内容主要
来自VSFTPD自身文档、个人学习心得以及网络资料,若有类同,实属正常,∶)。
本文档基于RedHat Linux 9和VSFTPD-1.1.3-8。如果有不同版本,则有专门文字说明。
1、VSFTPD简述
如果试问哪种FTP服务器最安全?那么在UNIX和Linux中,首推的就是VSFTP(Very Secure FTP
Daemon,非常安全的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中,在图形界面下依次执行“Main Menu”-“System Settings”-“
Add/Remove Applications”-选择FTP服务器-“更新”,或者在字符界面中执行以下命令,就可以完成
安装。
rpm -ivh vsftpd-1.1.3-8.i386.rpm
2.2、vsftpd-1.2.0.tar.gz的安装
⑴准备条件
VSFTPD默认配置中需要“nobody”用户。在系统中添加此用户,如果用户已经存在,useradd命令有
相应提示。
[root@hpe45 root]# useradd nobody
useradd: user nobody exists
VSFTPD默认配置中需要“/usr/share/empty”目录。在系统中此目录,如果目录已经存在,mkdir命
令有相应提示。
[root@hpe45 root]# mkdir /usr/share/empty/
mkdir: cannot create directory '/usr/share/empty': File exists
VSFTPD提供匿名FTP服务时,需要“ftp”用户和一个有效的匿名目录。
[root@hpe45 root]# mkdir /var/ftp/
[root@hpe45 root]# useradd -d /var/ftp ftp
接下来的操作对于ftp用户是否已经存在都是有用的。
[root@hpe45 root]# chown root.root /var/ftp
[root@hpe45 root]# chmod og-w /var/ftp
⑵编译VSFTPD
从官方站点下载到/root目录,执行以下命令:
[root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz
[root@hpe45 root]# cd vsftpd-1.2.0
[root@hpe45 vsftpd-1.2.0]# make
⑶安装编译好的VSFTPD
执行“make install”将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执
行以下复制:
[root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
此外,“make install”没有复制简单的配置文件,建议执行以下命令:
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc
⑷为本地用户设置PAM
如果允许本地用户登录VSFTPD,执行以下操作:
[root@hpe45 vsftpd-1.2.0]# cp RedHat/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。