vsftpd 配置
程序员文章站
2022-07-11 16:12:20
0、关于本文档
本文档是个人的学习整理。允许大家翻阅,摘抄,引用。更欢迎指出其中不对之处。文档的内容主要来自VSFTPD自身文档、个人学习心得以及网络资料,若有类同,实属正... 09-03-10...
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服务器。大家可以到了解它的最新情况。
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。
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/vsftpd start|stop|restart
如果说在rhl9上,您还希望使用xinetd启动vsftpd的运行方式,那么首先要将vsftpd.conf配置文件中的listen参数值改为no。其次,生成一个/etc/xinetd.d/vsftpd文件,内容如下:
service vsftpd
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
port = 21
log_on_success += pid host duration
log_on_failure += host
}
通过修改disable值为no或yes,并重新启动xinetd,从而启动或停止vsftpd。
由于vsftpd的单独模式已经拥有足够的能力,所以后面6中讨论到的应用,都是以单独模式来运行的,而非xinetd方式。
注:还可以直接执行vsftpd来启动ftp服务,关闭时使用“kill”命令。
[root@hpe45 root]# /usr/local/sbin/vsftpd &
5、vsftpd的设置选项
vsftpd的配置文件/etc/vsftpd/vsftpd.conf是个文本文件。以“#”字符开始的行是注释行。每个选项设置为一行,格式为“option=value”,注意“=”号两边不能留空白符。除了这个主配置文件外,还可以给特定用户设定个人配置文件,具体介绍见后。
vsftpd包中所带的vsftpd.conf文件配置比较简单,而且非常偏执狂的(文档自称:-))。我们可以根据实际情况对其进行一些设置,以使得vsftpd更加可用。
5.1、连接选项
本文档是个人的学习整理。允许大家翻阅,摘抄,引用。更欢迎指出其中不对之处。文档的内容主要来自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服务器。大家可以到了解它的最新情况。
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。
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/vsftpd start|stop|restart
如果说在rhl9上,您还希望使用xinetd启动vsftpd的运行方式,那么首先要将vsftpd.conf配置文件中的listen参数值改为no。其次,生成一个/etc/xinetd.d/vsftpd文件,内容如下:
service vsftpd
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
port = 21
log_on_success += pid host duration
log_on_failure += host
}
通过修改disable值为no或yes,并重新启动xinetd,从而启动或停止vsftpd。
由于vsftpd的单独模式已经拥有足够的能力,所以后面6中讨论到的应用,都是以单独模式来运行的,而非xinetd方式。
注:还可以直接执行vsftpd来启动ftp服务,关闭时使用“kill”命令。
[root@hpe45 root]# /usr/local/sbin/vsftpd &
5、vsftpd的设置选项
vsftpd的配置文件/etc/vsftpd/vsftpd.conf是个文本文件。以“#”字符开始的行是注释行。每个选项设置为一行,格式为“option=value”,注意“=”号两边不能留空白符。除了这个主配置文件外,还可以给特定用户设定个人配置文件,具体介绍见后。
vsftpd包中所带的vsftpd.conf文件配置比较简单,而且非常偏执狂的(文档自称:-))。我们可以根据实际情况对其进行一些设置,以使得vsftpd更加可用。
5.1、连接选项
推荐阅读
-
WML开发教程之 WAP网站服务器配置方法
-
nginx+php-fpm组合解决PATHINFO最佳配置
-
zend Framework配置数据库连接取数据的有关问题
-
linux下配置lamp时候出现The requested URL /info.php was not found on this server问题
-
Oracle Linux 配置 UDEV SCSI Rules 说明
-
jetbrains - phpstorm编辑器如何配置SVN?
-
Redhat下puppet集中配置管理_PHP教程
-
windows+Apache+php配置出现的有关问题
-
Apache+PHP+Zend的安装及配置
-
代码分析工具 Pylint安装+pycharm下的配置