免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1235 | 回复: 0
打印 上一主题 下一主题

vsftp [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-08 13:17 |只看该作者 |倒序浏览
环境:
SUSE_10_SP2_X686
vsftpd-2.0.7.tar.gz (
http://vsftpd.beasts.org/
)
###################################################
建立杀掉FTP进程脚本,以方便操作。
#!/bin/bash
a=`/bin/ps -A | grep vsftpd | awk '{print $1}'`
kill -9 $a
####################################################
一.安装
# tar zxvf vsftpd-2.0.7.tar.gz
# cd vsftpd-2.0.7
# vi builddefs.h     //编译配置文件
# make               //出来vsftpd二进制文件
# make install        
说明:
###############################################
builddefs.h文件内容
#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL
#endif /* VSF_BUILDDEFS_H */
把undef改为define, define为激活
###############################################
创建必要的帐号,目录:
# useradd nobody           
# mkdir /usr/share/empty   
# mkdir /var/ftp    //匿名用户使用      
# useradd -d /var/ftp -s /sbin/nologin ftp  
# chown root:root /var/ftp
# chmod og-w /var/ftp
安装vsftp配置文件,可执行程序,man等:
# install -m 755 vsftpd /sbin/vsftpd
# install -m 755 vsftpd /usr/local/sbin/vsftpd
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd.conf
二,配置
1.匿名用户
# vi /etc/vsftpd.conf
listen=YES                       //使用standalone
listen_port=10021                //port:21 -->> 10021
tcp_wrappers=YES                 //启用tcp_wrappers
anon_root=/var/ftp               //设置匿名用户本地目录,和ftp用户目录必须相同
anonymous_enable=YES             //允许匿名访问,这是匿名服务器必须的
write_enable=YES                 //全局配置可写
no_anon_password=YES             //匿名用户login时不询问口令
anon_umask=077                   //匿名用户上传的文件权限是-rw----
anon_upload_enable=YES           //允许匿名用户上传文件
anon_mkdir_write_enable=YES      //允许匿名用户建立目录
anon_other_write_enable=YES      //允许匿名用户具有建立目录,上传之外的权限,如重命名,删除
dirmessage_enable=YES            //当使用者转换目录,则会显示该目录下的.message信息
xferlog_enable=YES               //记录使用者所有上传下载信息
xferlog_file=/var/log/vsftpd.log //将上传下载信息记录到/var/log/vsftpd.log中
xferlog_std_format=YES           //日志使用标准xferlog格式
idle_session_timeout=600         //客户端超过600S没有动作就自动被服务器踢出
data_connection_timeout=120      //数据传输时超过120S没有动作被服务器踢出
chown_uploads=YES
chown_username=daemon            //上传文件的属主
ftpd_banner=Welcome to H FTP service.  //FTP欢迎信息
anon_max_rate=80000              //这是匿名用户的下载速度为80KBytes/s
check_shell=NO                   //不检测SHELL
//vsftpd 是为了安全需要,/var/ftp目录不能把所有的权限打开,所以我们这时要建一个pub目录
# mkdir /var/ftp/pub
# chmod -R 777 /var/ftp/pub
//可上传,不可下载。因为上传文件的属性咱们设置了anon_umask=077  
//到服务器上chmod 777 /var/ftp/*后,可下载。
#####################虚拟用户形式实现(db形式)############################
实现目标:
root_pach: /home/vsftpd
所需安装包
pack_db
# rpm –qa | grep db4
db-4.3.29-15.2
db-devel-4.3.29-15.2
db-utils-4.3.29-15.2
pack_pam
rpm -qa |grep pam
pam-0.99.6.3-28.13
pam-devel-0.99.6.3-28.13
# vi builddefs.h                  \\继续编辑builddefs.h 文件,文件内容如下:
//支持tcp_wrappers,支持PAM认证方式,支持SSL,和匿名用户形式是一样的。
#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL
#endif /* VSF_BUILDDEFS_H */

//继续安装
make                //生成vsftpd二进制文件
make install   
ldd vsftpd      //查看动态链接库,是否有libpam.so.0
        linux-gate.so.1 =>  (0xffffe000)
        libpam.so.0 => /lib/libpam.so.0 (0xb7f9c000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f98000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb7f83000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xb7f70000)
        libutil.so.1 => /lib/libutil.so.1 (0xb7f6b000)
        libcap.so.1 => /lib/libcap.so.1 (0xb7f67000)
        libpcap.so.0 => /usr/lib/libpcap.so.0 (0xb7f3f000)
        libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7f02000)
        libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7dda000)
        libc.so.6 => /lib/libc.so.6 (0xb7cae000)
        libaudit.so.0 => /lib/libaudit.so.0 (0xb7c9a000)
        /lib/ld-linux.so.2 (0xb7fb8000)
