Debian下vsFTPD配置

作者:admin | 时间:August 29, 2013 | 分类:host,linux | 评论:0 ℃
======Ascii设定================================

ascii_download_enable=NO
控制是否可用 ASCII 模式下载,默认值为NO。

ascii_upload_enable=NO
控制是否可用 ASCII 模式上传。默认值为NO。


======个别使用者设定============================

userlist_enable=NO
若是启动此功能,则会读取/etc/vsftpd.user_list 当中的使用者名称。此项功能可以在询问密码前就出现失败讯息,而不需要检验密码的程序,默认值为关闭。

userlist_deny=NO
这个选项只有在userlist_enable 启动时才会被检验。如果将这个选项设为YES,则在/etc/vsftpd.user_list 中的使用者将无法登入 若设为NO,则只有在/etc/vsftpd.user_list 中的使用者才能登入。而且此项功能可以在询问密码前就出现错误讯息,而不需要检验密码的程序。

user_config_dir=
定义个别使用者设定文件所在的目录,例如定义user_config_dir=/etc/vsftpd/userconf,且主机上有使用者test1,test2,那我们可以在user_config_dir 的目录新增文件名为test1 以及test2。若是test1 登入,则会读取user_config_dir 下的test1 这个档案内的设定。默认值为无。

======欢迎语设定===========================================

dirmessage_enable=YES
如果启动这个选项,使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,若是有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明,默认值为YES。

banner_file=
当使用者登入时,会显示此设定所在的档案内容,通常为欢迎话语或是说明。默认值为无。

ftpd_banner=Welcome to blah FTP service
这边可定义欢迎话语的字符串,相较于banner_file 是档案的形式,而ftpd_banner是字串的格式,预设为无。

======特殊安全设定=========================================

chroot_list_enable=NO
如果启动这项功能,则所有的本机使用者登入均可进到根目录之外的数据夹,除了列在/etc/vsftpd.chroot_list 之中的使用者之外,默认值为NO。

chroot_list_file=
如果不按系统默认的来,你可以通过这个选项来重新指定vsftpd.chroot_list文件的位置。

chroot_local_user=NO
如果设定为YES,那么所有的本机的使用者都可以切换到根目录以外的数据夹,预设值为NO。

hide_ids=NO
如果启动这项功能,所有档案的拥有者与群组都为ftp,也就是使用者登入使用ls -al之类的指令,所看到的档案拥有者跟群组均为ftp,默认值为NO。

ls_recurse_enable=NO
若是启动此功能,则允许登入者使用ls -R 这个指令,默认值为NO。

write_enable=NO
这个选项可以控制FTP 的指令是否允许更改file system,譬如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。预设是关闭。

setproctitle_enable=NO
启动这项功能,vsftpd 会将所有联机的状况已不同的process 呈现出来,换句话说,使用ps -ef 这类的指令就可以看到联机的状态,默认值为关闭。

tcp_wrappers=NO
如果启动,则会将vsftpd 与tcp wrapper 结合,也就是可以在/etc/hosts.allow 与etc/hosts.deny 中定义可联机或是拒绝的来源地址。

pam_service_name=vsftpd
这边定义PAM 所使用的名称,预设为vsftpd。

secure_chroot_dir=/usr/share/empty
这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/empty。

======纪录文件设定=========================================

xferlog_enable=YES
如果启动,上传与下载的信息将被完整纪录在底下xferlog_file 所定义的档案中。预设为开启。

xferlog_file=/var/log/vsftpd.log
这个选项可设定纪录文件所在的位置,默认值为/var/log/vsftpd.log。

xferlog_std_format=NO
纪录文件将会写为xferlog 的标准格式,如同wu-ftpd 一般,默认值为NO。

======超时设定============================================

accept_timeout=60
接受建立联机的超时设定,单位为秒,默认值为60。

connect_timeout=60
响应PORT 方式的数据联机的超时设定,单位为秒,默认值为60。

data_connection_timeout=300
建立数据联机的超时设定,单位为秒,默认值为300。

idle_session_timeout=300
空闲的超时设定,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线,单位为秒,默认值为300。

======速率限制============================================

anon_max_rate=0
匿名登入所能使用的最大传输速度,单位为B/S,0 表示不限速度,默认值为0。

local_max_rate=0
本机使用者所能使用的最大传输速度,单位为B/S,0 表示不限速度,预设值为0。

======新增档案权限设定=======================================

anon_umask=077
匿名登入者新增档案时的umask 数值。默认值为077。

