vsftpd主配置详细说明
vsftpd配置
关于主机的设定值
connect_from_port_20=YES(NO)
还记得 wuftp 那篇文章提到的,关于主动联机的 ftp-data 吗?
这个设定项目在启动主动联机的port 20 咯!
listen_port=21
使用的 vsftpd命令通道的 port number 设定,如果您想要使用非
正规的 ftpport,在这个设定项目修改吧!
dirmessage_enable=YES(NO)
当使用者进入某个目录时,会显示该目录需要注意的内容,显示的
档案预设是.message ,当然,可以使用底下的设定项目来修订!
message_file=.message
当 dirmessage_enable=YES时,可以设定这个项目来让 vsftpd
寻找该档案来显示讯息!您也可以设定其它档名喔!
listen=YES(NO)
若设定为YES 表示 vsftpd 是以 standalone 的方式来启动的!
pasv_enable=YES(NO)
启动被动式联机(passivemode),一定要设定为 YES 的啦!
use_localtime=YES(NO)
是否使用主机的时间?!预设使用GMT 时间(格林威治),会比*
时间晚 8小时,一般来说,建议设定为 YES 吧!
write_enable=YES(NO)
是否允许使用者具有写入的权限?!这包括删除与修改等功能喔!
connect_timeout=60
单位是秒,如果client 尝试连接我们的 vsftpd 命令通道超过 60 秒,
则不等待,强制断线咯。
accept_timeout=60
当使用者以被动式PASV 来进行数据传输时,如果主机启用 passive port
并等待 client超过60 秒,那么就给他强制断线!您可以修改 60 这个数值。
data_connection_timeout=300
如果 client与 Server 间的数据传送在 300 秒内都无法传送成功,
那 Client的联机就会被我们的 vsftpd 强制剔除!
idle_session_timeout=300
如果使用者在300 秒内都没有命令动作,强制离线!
max_clients=0
如果 vsftpd是以 stand alone 方式启动的,那么这个设定项目可以设定
同一时间,最多有多少client 可以同时连上 vsftpd 哩!?
max_per_ip=0
与上面 max_clients类似,这里是同一个 IP 同一时间可允许多少联机?
pasv_max_port=0
pasv_min_port=0
上面两个是与passive mode 使用的 port number 有关,如果您想要使用
65400 到65410 这 11 个 port 来进行被动式资料的连接,可以这样设定
pasv_max_port=65410以及 pasv_min_port=65400
ftpd_banner=一些文字说明
当使用者无法顺利连上我们的主机,例如联机数量已经超过max_clients
的设定了,那么client 的画面就会显示『一些文字说明』的字样,您可以修改
关于实体用户登入者的设定值
guest_enable=YES(NO)
若这个值设定为YES 时,那么任何非 anonymous 登入的账号,均会被
假设成为guest (访客) 喔!
local_enable=YES(NO)
这个设定值必须要为YES 时,在 /etc/passwd 内的账号才能以
实体用户的方式登入我们的vsftpd 主机喔!
local_max_rate=0
实体用户的传输速度限制,单位为bytes/second, 0 为不限制。
chroot_local_user=YES(NO)
将使用者限制在自己的家目录之内(chroot)!这个设定在vsftpd
当中预设是NO,因为有底下两个设定项目的辅助喔!
所以不需要启动他!
chroot_list_enable=YES(NO)
是否启用将某些实体用户限制在他们的家目录内?!预设是NO ,
不过,如果您想要让某些使用者无法离开他们的家目录时,
可以考虑将这个设定为YES ,并且规划下个设定值
chroot_list_file=/etc/vsftpd.chroot_list
如果 chroot_list_enable=YES那么就可以设定这个项目了!他里面可以规定
那一个实体用户会被限制在自己的家目录内而无法离开!(chroot)
一行一个账号即可!
userlist_deny=YES(NO)
若此设定值为YES 时,则当使用者账号被列入到某个档案时,在该档案内
的使用者将无法登入vsftpd 服务器!该档案文件名与下列设定项目有关。
userlist_file=/etc/vsftpd.user_list
若上面 userlist_deny=YES时,则这个档案就有用处了!在这个档案内的
账号都无法使用vsftpd 喔!
关于匿名者登入的设定值
anonymous_enable=YES(NO)
设定为允许anonymous 登入我们的 vsftpd 主机!预设是 YES ,底下的所有
相关设定都需要将这个设定为anonymous_enable=YES 之后才会生效!
anon_world_readable_only=YES(NO)
仅允许 anonymous具有下载可读档案的权限,预设是 YES。
anon_other_write_enable=YES(NO)
是否允许anonymous 具有写入的权限?预设是 NO!如果要设定为 YES,
那么开放给anonymous 写入的目录亦需要调整权限,让 vsftpd 的 PID
拥有者可以写入才行!
anon_mkdir_write_enable=YES(NO)
是否让anonymous 具有建立目录的权限?默认值是 NO!如果要设定为 YES,
那么 anony_other_write_enable必须设定为 YES !
anon_upload_enable=YES(NO)
是否让anonymous 具有上传数据的功能,预设是 NO,如果要设定为 YES ,
则 anon_other_write_enable=YES必须设定。
deny_email_enable=YES(NO)
将某些特殊的email address 抵挡住,不让那些 anonymous 登入!
如果以 anonymous登入主机时,不是会要求输入密码吗?密码不是要您
输入您的email address 吗?如果你很讨厌某些 email address ,
就可以使用这个设定来将他取消登入的权限!需与下个设定项目配合:
banned_email_file=/etc/vsftpd.banned_emails
如果 deny_email_enable=YES时,可以利用这个设定项目来规定那个
email address不可登入我们的 vsftpd 喔!在上面设定的档案内,
一行输入一个email address 即可!
no_anon_password=YES(NO)
当设定为YES 时,表示 anonymous 将会略过密码检验步骤,
而直接进入vsftpd 服务器内喔!所以一般预设都是 NO 的!
anon_max_rate=0
这个设定值后面接的数值单位为bytes/秒 ,限制 anonymous 的传输速度,
如果是 0则不限制(由最大频宽所限制),如果您想让 anonymous 仅有
30 KB/s 的速度,可以设定『anon_max_rate=30000』
anon_umask=077
限制 anonymous的权限!如果是 077 则 anonymous 传送过来的档案
权限会是-rw------- 喔!
关于系统安全的设定值:
ascii_download_enable=YES(NO)
如果设定为YES ,那么 client 就可以使用 ASCII 格式下载档案。
一般来说,由于启动了这个设定项目可能会导致DoS 的攻击,因此预设是NO。
ascii_upload_enable=YES(NO)
与上一个设定类似的,只是这个设定针对上传而言!预设是NO。
async_abor_enable=YES(NO)
如果您的FTP client 会下达 "async ABOR" 这个指令时,这个设定才需要启用
一般来说,由于这个设定并不安全,所以通常都是将他取消的!
check_shell=YES(NO)
如果您想让拥有任何奇怪的shell 的使用者(在 /etc/passwd 的 shell 字段)
可以使用vsftpd 的话,这个设定可以设定为 NO 喔!
one_process_model=YES(NO)
这个设定项目比较危险一点~当设定为YES 时,表示每个建立的联机
都会拥有一支process 在负责,可以增加 vsftpd 的效能。不过,
除非您的系统比较安全,而且硬件配备比较高,否则容易耗尽系统资源喔!
一般建议设定为NO 的啦!
tcp_wrappers=YES(NO)
当然我们都习惯支持TCP Wrappers 的啦!所以设定为 YES 吧!
xferlog_enable=YES(NO)
当设定为YES 时,使用者上传与下载档案都会被纪录起来。记录档案
与下一个设定项目有关:
xferlog_file=/var/log/vsftpd.log
如果上一个xferlog_enable=YES 的话,这里就可以设定了!
这个是登录档的档名啦!
xferlog_std_format=YES(NO)
是否设定为wu ftp 相同的登录档格式?!预设为 NO ,因为登录档会比较容易读!
不过,如果您有使用wu ftp 登录文件的分析软件,这里才需要设定为 YES
nopriv_user=nobody
我们的 vsftpd预设以 nobody 作为此一服务执行者的权限。因为 nobody 的权限
相当的低,因此即使被入侵,入侵者仅能取得nobody 的权限喔!
pam_service_name=vsftpd
这个是 pam模块的名称,我们放置在 /etc/pam.d/vsftpd 即是这个咚咚!