拷贝所需文件
cp vsftpd /sbin/vsftpd
cp vsftpd /usr/local/sbin/vsftpd
cp vsftpd.conf /etc/vsftpd.conf
cp vsftpd.8 /usr/share/man/man8
cp vsftpd.conf.5 /usr/share/man/man5
创建必要的帐号,目录:
# useradd nobody  //可能你的系统已经存在此帐号,那就不用建立
# mkdir /usr/share/empty  //可能你的系统已经存在此目录,那就不用建立
# mkdir /var/ftp  //可能你的系统已经存在此目录,那就不用建立
# useradd -d /var/ftp ftp  //可能你的系统已经存在此帐号,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
配置步骤:
(1)建立一个logins.txt的文件,单行为用户名,双行为密码,如下:
# vi /home/logins.txt
a       //user
123456  //passwd
b
654321
(2)建立数据库文件并设置文件属性
# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db
# chmod 600 /etc/vsftpd_login.db
(3)建立认证文件
# vi /etc/pam.d/ftp 插入如下两行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
(4)建立一个虚拟用户
useradd -d /home/vsftpd -s /sbin/nologin vsftpd
chown vsftpd.vsftpd /home/vsftpd
chmod -R 700 /home/vsftpd
ls -ld /home/vsftpd
drwx------  3 vsftpd vsftpd 1024 Jun  6 22:55 /home/vsftpd/
(5)编写配置文件
# vi /etc/vsftpd-pam.conf
listen=YES
listen_port=21
tcp_wrappers=YES //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)
listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式)
anonymous_enable=NO
local_enable=YES  //PAM方式此处必须为YES,如果不是将出现如下错误:
500 OOPS: vsftpd: both local and anonymous access disabled!
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd //这两行的意思是采用虚拟用户形式
virtual_use_local_privs=YES //虚拟用户和本地用户权限相同
pasv_enable=YES //建立资料联机采用被动方式
pasv_min_port=30000 //建立资料联机所可以使用port 范围的上界,0表示任意。默认值为0。
pasv_max_port=30999 //建立资料联机所可以使用port 范围的下界,0表示任意。默认值为0。
anon_world_readable_only=NO  //匿名登入者不能下载可阅读的档案,默认值为YES
//重点,匿名用户不可登,本地必须用户可登,匿名用户/本地用户都不可写。开启guest,并设置guest所使用用户。
(6)启动程序
# vsftpd &
//此配置文件,用户可下载,不可上传,不可更改。是个安全的下载FTP,如要做到,下载与上传分开,可在配置文档。
###############配置上传与下载分开##################
目标:
a,b为普通虚拟下载用户。
upload为和上传,下载的超级虚拟用户。
(1)修改logins.txt的文件
# vi /home/logins.txt
a       //user
123456  //passwd
b
654321
upload  //可上传,下载用户
upload
(2)再次建立数据库文件
# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db
(3)编写配置文件
增加一条:
# vi /etc/vsftpd.conf 加入如下语句
user_config_dir=/etc/vsftpd_user_conf
(4)# mkdir /etc/vsftpd_user_conf
(5)# vi /etc/vsftpd_user_conf/upload 文件内容如下
local_root=/home/vsftpd/upload
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
# chmod 700 /home/vsftpd/upload
# chown vsftpd.vsftpd /home/vsftpd/upload/

