VSFTP_vsftpd.conf详解

主动FTP:
命令连接:客户端随机端口 -> 服务器 21端口
数据连接:客户端随机端口 <- 服务器 20端口
被动FTP:
命令连接:客户端 随机端口 -> 服务器 21端口
数据连接:客户端随机端口 -> 服务器随机端口

vsftpd.conf文件详解

匿名用户相关参数

anonymous_enable=YES # 允许匿名用户登陆
no_anon_password=NO # 对匿名用户密码检测
ftp_username=ftp # 匿名用户登陆的username
anon_mkdir_write_enable=NO # 不允许匿名用户创建目录
anon_other_write_enable=NO # 不允许匿名用户对文件增、删、改
anon_upload_enable=NO # 不允许匿名用户上传文件
anon_world_readable_only=YES # 如果为YES,匿名用户只能下载可读的文件
anon_max_rate=0 # 允许匿名用户最大数据传输速率,单位为B/s
anon_umask=077 #匿名用户上传文件的权限
chown_uploads=NO # 如果设置为YES,所有的匿名用户上传的文件属主都设置为chown_username指定用户
chown_username=root # 指定chown_uploads中所需的文件属主用户
deny_email_enable=NO # 如果设置为YES,则提供一个内容为mail address的文件,若是使用匿名登入,则会要求输入email address,如果它不在文件内,则禁止进入
banned_email_file=/etc/vsftpd/banned_emails # 指定deny_email_enable中的文件路径

本地用户相关参数

local_enable=YES # 是否允许本地用户登陆
write_enable=YES # 本地用户写权限
local_umask=022 # 本地用户的文件umask码
local_root=none # 本地用户登陆后改变的目录,默认是各自家目录
local_max_rate=0(unlimited) # 本地用户使用的最大传输速度,单位为B/s

虚拟用户相关参数

pam_service_name=vsftpd # 设置PAM使用的名称
guest_enable=NO # 是否启用虚拟用户
guest_username=vsftpuser # 指定本地用户名,用来映射虚拟用户
virtual_use_local_privs=NO # 如果启用,虚拟用户将使用与本地用户相同的权限,否则与匿名用户权限相同

banner参数

dirmessage_enable=YES # 如果设置为YES,当用户首次进入一个目录后,会查找.message文件并显示
message_file=message # 设置message文件
ftpd_banner=Welcome to blah FTP service # 设置进入banner信息
banner_file=none # 设置一个包含banner信息的文件路径,开启它将会覆盖ftpd_banner

日志文件

xferlog_enable=YES # 是否开启上传下载日志,默认放在/var/log/vsftpd.log
xferlog_std_format=NO # 日志将以xferlog格式写入
xferlog_file=/var/log/xferlog # 设置日志存放路径
log_ftp_protocol # 记录所有请求和响应,前提是xferlog_std_format=NO

数据传输模式

ascii_upload_enable=YES # 是否启用ASCII模式上传数据
ascii_download_enable=YES # 是否启用ASCII模式下载数据

工作模式与端口设置

listen_port=21 # 设置ftp服务工作的端口
connect_from_port_20=YES # 主动模式数据传输的端口
pasv_enable=YES # YES为被动模式工作,NO则是主动模式,默认YES
pasv_max_port=0 # PASV模式下,最大传输数据端口号,0为任意无限制
pasv_min_port=0 # PASV模式下,最小传输数据端口号

超时时间设置

idle_session_timeout=600 # 客户端连接FTP后无命令超时时间
data_connection_timeout=120 # 无数据传输超时时间
accept_timeout=60 # 建立FTP连接的超时时间
connect_timeout=60 # PORT模式下建立数据连接的超时时间

目录权限,锁定家目录

chroot_local_user=NO # 是否禁止本地用户切换到家目录上级目录,绑定家目录为用户的根目录
chroot_list_enable=NO # 是否启用chroot列表文件,写入文件中的用户是否锁定家目录,与chroot_local_user的结果相对立
chroot_list_file=/etc/vsftpd/chroot_list # 指定用户列表文件的文件路径
以下为4中组合方式:
chroot_local_user=YES,chroot_list_enable=YES # 只允许chroot_list_file文件中的用户切换到其他目录
chroot_local_user=YES,chroot_list_enable=NO # 所有本地用户都锁定在家目录下
chroot_local_user=NO,chroot_list_enable=YES # chroot_list_file文件中的用户将锁定在家目录下
chroot_local_user=NO,chroot_list_enable=NO # 所有本地用户都可以切换到其他目录

主服务运行模式与连接设置

listen=YES # 设置vsftpd服务器是否以standalone模式运行,有很多与服务器运行相关的配置命令,需要在此模式下才有效。 若设置为NO,则vsftpd以super daemon运行,要受到xinetd 服务的管控,功能上会受到限制
max_clients=0(unlimited) # 设置客户端最大连接数,standalone模式下有效
max_per_ip=0(unlimited) # 同一IP客户端最大连接数,standalone模式下有效

用户访问控制

userlist_file=/etc/vsftpd/user_list # 控制用户访问FTP的文件
userlist_enable=NO # 如果启用,vsftpd将从userlist_file提供的文件名加载用户名列表
userlist_deny=YES # 如果设为YES,userlist_file文件中的用户不可以访问FTP服务;如果设为NO,只用文件中用户才能访问服务
/etc/vsftpd/ftpusers # 文件用来定义不允许访问FTP服务的用户列表,优先级比userlist_deny高

自定义用户配置

user_config_dir=/etc/vsftpd/virtual_user_conf/ # 指定虚拟用户配置文件目录,目录下可以创建与虚拟用户名相同的文件,给予不同的权限设置

其他设置

download_enable=YES # 如果设置为NO,所有下载请求被拒绝
ls_recurse_enable=NO # 启用后,允许使用ls -R命令,此命令可能会消耗大量资源

你可能感兴趣的:(VSFTP_vsftpd.conf详解)