• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

vsftpd简介和配置说明

开发技术 开发技术 5小时前 1次浏览

1 简介

1.1工作模式

主动模式

被动模式(默认)

1.2登录用户类型

匿名用户

本地用户

虚拟用户

2 配置

2.1 配置说明

2.1.1匿名用户配置 

anonymous_enable=YES    #是否允许匿名登录 yes=允许 no= 不允许
ftp_username=ftp    #设置ftp匿名登录时的用户名,默认 ftp
no_anon_password=YES    #匿名用户登录不需要输入密码 默认 YES
deny_email_enable=YES    #以banned_email_file里面的电子邮件为密码的匿名用户不能登录
anon_root    #匿名用户登录后的默认目录,不设置,默认为/var/ftp
anon_upload_enable=YES    #允许匿名登录用户上传文件 默认NO
anon_mkdir_write_enable=YES    #允许匿名登录用户创建目录 默认NO
anon_other_write_enable=NO    #允许匿名用户有较高的写权限包括 删除目录和重命名等 默认NO
anon_world_readable_only=YES    #允许匿名用户下载可读文件 默认YES , 设置为yes时只能下载不能直接在Ftp中阅读。
chown_uploads=YES    #设置是否改变匿名用户上传文件(非目录)的属主。默认值为NO。

2.1.2 ssl加密协议配置

allow_anon_ssl=NO    #是否允许SSL连接,启用SSL后才可以使用此参数,默认NO
ssl_enable=NO    #是否启用ssl 安全连接 默认NO 如果设置为yes,vsftpd,将启用openSSL,通过SSL支持安全连接和数据传输
force_local_logins_ssl=YES    #是否对非匿名用户登录加密 默认yes
force_local_data_ssl=YES    #是否对非匿名用户传输加密 默认yes
force_anon_logins_ssl=NO    #匿名用户登录时是否加密 默认为no
force_anon_data_ssl=NO    #匿名用户数据传输时是否加密 默认为no
ssl_sslv2=NO    #是否开户sslv2协议。 默认NO ,如果设置为yes,前提为ssl_enable=YES
ssl_sslv3=NO    #是否开户sslv3协议。 默认NO ,如果设置为yes,前提为ssl_enable=YES
dsa_cert_file    #为ssl加密连接指定dsa证书位置 默认 无
ssl_ciphers    #是否指定加密方式 默认 DES-CBC3-SHA

2.1.3 日志文件配置

dual_log_enable=NO    # 是否启用双日志,默认NO 如果设置为yes,则分别在/var/log/xferlog、var/log/vsftpd.log里记录日志。前一个为wu-ftpd格式,可被通用工具分析,后一个为vsftpd的专用格式
xferlog_enable=YES    # 激活上传和下传的日志 依赖 参数xferlog_std_format的设置
xferlog_std_format=YES    # 使用标准格式记录上传、下传日志
syslog_enable=NO    # 是否关闭vsftpd的日志并记录系统日志 默认NO ,如果设置为YES,系统日志会记录到/var/log/vsftpd.log,而VSFTPD的日志进程将停止。

2.1.4 传输模式配置

ascii_download_enable=YES    #是否启用ascii模式下载文件 默认 NO
ascii_upload_enable=YES    #是否启用ascii模式上传文件 默认 NO
async_abor_enable=NO    #是否启用强制中止传输文件 默认 NO 启用此参数是为了免中止传输时的客户端挂死。只有特殊情况下才使用。
background=NO    #是否后台启动vsftpd监听 默认 NO 启用后,VSFTPD将监听进程置于后台,当访问vsftpd服务时,console 会返回到shell模式
check_shell=YES    #检测是否有可用的shell环境 默认 YES
userlist_enable=YES    #启用user_list文件的检查 默认NO:为YES时检查user_list文件中的用户列表,为NO时不检测该文件
userlist_deny=NO    #只有在userlist_enable启用时有效,默认YES:表示user_list文件中的用户不允许登录ftp  NO:表示只允许user_list文件中的用户登录FTP

2.1.5 传输速率配置

anon_max_rate    #匿名用户允许的最大传输速率    0秒
local_max_rate    #本地认证用户的最大传输速率    0秒

2.1.6超时设置

accept_timeout    #尝试连接时间    60s
data_connection_timeout    #数据传输延迟的最大时间,超过限制,会话将被终止    300s
idle_session_timeout   #连接建立后,两次ftp命令之间的时间间隔,超时会话将被终止    300s

2.1.7用户创建文件权限设置

anon_umask    匿名用户创建的文件的默认权限    022
local_umas    本地用户创建的文件的默认权限    022

2.1.8端口设置

listen_port=21    #FTP服务器建立连接所侦听的端口    21
ftp_data_port    #数据传输所使用的默认端口    20
connect_from_port_20=YES  #指定FTP数据传输连接使用20端口,设置为NO时,则进行数据连接时,所使用的端口由ftp_data_port指定     
pasv_max_port=0    #passive模式下数据传输使用的端口上限    0
pasv_mim_port=0    #passive模式下数据传输使用的端口下限    0