file_open_mode=0666
上传档案的权限,与chmod 所使用的数值相同,默认值为0666。

local_umask=077
本机登入者新增档案时的umask 数值,默认值为077。

======port 设定===========================================

connect_from_port_20=YES
若设为YES,则强迫ftp-data 的数据传送使用port 20,默认值为YES。

ftp_data_port=20
设定ftp 数据联机所使用的port。默认值为20。

listen_port=21
FTP server 所使用的port。默认值为21。

pasv_max_port=0
建立资料联机所可以使用port 范围的上界,0 表示任意,默认值为0。

pasv_min_port=0
建立资料联机所可以使用port 范围的下界,0 表示任意,默认值为0。

关于端口的备注:

FTP 分为两类,一种为PORT FTP,也就是一般的FTP 另一类是PASV FTP,分述如下:
PORT FTP 这是一般形式的FTP,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20建立联机,并透过port 20 作数据的传输。

PASV FTP 跟PORT FTP 类似,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。这两者的差异为何?PORT FTP 当中的数据传输port 是由FTP server 指定,而PASV FTP 的数据传输port 是由FTP client 决定。通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。

======其它=========================

anon_root=/var/ftp/
使用匿名登入时,所登入的目录,默认值为无。

local_enable=YES
启动此功能则允许本机使用者登入,默认值为YES。

local_root=
本机使用者登入时,将被更换到定义的目录下,默认值为无。

text_userdb_names=NO
当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启,默认值为NO。

pasv_enable=YES
若是设为NO,则不允许使用PASV 的模式建立数据的联机。默认值为开启。

======更换档案所有权========================================

chown_uploads=NO
若是启动,所有匿名上传数据的拥有者将被更换为chown_username 当中所设定的使用者。这样的选项对于安全及管理,是很有用的。默认值为NO。

chown_username=root
这里可以定义当匿名登入者上传档案时,该档案的拥有者将被置换的使用者名称,预设值为root。

======guest 设定==========================================

guest_enable=NO
若是启动这项功能,所有的非匿名登入者都视为guest,默认值为关闭。

guest_username=ftp
这里将定义guest 的使用者名称,默认值为ftp。

=======anonymous 设定=====================================

anonymous_enable=YES
#控制否允许匿名登录,YES 为允许匿名登入,NO 为不允许,默认值为YES。

no_anon_password=NO
若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为NO。

anon_mkdir_write_enable=NO
如果设为YES,匿名登入者会被允许新增目录,当然,匿名使用者必须要有对上层目录的写入权,默认值为NO。

anon_other_write_enable=NO
如果设为YES,匿名登入者会被允许更多于上传与建立目录之外的权限,譬如删除或是更名,默认值为NO。

anon_upload_enable=NO
如果设为YES,匿名登入者会被允许上传目录的权限,当然,匿名使用者必须要有对上层目录的写入权,默认值为NO。

anon_world_readable_only=YES
如果设为YES,匿名登入者会被允许下载可阅读的档案,默认值为YES。

ftp_username=ftp
定义匿名登入的使用者名称,默认值为ftp。

deny_email_enable=NO
若是启动这项功能,则必须提供一个档案/etc/vsftpd.banner_emails,内容为email #address。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许联机。默认值为NO。

======Standalone 选项======================================

listen=YES
若是启动,则vsftpd 将会以独立运作的方式执行,若是vsftpd 独立执行,如RedHat9的默认值,则必须启动 若是vsftpd包含在xinetd之中,则必须关闭此功能,如RedHat8。在RedHat9 的默认值为YES。

listen_address
若是vsftpd 使用standalone的模式,可使用这个参数定义使用哪个IP address提供这项服务,若是主机上只有定义一个IP address,则此选项不需使用,若是有多个IP address,可定义在哪个IP address 上提供ftp 服务。若是不设定,则所有的IP address均会提供此服务。默认值为无。

max_clients=0
若是vsftpd 使用standalone的模式,可使用这个参数定义最大的总联机数。超过这个数目将会拒绝联机,0表示不限。默认值为0。

max_per_ip=0
若是vsftpd 使用standalone 的模式,可使用这个参数定义每个ip address 所可以联机的数目。超过这个数目将会拒绝联机,0表示不限。默认值为0。
新版的vsFTPD在设置chroot之后,主文件夹必须不具有改写权限,否则无法登陆。 参考文章:http://yanhongbin1210.blog.sohu.com/49281574.html