很久没有做vsftpd的配置了,最近刚好有需要,又重新复习了一遍,写成文档方便自己将来查阅。
参考文档:
1.FTP原理:
2.FTP配置:
一.环境
OS
CentOS6.7
x86_64
网络
Sever:192.168.1.254
Client:192.168.1.100
二.安装与配置
1.安装
使用yum安装即可:yum install vsftpd -y
2.软件架构
/etc/vsftpd/vsftpd.conf
vsftpd的配置文件,相关参数设定主要在这个文件进行。
/etc/pam.d/vsftpd
vsftpd使用PAM模块时的相关配置文件,主要用来作为身份认证之用,还有一些用户身份的抵挡功能,也是透过这个档案来达成的。
/etc/vsftpd/ftpusers
与/etc/pam.d/vsftpd文件有关,也就是PAM模块中所指定的那个无法登入的用户配置文件。这个档案的设定简单,只要将“不想让他登入FTP的账号”写入这个文件即可。
/etc/vsftpd/user_list
这个文件是否生效与vsftpd.conf内的两个参数有关,分别是“userlist_enable”与“userlist_deny”,会根据vsftpd.conf配置文件内的userlist_deny={YES/NO}不同而不同(设置为YES时,是阻止user_list中的账号登入;设置为NO时,是允许user_list中的账号登入)。
/etc/vsftpd/ftpusers是PAM模块的安全设定文件,而/etc/vsftpd/user_list是vsftpd自定义的安全设定文件。
这个文件与/etc/vsftpd/ftpusers几乎一样,在默认情况下,可以将不希望可登入vsftpd账号写入这里。
/etc/vsftpd/chroot_list
此文件默认是没有的,需要手工建立,主要作用是将某些账号chroot在其家目录。
文件是否生效与vsftpd.conf的“chroot_list_enable”与“chroot_list_file”两个参数有关。
/usr/sbin/vsftpd
vsftpd的执行文件。
/var/ftp/
vsftpd默认匿名账户登入根目录,与ftp账号的家目录有关。
3.配置文件简介
以下列出主要的一些配置项供参考。
a.服务器环境较相关的设置
connect_from_port_20=YES (NO)
主动式FTP服务器port,ftp-data的端口。
#主动式ftp指server接到client的ftp请求后,由server的20端口主动连接client告知的数据接收port,建立数据传输通道;
#被动式ftp指server接到client的ftp请求后,随机选取大于1024的port告知client,由client主动发起ftp数据通道连接。
#在有ftp的server与client之间有防火墙或nat时,基本只能使用被动式ftp。
listen_port=21
vsftpd的命令通道port,如果要使用非正规的端口,在此修改;修改端口号指适合以stand alone方式来启动的vsftpd(对于super daemon无效)。
dirmessage_enable=YES (NO)
当ftp用户进入某个目录时,会显示该目录需要注意的内容,显示的档案默认是.message,可以使用下面的设定项目来修改显示内容。
message_file=.message
当dirmessage_enable=YES时,可以设定这个项目来让vsftpd寻找该文件来显示信息。
listen=YES (NO)
如果设置为YES,表示vsftpd是以stand
alone的方式来启动;设置为NO时,vsftpd以super
daemon方式启动。
pasv_enable=YES (NO)
支持数据流的被动式联机模式(passive mode),请设定为YES。
use_localtime=YES (NO)
是否使用本地时间?vsftpd默认使用GMT时间(格林威治)