2.1.9用户访问权限设置

chroot_list_enable=YES    #是否改变用户的根目录, 默认 NO。 当设置为YES时,需要以root
     用户做如下操作:
     mkdir /etc/vsftpd/userconf;
     cat >>$username<<eof
     local_root=$path
     EOF
     说明 "$username" 是需要改变默认根目录的用户比如用户aaa
     ,$path 为你想要用户aaa默认访问的路径 ,比如/data/aaa
chroot_list_enable=YES    #设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO
chroot_list_file=/etc/vsftpd/chroot_list    #用于指定存储用户列表文件,该文件用于控制哪些用户只可以访问自己的根目录,不可以访问根路径的上级路径目录
chroot_local_user=YES    #用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。通过搭配能实现以下多种效果。见表格下方。

2.2 匿名用户配置文件


cat > /etc/vsftpd/vsftpd.conf << EOF
#全局配置
write_enable=YES
dirmessage_enable=YES
listen=NO
listen_ipv6=YES


#是否允许匿名登录yes=允许 no=不允许
anonymous_enable=YES
#匿名用户创建文件的默认权限
anon_umask=022
#设置ftp匿名登录时的用户名 默认ftp
ftp_username=ftp
#匿名用户登录不需要输入密码 默认YES
no_anon_password=YES
#匿名用户登录后的默认目录,不设置,默认为/var/ftp
anon_root=/var/ftp
#允许匿名登录用户上传文件 默认NO
anon_upload_enable=YES
#允许匿名登录用户创建目录 默认NO
anon_mkdir_write_enable=YES
#允许匿名用户有较高的写权限包括删除目录和重命名等 默认NO
anon_other_write_enable=YES
#允许匿名用户下载可读文件 默认YES,设置为yes时只能下载不能直接在Ftp中阅读
anon_world_readable_only=NO
#设置是否改变匿名用户上传文件(非目录)的属主 默认NO
chown_uploads=NO


#被动模式配置
pasv_min_port=30000
pasv_max_port=31000


##日志配置
xferlog_enable=YES
xferlog_std_format=YES
EOF

 

 

2.3本地用户配置文件


cat > /etc/vsftpd/vsftpd.conf << EOF
#全局配置
write_enable=YES
dirmessage_enable=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd


#允许本地用户登录禁止匿名用户登录
local_enable=YES
anonymous_enable=NO


#当且仅当userlist_enable=YES时,userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
#当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入.
#当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入).
#另外需要特别提醒的是:使用白名单后,匿名用户将无法登入,除非显式在user_list中加入一行:anonymous
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list


#下面是限制用户只能访问自己的主目录 存在chroot_list文件中的用户只能访问自己的主目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list


#被动模式配置
pasv_min_port=30000
pasv_max_port=31000


##日志配置
xferlog_enable=YES
xferlog_std_format=YES
EOF

 

 

2.4匿名和本地用户配置文件


cat > /etc/vsftpd/vsftpd.conf << EOF
#全局配置
write_enable=YES
dirmessage_enable=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd


#允许本地用户登录禁止匿名用户登录
local_enable=YES


#是否允许匿名登录yes=允许 no=不允许
anonymous_enable=YES
#匿名用户创建文件的默认权限
anon_umask=022
#设置ftp匿名登录时的用户名 默认ftp
ftp_username=ftp
#匿名用户登录不需要输入密码 默认YES
no_anon_password=YES
#匿名用户登录后的默认目录,不设置,默认为/var/ftp
anon_root=/var/ftp
#允许匿名登录用户上传文件 默认NO
anon_upload_enable=YES
#允许匿名登录用户创建目录 默认NO
anon_mkdir_write_enable=YES
#允许匿名用户有较高的写权限包括删除目录和重命名等 默认NO
anon_other_write_enable=YES
#允许匿名用户下载可读文件 默认YES,设置为yes时只能下载不能直接在Ftp中阅读
anon_world_readable_only=NO
#设置是否改变匿名用户上传文件(非目录)的属主 默认NO
chown_uploads=NO


#当且仅当userlist_enable=YES时,userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
#当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入.
#当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入).
#另外需要特别提醒的是:使用白名单后,匿名用户将无法登入,除非显式在user_list中加入一行:anonymous
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list


#下面是限制用户只能访问自己的主目录 存在chroot_list文件中的用户只能访问自己的主目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list


#被动模式配置
pasv_min_port=30000
pasv_max_port=31000


##日志配置
xferlog_enable=YES
xferlog_std_format=YES
EOF

 

2.5 虚拟用户配置文件

未完待续

 


程序员灯塔
转载请注明原文链接:vsftpd简介和配置说明
喜欢 (0)