作者:谭孟泷
最后更新日期:2006年7月27日
作者保留版权,基于GPL协议发布。
一般性设置
欢迎语
登入欢迎语
ftpd_banner="welcome"
banner_file=消息文件
显示每目录的欢迎语
1、dirmessage_enable=YES
2、在用户的目录下建立.message文件,以存储用户进入此目录时显示的信息
将每一个连接,以独立的进程来运行
setproctitle_enable=YES
将vsftpd并入xinted
1、listen=NO
2、新增一个文件: /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
}
如果为YES,则
侦听IP地址
listen_address
最大连接数
max_clients
最大每IP连接数
max_per_ip
端口设置
强迫ftp-data 的数据传送使用port 20。默认值为YES。
connect_from_port_20
设定ftp 数据联机所使用的port。默认值为20。
ftp_data_port
侦听端口
listen_port
建立资料联机所可以使用port 范围的上界,0 表示任意。默认值为0。
pasv_max_port
建立资料联机所可以使用port 范围的下界,0 表示任意。默认值为0。
pasv_min_port
日志文件
完整将信息纪录在xferlog_file所定义的档案中。默认值为YES。
xferlog_enable
设定纪录文件所在的位置,默认值为/var/log/vsftpd.log。
xferlog_file
纪录文件将会写为xferlog 的标准格式,默认值为NO。
xferlog_std_format
数据传输控制
ascii
ascii_download_enable
管控是否可用ASCII 模式下载。默认值为NO。
ascii_upload_enable
管控是否可用ASCII 模式上传。默认值为NO。
本地用户数据传输速度(单位:byte/s)
local_max_rate=200000
匿名用户数据传输速度(单位:byte/s)
anon_max_rate=50000
针对不同的使用者限制不同的速度(假设用户名为test1)
设置用户配置文件的目录:
user_config_dir
1、在/etc/vsftpd/vsftpd.conf中增加一行:
user_config_dir=/etc/vsftpd/userconf
2、新增一个目录:/etc/vsftpd/userconf
3、在/etc/vsftpd/userconf之下新增一个名为test1的文件,并内容增加一行(单位:byte/s):
local_max_rate=250000
超时控制
接受建立联机的逾时设定,单位为秒。默认值为60。
accept_timeout
响应PORT 方式的数据联机的逾时设定,单位为秒。默认值为60。
connect_timeout
建立数据联机的逾时设定。默认值为300 秒。
data_connection_timeout
发呆的逾时设定,单位为秒。默认值为300。
idle_session_timeout
安全设置
定义PAM 所使用的名称,默认值为vsftpd。
pam_service_name=vsftpd
将vsftpd与TCP_wrapper结合,以过滤IP地址
tcp_wrappers=YES
(在/etc/hosts.allow 与/etc/hosts.deny 中定义可登录或是拒绝的来源地址)
安全文件夹,默认值为/usr/share/empty
secure_chroot_dir
穿过防火墙(使用iptables防火墙)
1、执行外部命令(PORT FTP mode):
(预设的侦听端口:21,数据传输端口:20,其它关闭)
iptables -A INPUT -p tcp -m multiport --dport 2121,2020
-j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
(注意:此时连接方式不能选择为passive mode,否则无法连上FTP服务器。)
此处需要设置的参数:
listen_port=21
ftp_data_port=20
pasv_enable=NO
2、执行外部命令(PASS FTP mode):
(预设的侦听端口:21,数据传输端口:9981-9990,其它关闭)
iptables -A INPUT -p tcp -m multiport --dport
21,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990 -j
ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
此处需要设置的参数:
listen_port=21
pasv_enable=YES
pasv_min_port=9981
pasv_max_port=9986
用户控制
允许所有本地用户改变目录
chroot_local_user=YES
将所有登录用户的群组都显示为ftp
hide_ids=YES
允许登入者使用ls -R 这个指令(默认值为NO)
ls_recurse_enable=YES
用户可写(默认值为NO)
write_enable=YES
特定使用者test1、test2不得更改目录
修改/etc/vsftpd/vsftpd.conf,添加:
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
新增一个文件: /etc/vsftpd/chroot_list,并添加2行:
test1
test2
允许本机使用者登入。默认值为YES。
local_enable
本机使用者登入时,将被更换到定义的目录下,默认值为无。
local_root
显示拥有者的名称,默认值为NO。
text_userdb_names
允许使用PASV 的模式建立数据的联机。默认值为YES。
pasv_enable
允许匿名用户登录
anonymous_enable=YES
如果为YES,则
匿名登入时,不会询问密码,默认值为NO。
no_anon_password
匿名登入者会被允许新增目录,默认值为NO。
anon_mkdir_write_enable
使用匿名登入时,所登入的目录,默认值为无。
anon_root
匿名登入者拥有多于上传与建立目录之外的权限,默认值为NO。
anon_other_write_enable
匿名登入者会被允许上传目录,默认值为NO。
anon_upload_enable
匿名登入者会被允许下载可阅读的档案。默认值为YES。
anon_world_readable_only
定义匿名登入的使用者名称。默认值为ftp。
ftp_username
要求登录输入email,若其在/etc/vsftpd.banner_emails中则拒绝登录,默认值为NO。
deny_email_enable
所有的非匿名登入者都视为guest,默认值为NO。
guest_enable
定义guest 的使用者名称,默认值为ftp。
guest_username
新建文件权限
匿名登入者新增档案时的umask 数值。默认值为077。
anon_umask
上传档案的权限,与chmod 所使用的数值相同。默认值为0666。
file_open_mode
本机登入者新增档案时的umask 数值。默认值为077。
local_umask
更改文件所有权
匿名上传数据的拥有者将被更换为chown_username当中所设定的使用者,默认值为NO。
chown_uploads
匿名登入者上传档案时,该档案的拥有者将被置换的使用者名称,默认值为root。
chown_username