###########################配置详解####################################
=============
VSFTPD.CONF.5
================
名字
vsftpd.conf :VSFTPD的配置文件
描述:
vsftpd.conf 用来控制VSFTPD的各项功能。默认状态下,它的位置是/etc/vsftpd.conf。
(译者注:也许老的LINUX版本下,配置文件是这个位置,但新的LINUX版本,例如FC2,配置文件是在/etc/vsftpd目录下。
但是也很可能和安装方式有关,RPM包安装,配置文件是/etc/vsftpd.conf. 源码包安装:/etc/vsftpd/vsftpd.conf.我不确定。
但以后我不再特别指出了,真累!!)
然而,你也可以通过修改配置行来指定到其它目录。这一点很有用,因为也许你想使用一些高级inetd功能,例如xinetd,在一个多虚拟主机的
机器上调用不同的配置文件。
格式
VSFTPD.conf 的格式非常简单,每行要么是一个注释,要么是一个指令。注释行以#开始并被忽略掉。指令行格式如下:
配置项=参数值
很重要的一点是,这个格式里不存在任何空格。
默认的,每一个配置项在配置文件里都占一编辑行,可以被修改。
布尔选项
参数值的布尔选项可以是:
YES或者NO
allow_anon_ssl
只有ss1_enable激活了才可以启用此项。如果设置为YES,匿名用户将容许使用安全的SSL连接服务器。
默认值:NO
anon_mkdir_write_enable
如果设为YES,匿名用户将容许在指定的环境下创建新目录。如果此项要生效,那么配置write_enable必须被激活,并且匿名用户必须在其父目
录有写权限。
默认值:NO
anon_other_write_enable
如果设置为YES,匿名用户将被授予较大的写权限,例如删除和改名。一般不建议这么做,除非想完全授权。
默认值:NO
anon_upload_enable
如果设为YES,匿名用户就容许在指定的环境下上传文件。如果此项要生效,那么配置write_enable必须激活。并且匿名用户必须在相关目录有
写权限。
默认值:NO
anon_world_readable_only
启用的时候,匿名用户只容许下载完全可读的文件,这也就容许了ftp用户拥有对文件的所有权,尤其是在上传的情况下。
默认值:YES
anonymous_enable
控制是否容许匿名用户登录。如果容许,那么“ftp”和“anonymous”都将被视为“anonymous"而容许登录。
默认值:YES
ascii_download_enable
启用时,用户下载时将以ASCII模式传送文件。
默认值:NO
ascii_upload_enable
启用时,用户上传时将以ASCII模式传送文件。
默认值:NO
async_abor_enable
启用时,一个特殊的FTP命令"async ABOR”将容许使用。只有不正常的FTP客户端要使用这一点。而且,这个功能又难于操作,所以,
默认是把它关闭了。但是,有些客户端在取消一个传送的时候会被挂死(daidong注:估计是客户端无响应了),那你只有启用这个功能才能避
免这种情况。
默认值:NO
background
启用时,并且VSFTPD是“listen”模式启动的(daidong注:就是standalone模式),VSFTPD将把监听进程置于后台。但访问VSFTPD时,控制台
将立即被返回到SHELL。
默认值:NO
check_shell
注意:这个选项只对非PAM结构的VSFTPD才有效。如果关闭,VSFTPD将不检查/etc/shells以判定本地登录的用户是否有一个可用的SHELL。
默认值:YES
chmod_enable
启用时,将容许使用SITE CHMOD命令。注意,这只能用于本地用户。匿名用户绝不能使用SITE CHMOD。
默认值:YES
chown_uploads
如果启用,所以匿名用户上传的文件的所有者将变成在chown_username里指定的用户。这对管理FTP很有用,也许也对安全有益。
默认值:NO
chroot_list_enable
如果激活,你要提供一个用户列表,表内的用户将在登录后被放在其home目录,锁定在虚根下(daidong注:进入FTP后,PWD一下,可以看到当
前目录是"/",这就是虚根。是FTP的根目录,并非FTP服务器系统的根目录)。如果chroot_local_user设为YES后,其含义会发生一点变化。
在这种情况下,这个列表内的用户将不被锁定在虚根下。
默认情况下,这个列表文件是/etc/vsftpd.chroot_list, 但你也可以通过修改chroot_list_file来改变默认值。
默认值:NO
chroot_local_user
如果设为YES,本地用户登录后将被(默认地)锁定在虚根下,并被放在他的home目录下。
警告:
这个配置项有安全的意味,特别是如果用户有上传权限或者可使用SHELL的话。在你确定的前提下,再启用它。
注意,这种安全暗示并非只存在于VSFTPD,其实是广泛用于所有的希望把用户锁定在虚根下的FTP软件。
默认值:NO
connect_from_port_20
这用来控制服务器是否使用20端口号来做数据传输。为安全起见,有些客户坚持启用。相反,关闭这一项可以让VSFTPD更加大众化。
默认值:NO (但在范例配置文件中,启用了,即YES)
deny_email_enable
如果激活,你要提供一个关于匿名用户的密码E-MAIL表(daidong注:我们都知道,匿名用户是用邮件地址做密码的)以阻止以这些密码登录的
匿名用户。
默认情况下,这个列表文件是/etc/vsftpd.banner_emails,但你也可以通过设置banned_email_file来改变默认值。
默认值:NO
dirlist_enable
如果设置为NO,所有的列表命令(daidong注:如ls)都将被返回“permission denied”提示。
默认值:YES
dirmessage_enable
如果启用,FTP服务器的用户在首次进入一个新目录的时候将显示一段信息。默认情况下,会在这个目录中查找.message文件,但你也可以
通过更改message_file来改变默认值。
默认值:NO (但在配置范例文件中启用了它)
download_enable
如果设为NO,下载请求将返回“permission denied”。
默认值:YES
dual_log_enable
如果启用,两个LOG文件会各自产生,默认的是/var/log/xferlog和/var/log/vsftpd.log。前一个是wu-ftpd格式的LOG,能被通用工具分析。
后一个是VSFTPD的专用LOG格式。
默认值: NO
force_dot_files
如果激活,即使客户端没有使用“a”标记,(FTP里)以.开始的文件和目录都会显示在目录资源列表里。但是把"."和".."不会显示。
(daidong注:即LINUX下
的当前目录和上级目录不会以‘.’或‘..’方式显示)。
默认值:NO
force_local_data_ssl
只有在ssl_enable激活后才能启用。如果启用,所有的非匿名用户将被强迫使用安全的SSL登录以在数据线路上收发数据。
默认值:YES
force_local_logins_ssl
只有在ssl_enable激活后才能启用。如果启用,所有的非匿名用户将被强迫使用安全的SSL登录以发送密码。
默认值:YES
guest_enable
如果启用,所有的非匿名用户登录时将被视为”游客“,其名字将被映射为guest_username里所指定的名字。
默认值:NO
hide_ids
如果启用,目录资源列表里所有用户和组的信息将显示为"ftp".
默认值:NO
listen
如果启用,VSFTPD将以独立模式(standalone)运行,也就是说可以不依赖于inetd或者类似的东东启动。直接运行VSFTPD
的可执行文件一次,然后VSFTPD就自己去监听和处理连接请求了。
默认值:NO
listen_ipv6
类似于listen参数的功能,但有一点不同,启用后VSFTPD会去监听IPV6套接字而不是IPV4的。这个设置和listen的设置互相排斥。
默认值:NO
local_enable
用来控制是否容许本地用户登录。如果启用,/etc/passwd里面的正常用户的账号将被用来登录。
默认值:NO
log_ftp_protocol
启用后,如果xferlog_std_format没有被激活,所有的FTP请求和反馈信息将被纪录。这常用于调试(debugging)。
默认值:NO
ls_recurse_enable
如果启用,"ls -R"将被容许使用。这是为了避免一点点安全风险。因为在一个大的站点内,在目录顶层使用这个命令将消耗大量资源。
默认值:NO
no_anon_password
如果启用,VSFTPD将不会向匿名用户询问密码。匿名用户将直接登录。
默认值:NO
no_log_lock
启用时,VSFTPD在写入LOG文件时将不会把文件锁住。这一项一般不启用。它对一些工作区操作系统问题,如Solaris / Veritas文件系统共存
时有用。
因为那在试图锁定LOG文件时,有时候看上去象被挂死(无响应)了。(daidong注:这我也不是很理解。所以翻译未必近乎原意。原文如下:
It exists to workaround
operating system bugs such as the Solaris / Veritas filesystem combination
which has been observed to sometimes exhibit hangs trying to lock log files.)
默认值:NO
one_process_model
如果你的LINUX核心是2.4的,那么也许能使用一种不同的安全模式,即一个连接只用一个进程。只是一个小花招,但能提高FTP的性能。请确定
需要后再启用它,而且也请确定你的
站点是否会有大量的人同时访问。
默认值:NO
passwd_chroot_enable (daidong注:这段自己看,无语...)
if enabled, along with
.BR chroot_local_user
, then a chroot() jail location may be specified on a per-user basis. Each
user's jail is derived from their home directory string in /etc/passwd. The
occurrence of /./ in the home directory string denotes that the jail is at that
particular location in the path.
默认值:NO
pasv_enable
如果你不想使用被动方式获得数据连接,请设为NO。
默认值:YES
pasv_promiscuous
如果你想关闭被动模式安全检查(这个安全检查能确保数据连接源于同一个IP地址)的话,设为YES。确定后再启用它(daidong注:原话是:
只有你清楚你在做什么时才启用它!)
合理的用法是:在一些安全隧道配置环境下,或者更好地支持FXP时(才启用它)。
默认值:NO
port_enable
如果你想关闭以端口方式获得数据连接时,请关闭它。
默认值:YES
port_promiscuous
如果你想关闭端口安全检查(这个检查可以确保对外的(outgoing)数据线路只通向客户端)时,请关闭它。确认后再做!
默认值:NO
run_as_launching_user
如果你想让一个用户能启动VSFTPD的时候,可以设为YES。当ROOT用户不能去启动VSFTPD的时候会很有用(daidong注:应该不是说ROOT用户没
有权限启动VSFTPD,
而是因为别的,例如安全限制,而不能以ROOT身份直接启动VSFTPD)。强烈警告!!别启用这一项,除非你完全清楚你在做什么(daidong:无
语....)!!!随意地启动这一项会导致
非常严重的安全问题,特别是VSFTPD没有或者不能使用虚根技术来限制文件访问的时候(甚至VSFTPD是被ROOT启动的)。有一个愚蠢的替代方
案是启用deny_file,将其设置为{/*,*..*}等,
但其可靠性却不能和虚根相比,也靠不住。
如果启用这一项,其他配置项的限制也会生效。例如,非匿名登录请求,上传文件的所有权的转换,用于连接的20端口和低于1024的监听端口
将不会工作。其他一些配置项也可能被影响。
默认值:NO
secure_email_list_enable
如果你想只接受以指定E-MAIL地址登录的匿名用户的话,启用它。这一般用来在不必要用虚拟用户的情况下,以较低的安全限制去访问较低安
全级别的资源。如果启用它,匿名用户除非
用在email_password_file里指定的E-MAIL做为密码,否则不能登录。这个文件的格式是一个密码一行,而且没有额外的空格(daidong注:
whitespace,译为空格,不知道是否正确)。
默认的文件名是:/etc/vsftpd.email_passwords.
默认值:NO
session_support
这将配置是否让VSFTPD去尝试管理登录会话。如果VSFTPD管理会话,它会尝试并更新utmp和wtmp。它也会打开一个pam会话(pam_session),直
到LOGOUT才会关闭它,如果使用PAM进行认证的话。
如果你不需要会话纪录,或者想VSFTPD运行更少的进程,或者让它更大众化,你可以关闭它。
注:utmp和wtmp只在有PAM的环境下才支持。
默认值:NO
setproctitle_enable
如果启用,VSFTPD将在系统进程列表中显示会话状态信息。换句话说,进程名字将变成VSFTPD会话当前正在执行的动作(等待,下载等等)。
为了安全目的,你可以关闭这一项。
默认值:NO
ssl_enable
如果启用,vsftpd将启用openSSL,通过SSL支持安全连接。这个设置用来控制连接(包括登录)和数据线路。同时,你的客户端也要支持SSL才
行。
注意:小心启用此项.VSFTPD不保证OpenSSL库的安全性。启用此项,你必须确信你安装的OpenSSL库是安全的。
默认值:NO
ssl_sslv2
要激活ssl_enable才能启用它。如果启用,将容许SSL V2协议的连接。TLS V1连接将是首选。
默认值:NO
ssl_sslv3
要激活ssl_enable才能启用它。如果启用,将容许SSL V3协议的连接。TLS V1连接将是首选。
默认值:NO
ssl_tlsv1
要激活ssl_enable才能启用它。如果启用,将容许TLS V1协议的连接。TLS V1连接将是首选。
默认值:YES
syslog_enable
如果启用,系统log将取代vsftpd的log输出到/var/log/vsftpd.log.FTPD的了log工具将不工作。
默认值:NO
tcp_wrappers
如果启用,vsftpd将被tcp_wrappers所支持。进入的(incoming)连接将被tcp_wrappers访问控制所反馈。如果tcp_wrappers设置了
VSFTPD_LOAD_CONF环境变量,那么vsftpd将尝试调用这个变量所指定的配置。
默认值:NO
text_userdb_names
默认情况下,在文件列表中,数字ID将被显示在用户和组的区域。你可以编辑这个参数以使其使用数字ID变成文字。为了保证FTP性能,默认
情况下,此项被关闭。
默认值:NO
tilde_user_enable
如果启用,vsftpd将试图解析类似于~chris/pics的路径名(一个"~"(tilde)后面跟着个用户名)。注意,vsftpd有时会一直解析路径
名"~"和"~/"(在这里,~被解析成内部登录目录)。
~用户路径(~user paths)只有在当前虚根下找到/etc/passwd文件时才被解析。
默认值:NO
use_localtime
如果启用,vsftpd在显示目录资源列表的时候,在显示你的本地时间。而默认的是显示GMT(格林尼治时间)。通过MDTM FTP命令来显示时间的
话也会被这个设置所影响。
默认值:NO
use_sendfile
一个内部设定,用来测试在你的平台上使用sendfile()系统呼叫的相关好处(benefit).
默认:YES
userlist_deny
这个设置在userlist_enable被激活后能被验证。如果你设置为NO,那么只有在userlist_file里明确列出的用户才能登录。
如果是被拒绝登录,那么在被询问密码前,用户就将被系统拒绝。
默认值:YES
userlist_enable
如果启用,vsftpd将在userlist_file里读取用户列表。如果用户试图以文件里的用户名登录,那么在被询问用户密码前,他们就将被系统拒绝

这将防止明文密码被传送。参见userlist_deny。
默认值:NO
virtual_use_local_privs
如果启用,虚拟用户将拥有和本地用户一样的权限。默认情况下,虚拟用户就拥有和匿名用户一样的权限,而后者往往有更多的限制(特别是
写权限)。
默认值:NO
write_enable
这决定是否容许一些FTP命令去更改文件系统。这些命令是STOR, DELE, RNFR, RNTO, MKD, RMD, APPE 和 SITE。
默认值:NO
xferlog_enable
如果启用,一个log文件将详细纪录上传和下载的信息。默认情况下,这个文件是/var/log/vsftpd.log,但你也可以通过更改vsftpd_log_file
来指定其默认位置。
默认值:NO (但在范例配置文件中,启用了这一项)
xferlog_std_format
如果启用,log文件将以标准的xferlog格式写入(wu-ftpd使用的格式),以便于你用现有的统计分析工具进行分析。但默认的格式具有更好的
可读性。默认情况下,log文件是在/var/log/xferlog。
但是,你可以通过修改xferlog_file来指定新路径。
默认值:NO
======
数字选项
以下是数字配置项。这些项必须设置为非负的整数。为了方便umask设置,容许输入八进制数,那样的话,数字必须以0开始。
accept_timeout
超时,以秒为单位,设定远程用户以被动方式建立连接时最大尝试建立连接的时间。
默认值:60
anon_max_rate
对于匿名用户,设定容许的最大传送速率,单位:字节/秒。
默认值:0 (无限制)
anon_umask
为匿名用户创建的文件设定权限。注意:如果你想输入8进制的值,那么其中的0不同于10进制的0。
默认值:077
connect_timeout
超时。单位:秒。是设定远程用户必须回应PORT类型数据连接的最大时间。
默认值:60
data_connection_timeout
超时,单位:秒。设定数据传输延迟的最大时间。时间一到,远程用户将被断开连接。
默认值:300
file_open_mode
对于上传的文件设定权限。如果你想被上传的文件可被执行,umask要改成0777。
默认值:0666
ftp_data_port
设定PORT模式下的连接端口(只要connect_from_port_20被激活)。
默认值:20
idle_session_timeout
超时。单位:秒。设置远程客户端在两次输入FTP命令间的最大时间。时间一到,远程客户将被断开连接。
默认值:300
listen_port
如果vsftpd处于独立运行模式,这个端口设置将监听的FTP连接请求。
默认值:21
local_max_rate
为本地认证用户设定最大传输速度,单位:字节/秒。
默认值:0(无限制)
local_umask
设置本地用户创建的文件的权限。注意:如果你想输入8进制的值,那么其中的0不同于10进制的0。
默认值:077
max_clients
如果vsftpd运行在独立运行模式,这里设置了容许连接的最大客户端数。再后来的用户端将得到一个错误信息。
默认值:0(无限制)
max_per_ip
如果vsftpd运行在独立运行模式,这里设置了容许一个IP地址的最大接入客户端。如果超过了最大限制,将得到一个错误信息。
默认值:0(无限制)
pasv_max_port
指定为被动模式数据连接分配的最大端口。可用来指定一个较小的范围以配合防火墙。
默认值:0(使用任何端口)
pasv_min_port
指定为被动模式数据连接分配的最小端口。可用来指定一个较小的范围以配合防火墙。
默认值:0(使用任何端口)
trans_chunk_size
你一般不需要改这个设置。但也可以尝试改为如8192去减小带宽限制的影响。
默认值:0(让vsftpd自行选择)
===========
STRING 配置项
以下是STRING 配置项
anon_root
设置一个目录,在匿名用户登录后,vsftpd会尝试进到这个目录下。如果失败则略过。
默认值:无
banned_email_file
deny_email_enable启动后,匿名用户如果使用这个文件里指定的E-MAIL密码登录将被拒绝。
默认值:/etc/vsftpd.banned_emails
banner_file
设置一个文本,在用户登录后显示文本内容。如果你设置了ftpd_banner,ftpd_banner将无效。
默认值:无
chown_username
改变匿名用户上传的文件的所有者。需设定chown_uploads。
默认值:ROOT
chroot_list_file
这个项提供了一个本地用户列表,表内的用户登录后将被放在虚根下,并锁定在home目录。这需要chroot_list_enable项被启用。
如果chroot_local_user项被启用,这个列表就变成一个不将列表里的用户锁定在虚根下的用户列表了。
默认值:/etc/vsftpd.chroot_list
cmds_allowed
以逗号分隔的方式指定可用的FTP命令(post login. USER, PASS and QUIT 是始终可用的命令)。
其他命令将被屏蔽。这是一个强有力的locking down一个FTP服务器的手段。例如:cmds_allowed=PASV,RETR,QUIT
默认值:无
deny_file
这可以设置一个文件名或者目录名式样以阻止在任何情况下访问它们。并不是隐藏它们,而是拒绝任何试图对它们进行的操作(下载,改变目
录层,
和其他有影响的操作)。这个设置很简单,而且不会用于严格的访问控制-文件系统权限将优先生效。然而,这个设置对确定的虚拟用户设置
很有用。
特别是如果一个文件能多个用户名访问的话(可能是通过软连接或者硬连接),那就要拒绝所有的访问名。
建议你为使用文件系统权限设置一些重要的安全策略以获取更高的安全性。如deny_file={*.mp3,*.mov,.private}
默认值:无
dsa_cert_file
这个设置为SSL加密连接指定了DSA证书的位置。
默认值:无(有一个RSA证书就够了)
email_password_file
在设置了secure_email_list_enable后,这个设置可以用来提供一个备用文件。
默认值:/etc/vsftpd.email_passwords
ftp_username
这是用来控制匿名FTP的用户名。这个用户的home目录是匿名FTP区域的根。
默认值:ftp
ftpd_banner
当一个连接首次接入时将现实一个欢迎界面。
默认值:无(默认的界面会被显示)
guest_username
参见相关设置guest_enable。这个设置设定了游客进入后,其将会被映射的名字。
默认:ftp
hide_file
设置了一个文件名或者目录名列表,这个列表内的资源会被隐藏,不管是否有隐藏属性。但如果用户知道了它的存在,
将能够对它进行完全的访问。hide_file里的资源和符合hide_file指定的规则表达式的资源将被隐藏。vsftpd的
规则表达式很简单,例如hide_file={*.mp3,.hidden,hide*,h?}
默认值:无
listen_address
如果vsftpd运行在独立模式下,本地接口的默认监听地址将被这个设置代替。
需要提供一个数字化的地址。
默认值:无
listen_address6
如果vsftpd运行在独立模式下,要为IPV6指定一个监听地址(如果listen_ipv6被启用的话)。
需要提供一个IPV6格式的地址。
默认值:无
local_root
设置一个本地(非匿名)用户登录后,vsftpd试图让他进入到的一个目录。如果失败,则略过。
默认值:无
message_file
当进入一个新目录的时候,会查找这个文件并显示文件里的内容给远程用户。dirmessage_enable需启用。
默认值:.message
nopriv_user
这是vsftpd做为完全无特权的用户的名字。这是一个专门的用户,比nobody更甚。用户nobody往往用来在一些机器上做一些重要的事情。
默认值:nobody
pam_service_name
设定vsftpd将要用到的PAM服务的名字。
默认值:ftp
pasv_address
当使用PASV命令时,vsftpd会用这个地址进行反馈。需要提供一个数字化的IP地址。
默认值:无(地址将取自进来(incoming)的连接的套接字)
rsa_cert_file
这个设置指定了SSL加密连接需要的RSA证书的位置。
默认值:/usr/share/ssl/certs/vsftpd.pem
secure_chroot_dir
这个设置指定了一个空目录,这个目录不容许ftp user写入。在vsftpd不希望文件系统被访问时,目录为安全的虚根所使用。
默认值: /usr/share/empty
ssl_ciphers
这个设置将选择vsftpd为加密的SSL连接所用的SSL密码。详细信息参见ciphers。
默认值:DES-CBC3-SHA
user_config_dir
这个强大的设置容许覆盖一些在手册页中指定的配置项(基于单个用户的)。用法很简单,最好结合范例。如果你把user_config_dir
改为/etc/vsftpd_user_conf,那么以chris登录,vsftpd将调用配置文件/etc/vsftpd_user_conf/chris。
默认值:无
user_sub_token
这个设置将依据一个模板为每个虚拟用户创建home目录。例如,如果真实用户的home目录通过guest_username为/home/virtual/$USER 指定,
并且user_sub_token设置为 $USER ,那么虚拟用户fred登录后将锁定在/home/virtual/fred下。
默认值:无
userlist_file
当userlist_enable被激活,系统将去这里调用文件。
默认值:/etc/vsftpd.user_list
vsftpd_log_file
只有xferlog_enable被设置,而xferlog_std_format没有被设置时,此项才生效。这是被生成的vsftpd格式的log文件的名字。
dual_log_enable和这个设置不能同时启用。如果你启用了syslog_enable,那么这个文件不会生成,而只产生一个系统log.
默认值:/var/log/vsftpd.log
xferlog_file
这个设置是设定生成wu-ftpd格式的log的文件名。只有启用了xferlog_enable和xferlog_std_format后才能生效。
但不能和dual_log_enable同时启用。
默认值:/var/log/xferlog









本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/45949/showart_1169823.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP