vsftpd 配置文件详细说明(史上最全附例子)
vsftpd.conf-vsftpd的配置文件
vsftpd.conf - vs ftpd的配置文件描述v sftpd.conf可以用于控制 vs ftpd,以实现各种各样的功能. vs ftpd缺省到/etc/v sftpd/vsft pd.co nf 处查找此文件.当然,您也可以通过命令行参数进行指定. 这个命令行参数就是指 vs ftpd的配置文件. 对于想使用高级inetd管理的用户, 例如, xin etd,则这个功能非常有用.可以使用不同的配置文件来启动基于虚拟主机的每个服务.格式vsf tpd.c onf 的格式非常简单. 每行要么是注释, 要么是指令. 注释行以#开始,将被忽略.指令行格式如下:选项=值应当注意的一点是如果在选项, =和值之间存在空格, 将会报错.(译者注: 即三者之间不允许存在空格)每项设定都有默认值, 这可以通过配置文件来修改.布尔选项下边是布尔选项的列表. 一个布尔选项的值可以被设为 YES或 NOallo w_ano n_ssl只有在ssl_e nable被激活时才有用.如果设为YES,匿名用户将被允许使用安全的S SL 联接.默认: NOanon_mkdir_writ e_ena ble如果设为Y ES, 匿名用户将允许在某些情况下创建目录. 这需要激活w rite_enabl e 选项,并且匿名 ftp用户需要对父目录有写权限.默认: NOano n_oth er_wr ite_e nable如果设为 YES,匿名用户将拥有除上载, 和创建目录外更多的权限, 比如删除和重命名. 通常不建议这么做, 但完整的配置文件是包括这一选项的.默认: NOanon_uploa d_ena ble如果设为Y ES, 匿名用户在某些情况下允许上载文件. 这需要将 wri te_en able选项激活,并且匿名用户应当对对应目录有写权限.默认: N Oan on_wo rld_r eadab le_on ly启用时, 将只允许匿名用户下载具有全球读权限的文件.这将意味着 ftp用户可以拥有自己的文件, 特别是前边提到的上载的文件.默认: YESano nymou s_ena ble用于控制是否允许匿名用户登录.如果激活, ftp和 ano nymou s 都将被视为匿名用户登录.默认: Y ESa scii_downl oad_e nable如果被激活, 下载时将使用ASCII模式进行数据传输.默认:NOa scii_uploa d_ena ble如果被激活,上载时将使用 AS CII 模式进行数据传输.默认: NOasy nc_ab or_en able如果被激活, 一个特别的 FT P 命令"asyn c ABO R" 将被激活. 只有某些F TP 客户端需要使用这一特性.另外,这个特性并不是很好控制, 因此默认没有启用. 不幸的是, 如果没有启用这个特性,某些F TP 客户端在取消一个传输时就会挂起,因此, 您可能希望启用它.默认: NObac kgrou nd如果被激活,并且 vs ftpd以 "li sten"模式启动, vsf tpd 将会back groun d 监听进程. 即contr ol wi ll im media telybe re turne d tothe s hellwhich laun chedvsftp d.默认: NOchec k_she ll注意! 这个选项只对构建时加入n on-PA M 参数的 vsft pd 有效. 如果令其失效,vsftp d 将不会检查有效用户的用于本地登录的/etc/shell s.默认: YESchm od_en able如果被激活, 将允许使用 SI TE CH MOD 命令. 注意! 这只对本地用户有效. 匿名用户从不允许使用S ITE C HMOD.默认:YESchown_uplo ads如果被激活,所有匿名上载的文件的宿主将会调整为c hown_usern ame 中指定的用户. 这样就便于管理,特别是从安全的角度考虑.默认: NOchr oot_l ist_e nable如果被激活, 您需要提供一个需要将其限制于其家目录中的本地用户列表.如果将chroo t_loc al_us er 设为 YES则意义稍有不同. 在此情况下,此列表变成不需将用户限制于其家目录的用户的列表.默认情况下,这个列表文件是/etc/vsftp d.chr oot_l ist,但可以通过 chro ot_li st_fi le 选项来设定.默认: N Och root_local_user如果设为 YES,本地用户, 在登录后将(默认)被限制在其家目录中. 警告:此选项有安全隐患,特别是在用户拥有上载权限,或可以sh ell访问的时候.如果您不清楚后果,请不要启用它. 注意, 这些安全隐患并不是 vsf tpd 所特有的.所有的提供将本地用户进行目录限制的 FT P 守护进程有存在这种隐患.默认: N Oco nnect_from_port_20用于控制在服务器端,是否使用端口20(f tp-da ta)进行数据联接.基于安全的考虑,有些客户端需要这样做. 相反,禁用这个选项, 可以使 vs ftpd以较少特权运行.默认: NO(但是在示例设置中启用了这个选项)d eny_e mail_enabl e如果激活, 您应当提供一个禁止匿名用户用做密码的 e-m ail 地址列表.默认情况下, 这个列表文件为/etc/vsftp d.ban ned_e mails, 当然,您可以通过 ban ned_e mail_file选项指定.默认:NOd irlis t_ena ble如果设为N O, 所有的目录列取命令都将被禁止.默认: YE Sdi rmess age_e nable如果启用, 当用户首次进入一个新目录时, FTP服务器将会显示欢迎信息. 默认情况下,是扫描目录下的.messa ge 文件获取的,当然, 您也可以通过 mess age_f ile 选项设定.默认: N O(但是在示例设置中启用了这个选项)downl oad_e nable如果设为 NO,所有的下载请求都将被拒绝.默认: YE Sdu al_lo g_ena ble如果启用,将生成两个相似的日志文件, 默认在 /v ar/lo g/xfe rlog和 /va r/log/vsft pd.lo g 目录下. 前者是 wu-f tpd 类型的传输日志, 可以用于标准工具分析.后者是vsftp d 自己类型的日志.默认:NOf orce_dot_f iles如果激活,以 .开始的文件和目录在目录列取的时候将会被显示, 即使客户端没有使用 "a" 标识.这不包括 "."和 ".." 目录默认: N Ofo rce_l ocal_data_ssl只有在 ss l_ena ble 被激活时才能使用. 如果被激活,则所有的非匿名用户登录时都被强制使用安全S SL 联接来传送接收数据.默认: YE Sfo rce_l ocal_login s_ssl只有在ssl_e nable被激活时才能使用.如果被激活, 则所有的非匿名用户登录时都被强制使用安全 SSL联接来传送密码.默认: YE Sgu est_e nable如果启用, 所有非匿名用户都将以 "g uest"身份登录. gue st 通过 gues t_use rname设定,来映射到一个指定用户.默认: NOhide_ids如果启用,所有目录中的用户和组信息列取时都将显示为 "ftp".默认: NOlist en如果启用, v sftpd将以独立模式运行.这就意味着 vsf tpd 不能由类i netd来启动.vsftp d 应当直接执行.由 vsf tpd 自身监听和处理联接请求.默认: NOliste n_ipv6如l isten参数,所不同的是, vsf tpd 将对 IPv6 接口进行监听,而不是I Pv4 接口. 此参数和l isten参数相互独立.默认: NOloc al_en able用于控制是否允许本地登录. 如果启用,/etc/passw d 中的普通帐号即可用于登录.默认:NO如果启用, 假若选项 xfe rlog_std_f ormat没有启用, 所有的 FTP请求和应答都会被记录. 此选项对将对调试很有用.默认: N Ols_recu rse_e nable如果启用, 此设置将允许用户使用 "l s -R". 这有点安全威胁,因为在大型站点的根目录下进行 ls -R 将会消耗很多资源.默认: NOno_an on_pa sswor d如果启用, 匿名用户登录将不再需要密码 - 可以直接登录.默认: NOno_lo g_loc k如果启用, 在写日志文件时, 将会阻止 vsf tpd 使用文件锁定. 这个选项通常不会启用. 它的存在是为了处理操作系统的一个bug,如 Sol aris/ Ver itas文件系统组合某些情况下试图锁定日志文件的现象.默认: NOone_proc ess_m odel如果你使用 Linu x 2.4内核,您就可以使用一个不同的安全模式, 它只允许每个联接使用一个进程. 这有一点小小的安全问题,但是提高了性能.如果您不清楚后果,或者您的站点要承受大量的并发用户联接时,请不要启用此选项.默认:NOp asswd_chro ot_en able如果启用,同 ch root_local_user一起使用, 就会基于每个用户创建限制目录, 每个用户限制的目录源于/etc/passw d 中的家目录. 当家目录路径中包含/./ 时, enot es th atth e jai l isat th at pa rticu lar l ocati on in thepath.pasv_enabl e如果数据传输时,您不允许使用 PAS V 模式,则将此选项设为N O默认: YESpasv_prom iscuo us如果您要禁用PASV安全检查,将此选项设置为Y ES. 该检查用于确保数据传输联接与控制联接源于同一 IP地址. 如果不清楚后果, 请不要启用此选项! 此选项只有在某些使用安全隧道的方案中才能正常使用, 或者需要F XP 的支持.默认: NOport_enab le如果您不允许使用端口模式获取数据联接, 将此选项设置为 NO.默认: Y ES如果您想禁用端口安全检查,将此选项设置为 YE S. 此检查用于确认出站的数据只流向客户端. 搞清楚后果前,不要启用此选项!默认: NOrun_as_l aunch ing_u ser如果您希望可以由用户来启动 vs ftpd,将此选项设置为Y ES. 当不能使用r oot登录时, 这通常很有用.严重警告: 搞清楚后果前,不要启用此选项, 随意的启用此选项将会导致非常严重的安全问题.特别是vsftp d 没有/不能使用目录限制技术来限制文件访问时(甚至vsft pd是由r oot启动的). 一个愚蠢的替代方法是将选项 de ny_fi le 设为{/*,*..*}, 但是其可靠性并不能和限制目录相比,甚至不在一个等级上.如果启用此选项,应当限制其它选项的使用. 例如, 非匿名登录, 上载文件宿主转换, 使用源自端口20的联接和低于1024 的端口不会工作. 其它一些选项也可能受到影响.默认值: NOsec ure_e mail_list_enabl e如果您要为匿名用户指定一个做为密码的邮件地址列表, 将此选项设置为 YES.在不需要创建虚拟用户的情况下, 构建一个低安全性访问控制很有用. 如果启用,匿名用户只有使用在email_pass word_file中指定的邮件地址做为密码, 才能登录.文件格式是每行一个密码, 没有空格. 默认文件名是 /etc/vsft pd.em ail_p asswo rds.默认: N Ose ssion_supp ort此选项用于控制 vsf tpd 是否为登录保持会话.如果保持会话, vs ftpd将会尝试和更新ut mp 和wtmp.如果使用 PAM认证, 同时还会打开 pam_sessi on, 直至登出.如果不需要保持登录会话, 或许您希望禁用此选项,以使得v sftpd占用更少的进程和/或更少的特权. 注意 - ut mp 和wtmp只有在启用 PAM的情况下才支持.默认: NOset proct itle_enabl e如果启用, vs ftpd将会尝试在系统进程列表中显示会话状态信息. 也就是说, 进程报告将会显示每个v sftpd会话在做什么 (闲置, 下载等等).出于安全的考虑, 您可能需要将其关闭.默认: N Oss l_ena ble如果启用此选项, 并在编译时加入 Open SSL 支持, vs ftpd将支持通过 SSL进行安全联接. 此选项用于控制联接(包括登录) 以及数据联接. 您可能同时需要支持SSL的客户端.注意!!小心启用此选项. 仅在需要时才启用. v sftpd对使用OpenS SL 库的安全性不做任何担保.启用此选项, 就意味着您相信所安装的OpenS SL 库的安全性.默认: N Oss l_ssl v2只有激活 ss l_ena ble 选项时才有效. 如果启用, 此选项将允许使用 SSL v2 协议进行联接. TLS v1 仍为首选联接.默认: NOssl_s slv3只有激活ssl_e nable选项时才有效. 如果启用,此选项将允许使用S SL v3协议进行联接. T LS v1仍为首选联接.默认: NOssl_tlsv1只有激活 ssl_enab le 选项时才有效.如果启用, 此选项将允许使用 TLSv1 协议进行联接. TLSv1 仍为首选联接.默认:YESsyslo g_ena ble如果启用,任何本来应该输出到/var/log/v sftpd/vsft pd.lo g 的日志, 将会输出到系统日志中. 记录由 FT PD 完成.默认: NOtcp_w rappe rs如果启用, 并且在编译vsftp d 时加入了对 TC P_Wra ppers的支持,则连入请求转由T CP_Wr apper s 完成访问控制.另外, 这是基于每个IP的配置机制. 如果tcp_wrap pers设置了V SFTPD_LOAD_CONF环境变量, 则v sftpd会话将会试图加载在此变量中指定的 vs ftpd配置文件.默认:NOt ext_u serdb_name s默认情况下, 目录列取时在用户和组字段显示的是数字ID.如果启用此选项,则可以得到文本名称.基于性能的考虑, 默认情况下关闭此选项.默认:NOt ilde_user_enabl e如果启用, vs ftpd将试图解析类似 ~c hris/pics的路径名,即跟着用户名的波型号. 注意, vsf tpd 有时会一直解析 ~ 和 ~/ (这里, ~被解析称为初始登录路径).~user则只有在可以找到包含闲置目录的 /et c/pas swd 文件时才被解析.默认值: NOuse_loca ltime如果启用, vsf tpd 在列取目录时, 将显示您本地时区的时间.默认显示为 GMT.由MD TM FT P 命令返回的时间同样也受此选项的影响.默认:NOu se_se ndfil e一个内部设定,用于测试在您的平台上使用 sen dfile() 系统的性能.默认: Y ESu serli st_de ny此选项只有在激活 use rlist_enab le 时才会有效.如果您将此选项设置为 NO,则只有在userl ist_f ile 文件中明确指定的用户才能登录系统. 当登录被拒绝时,拒绝发生在被寻问命令之前.默认: Y ESu serli st_en able如果启用, vsft pd 将会从 use rlist_file选项指定的文件中加载一个用户名列表.如果用户试图使用列表中指定的名称登录,那么他们将在寻问密码前被拒绝.这有助于阻止明文传送密码.详见use rlist_deny.默认: NOvirtu al_us e_loc al_pr ivs如果启用,虚拟用户将拥有同本地用户一样的权限. 默认情况下,虚拟用户同匿名用户权限相同,这倾向于更多限制(特别是在写权限上).默认: NOwrite_enab le用于控制是否允许 FTP命令更改文件系统.这些命令是: ST OR, D ELE,RNFR,RNTO, MKD, RMD, APP E 和S ITE.默认: N Oxf erlog_enab le如果启用, 将会维护一个日志文件,用于详细记录上载和下载. 默认情况下,这个日志文件是/var/l og/vs ftpd.log.但是也可以通过配置文件中的v sftpd_log_file选项来指定. 默认: NO(但是在示例设置中启用了这个选项)xfe rlog_std_f ormat如果启用, 传输日志文件将以标准 xf erlog的格式书写, 如同 wu-f tpd 一样. 这可以用于重新使用传输统计生成器.然而,默认格式更注重可读性. 此格式的日志文件默认为/var/l og/xf erlog, 但是您也可以通过 xfer log_f ile 选项来设定.默认:NO数字选项下边是数字选项的列表. 数字选项必须设置一个非负的整数.为了便于u mask选项,同样也支持八进制数字.八进制数字首位应为0 .accep t_tim eout超时, 以秒计, 用于远程客户端以 PA SV 模式建立数据联接.默认: 60anon_max_rate允许的最大数据传输速率, 单位 b/s,用于匿名客户端.默认: 0 (无限制)an on_um ask用于设定匿名用户建立文件时的u mask值. 注意! 如果您要指定一个八进制的数字, 首位应当是"0", 否则将视作10 进制数字.默认: 077co nnect_time out超时, 单位秒, 用于响应P ORT 方式的数据联接.默认: 60data_conn ectio n_tim eout超时, 单位秒,用于设定空闲的数据连接所允许的最大时长.如果触发超时, 则远程客户端将被断开.默认:300file_open_mode用于设定创建上载文件的权限.mask的优先级高于这个设定. 如果想允许上载的文件可以执行, 将此值修改为0777默认: 0666ftp_d ata_p ortF TP PO RT 方式的数据联接端口.(需要激活c onnec t_fro m_por t_20选项)默认: 20idl e_ses sion_timeo ut超时, 单位秒, 远程客户端的最大 FTP命令间隔. 如果超时被触发,远程客户端将被断开.默认: 300list en_po rt如果 vsft pd 以独立模式启动, 此端口将会监听FTP 连入请求.默认: 21lo cal_m ax_ra te允许的最大数据传输速率,单位b/s, 用于限制本地授权用户.默认:0 (无限制)l ocal_umask用于设定本地用户上载文件的umask值. 注意! 如果您要指定一个八进制的数字, 首位应当是"0",否则将视作 10 进制数字.默认: 077m ax_cl ients如果v sftpd以独立模式启动,此选项用于设定最大客户端联接数. 超过部分将获得错误信息.默认: 0 (无限制)ma x_per_ip如果 vsf tpd 以独立模式启动, 此选项用于设定源于同一网络地址的最大联接数.超过部分将获得错误信息.默认: 0(无限制)pas v_max_port为 PA SV 方式数据联接指派的最大端口. 基于安全性考虑, 可以把端口范围指定在一样较小的范围内.默认: 0 (可以使用任意端口)pasv_min_p ort为 PASV方式数据联接指派的最小端口.基于安全性考虑,可以把端口范围指定在一样较小的范围内.默认: 0 (可以使用任意端口)tr ans_c hunk_size您可能不想修改这个设置, 如果有带宽限制, 可以尝试将此值设置为 8192.默认: 0(让vsf tpd 自己选择一个更合理的设置)字符选项下边是字符选项列表ano n_roo t此选项声明, 匿名用户在登录后将被转向一个指定目录(译者注: 默认根目录).失败时将被忽略.默认: (无)b anned_emai l_fil e此选项用于指定包含不允许用作匿名用户登录密码的电子邮件地址列表的文件. 使用此选项需要启用 de ny_em ail_e nable选项.默认: /etc/v sftpd.bann ed_em ailsbann er_fi le此选项用于指定包含用户登录时显示欢迎标识的文件. 设置此选项,将取代f tpd_b anner选项指定的欢迎标识.默认: (无)chow n_use rname用于指定匿名用户上载文件的宿主. 此选项只有在chown_uplo ads 选项设定后才会有效.默认;ro otc hroot_list_file此选项用于指定包含被限制在家目录中用户列表的文件. 使用此选项, 需启用ch root_list_enabl e . 如果启用了chroo t_loc al_us er 选项, 此文件所包含的则为不会被限制在家目录中的用户列表.默认: /et c/vsf tpd.c hroot_listcmd s_all owed此选项指定允许使用的 FTP命令(登录以后. 以及登录前的USER, PASS和 QU IT),以逗号分割. 其它命令将被拒绝使用.这对于锁定一个 FT P 服务器非常有效.例如:mds_a llowe d=PAS V,RET R,QUI T默认: (无)deny_file此选项用于设定拒绝访问的文件类型(和目录名等).此设定并不是对文件进行隐藏,但是您不能对其操作(下载,更换目录,以及其它操作).此选项非常简单, 不能用于严格的访问控制--文件系统的优先级要高一些.然而,此选项对于某些虚拟用户的设定非常有效.特别是在一个文件可以通过各种名称访问时(可能时通过符号联接或者硬联接), 应当注意拒绝所有的访问方法. 与h ide_f ile 中给出名称匹配的文件会被拒绝访问. 注意vsftp d 只支持正则表达式匹配的部分功能. 正因为如此,您需要尽可能的对此选项的设置进行测试.同时基于安全性考虑, 建议您使用文件系统自身的访问控制.例如: d eny_f ile={*.mp3,*.mo v,.pr ivate}默认: (无)dsa_cert_file此选项用于指定用于SSL 加密联接的DSA 证书的位置.默认:(无 -使用 RS A 证书)ema il_pa sswor d_fil e此选项用于提供启用 sec ure_e mail_list_enabl e 选项,所需要的可替代文件.默认: /etc/vsft pd.em ail_p asswo rdsftp_u serna me用于处理匿名FTP 的用户名.此用的家目录即为匿名发 FTP的根目录.默认: ftpftpd_bann er用于替换首次连入 vsf tpd 时显示的欢迎标识字符串.默认: (无-显示默认 vsft pd 标识)gu est_u serna me参阅布尔选项guest_enab le .此选项用于将 gue st 用户映射到一个真实用户上.默认: ftphide_file此选项用于设定列取目录时,要隐藏的文件类型(以及目录等). 尽管隐藏了, 知道其宿主的客户端仍然能对文件/目录等有完全访问权限. 与名称 hide_file中包含的字符串匹配的项都将隐藏. 注意 vsft pd 只支持正则表达式匹配的部分功能.例如: h ide_f ile={*.mp3,.hid den,h ide*,h?}默认: (无)li sten_addre ss如果 vsft pd 以独立模式运行, 此设定用于修改默认(所有本地接口)监听地址.格式为数字 IP 地址.默认: (无)lis ten_a ddres s6如liste n_add ress,不过应该指定为IP v6 监听器指定默认监听地址.格式为标准 IPv6 地址格式.默认: (无)loc al_ro ot本选项用于指定本地用户(即, 非匿名用户)登录后将会转向的目录.失败时将被忽略.默认: (无)m essag e_fil e此选项用于指定进入新目录时要查询的文件名. 这个文件的内容为显示给远程用户的欢迎信息.使用此选项, 需要启用 di rmess age_e nable选项.默认: .messa gen opriv_user用于指定一个用户,当 vs ftpd要切换到无权限状态时, 使用此用户. 注意这最好是一个专用用户, 而不是用户n obody. 在大多数机器上,用户n obody被用于大量重要的事情.默认: nob odypam_s ervic e_nam e用于指定 PAM服务的名称.默认: ftppas v_add ress此选项为vsftp d 指定一个 IP地址, 用作对 PA SV 命令的响应.IP 地址应该为数字模式.默认: (无 - 即地址从连入的联接套接字中获取)rsa_cert_file此选项用于指定 SS L 加密联接所用R SA 证书的位置.默认: /usr/s hare/ssl/c erts/vsftp d.pemsec ure_c hroot_dir此选项用于指定一个空目录. 并且 ftp用户不应对此目录有写权限.当 vsf tpd 不需要访问文件系统是,此此目录做为一个限制目录,将用户限制在此目录中.默认: /usr/shar e/emp tys sl_ci phers此选项用于选择v sftpd允许使用哪些 SS L 加密算法来用于SSL 加密联接.更多信息参阅 cip hers的联机手册. 注意这样可以有效的防止对某些发现漏洞的算法进行恶意的远程攻击.默认: DE S-CBC3-SHAuse r_con fig_d ir此选项用于定义用户个人配置文件所在的目录.使用非常简单, 一个例子即可说明. 如果您将 us er_co nfig_dir 设置为 /e tc/vs ftpd_user_conf并以用户"chri s"登录,那么v sftpd将对此用户使用文件 /etc/vsft pd_us er_co nf/ch ris 中的设定.此文件的格式在联机手册中有详细说明. 请注意, 不是每个设定都能影响用户的. 例如, 有些设定只在用户会话开始时起作用.这包括liste n_add ress, bann er_fi le, m ax_pe r_ip,max_clien ts, x ferlo g_fil e, 等等.默认: (无)user_sub_token此选项需要和虚拟用户联合使用. 其将依据一个模板为每个虚拟用户创建家目录. 例如, 如果真实用户的家目录由选项 gue st_us ernam e 指定为 /hom e/vir tual/$USER, 并且将 user_sub_token设定为$USER, 当虚拟用户 fr ed 登入后, 将会进入(限制)目录/home/virtu al/fr ed. 如果 loc al_ro ot 中包含了 us er_su b_tok en 此选项也会起作用.默认: (无)use rlist_file此选项用于指定启用 user list_enabl e 选项后需要加载文件的名称.默认:/etc/vsftp e r_lis tvs ftpd_log_f ile此选项用于指定写入v sftpd格式日志的文件.如果启用了 xfer log_e nable, 而没有设定 xf erlog_std_forma t 的话,日志将只会写入此文件. 另为,如果设置了dua l_log_enab le 的话, 日志同样会写入此文件. 更复杂一点,如果您设置了sy slog_enabl e 的话,输出将不会写入此文件, 而是写入系统日志文件.默认: /var/l og/vs ftpd.logxferl og_fi le此选项用于指定写入 wu-ftpd样式日志的文件名.只有在xferl og_en able和xfe rlog_std_f ormat做了相应设定, 才会记录此传输日志.另外, 如果您设置了dual_log_enabl e 选项,也会记录此日志.默认: /var/l og/xf erlog。
vsftp配置大全---超完整版
测试搭建好的匿名用户方式
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立
# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立
# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立
# chown root:root /var/ftp
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf & //以后台方式启动vsftpd
注意:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现如下错误:
500 OOPS: bad bool value in config file for: listen
ftp>; pwd
257 "/"
ftp>; quit
221 Goodbye.
#
OK,已经完成了,very nice.
高级配置
细心的朋友可能已经看出来我们只在默认配置文件增加了四行,就实现了FTP连接(也证明了vsftpd的易用性),那么让我们传个文件吧,呀!!传输失败了(见图1)
资料:vsftpd
vsftpd.conf配置文件(原文件1)#代表本行注释# Example config file /etc/vsftpd.conf## The default compiled in settings are fairly paranoid. This sample file# loosens things up a bit, to make the ftp daemon more usable.# Please see vsftpd.conf.5 for all compiled in defaults.## READ THIS: This example file is NOT an exhaustive list of vsftpd options.# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's# capabilities.### Run standalone? vsftpd can run either from an inetd or as a standalone# daemon started from an initscript.listen=YES## Run standalone with IPv6?# Like the listen parameter, except vsftpd will listen on an IPv6 socket# instead of an IPv4 one. This parameter and the listen parameter are mutually# exclusive.#listen_ipv6=YES## Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES## Uncomment this to allow local users to log in.local_enable=YES## Uncomment this to enable any form of FTP write command.write_enable=YES## Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's)local_umask=022## Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will# obviously need to create a directory writable by the FTP user.anon_upload_enable=YESanon_umask=022## Uncomment this if you want the anonymous FTP user to be able to create # new directories.#anon_mkdir_write_enable=YES#anon_other_write_enable=YESanon_root=/home/ftp## Activate directory messages - messages given to remote users when they # go into a certain directory.dirmessage_enable=YES## If enabled, vsftpd will display directory listings with the time# in your local time zone. The default is to display GMT. The# times returned by the MDTM FTP command are also affected by this# option.use_localtime=YES## Activate logging of uploads/downloads.xferlog_enable=YES## Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES## If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not# recommended!#chown_uploads=YES#chown_username=whoever## You may override where the log file goes if you like. The default is shown # below.#xferlog_file=/var/log/vsftpd.log## If you want, you can have your log file in standard ftpd xferlog format.# Note that the default log file location is /var/log/xferlog in this case.#xferlog_std_format=YES## You may change the default value for timing out an idle session.#idle_session_timeout=600## You may change the default value for timing out a data connection.#data_connection_timeout=120## It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user.#nopriv_user=ftpsecure## Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it,# however, may confuse older FTP clients.#async_abor_enable=YES## By default the server will pretend to allow ASCII mode but in fact ignore# the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode.# Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd# predicted this attack and has always been safe, reporting the size of the# raw file.# ASCII mangling is a horrible feature of the protocol.#ascii_upload_enable=YES#ascii_download_enable=YES## You may fully customise the login banner string:ftpd_banner=Welcome to blah FTP service.## You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks.#deny_email_enable=YES# (default follows)#banned_email_file=/etc/vsftpd.banned_emails## You may restrict local users to their home directories. See the FAQ for# the possible risks in this before using chroot_local_user or# chroot_list_enable below.chroot_local_user=YES## You may specify an explicit list of local users to chroot() to their home# directory. If chroot_local_user is YES, then this list becomes a list of# users to NOT chroot().# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that # the user does not have write access to the top level directory within the# chroot)#chroot_local_user=YES#chroot_list_enable=YES# (default follows)#chroot_list_file=/etc/vsftpd.chroot_list## You may activate the "-R" option to the builtin ls. This is disabled by# default to avoid remote users being able to cause excessive I/O on large# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it.#ls_recurse_enable=YES## Customization## Some of vsftpd's settings don't fit the filesystem layout by# default.## This option should be the name of a directory which is empty. Also, the# directory should not be writable by the ftp user. This directory is used# as a secure chroot() jail at times vsftpd does not require filesystem# access.secure_chroot_dir=/var/run/vsftpd/empty## This string is the name of the PAM service vsftpd will use.pam_service_name=vsftpd## This option specifies the location of the RSA certificate to use for SSL # encrypted connections.rsa_cert_file=/etc/ssl/private/vsftpd.pemlocal_root=/home/ftp。
vsftpd配置文件参数详解
vsftpd配置⽂件参数详解名称vsftpd.conf - vsftpd的配置⽂件描述vsftpd.conf可⽤于控制vsftpd⾏为的各个⽅⾯。
默认情况下,vsftpd在/etc/vsftpd.conf位置查找此⽂件。
但是,您可以通过为vsftpd指定命令⾏参数来覆盖它。
命令⾏参数是vsftpd的配置⽂件的路径名。
此⾏为很有⽤,因为您可能希望使⽤⾼级inetd(格式vsftpd.conf的格式⾮常简单。
每⼀⾏都是注释或指令。
注释⾏以#开头并被忽略。
指令⾏的格式为:选项=值重要的是要注意在选项,=和值之间放置任何空格是错误的。
每个设置都有⼀个默认编译,可以在配置⽂件中修改。
布尔选项:下⾯是布尔选项列表。
布尔选项的值可以设置为 YES 或 NO。
allow_anon_ssl仅在ssl_enable 处于活动状态时适⽤。
如果设置为YES,则允许匿名⽤户使⽤安全SSL连接。
默认值:NOanon_mkdir_write_enable如果设置为YES,则允许匿名⽤户在特定条件下创建新⽬录。
为此,必须激活选项 write_enable,并且匿名ftp⽤户必须具有⽗⽬录的写权限。
默认值:NOanon_other_write_enable如果设置为YES,则允许匿名⽤户执⾏除上载和创建⽬录之外的写⼊操作,例如删除和重命名。
通常不建议这样做,但包括完整性。
默认值:NOanon_upload_enable如果设置为YES,则允许匿名⽤户在特定条件下上载⽂件。
为此,必须激活选项 write_enable,并且匿名ftp⽤户必须具有所需上载位置的写⼊权限。
虚拟⽤户上传也需要此设置; 默认情况下,虚拟⽤户使⽤匿名(即最⼤限制)权限处理。
默认值:NOanon_world_readable_only启⽤后,将只允许匿名⽤户下载世界可读的⽂件。
这是认识到ftp⽤户可能拥有⽂件,尤其是在上传的情况下。
默认值:YESanonymous_enable控制是否允许匿名登录。
vsftpd主配置文件常用参数说明
anon_max_rate=<n> :设置匿名用户的最大传输速率,单位为B/s,值为0表示不限制
anon_world_readable_only=<YES/NO> 是否开放匿名用户的浏览权限
anon_upload_enable=<YES/NO> 设置是否允许匿名用户上传
chroot_local_user=<YES/NO> :当为YES时,所有本地用nable=<YES/NO>
chroot_list_file=<filename> :当chroot_local_user=NO 且 chroot_list_enable=YES时,只有filename文件指定的用户可以执行chroot
hide_ids=<YES/NO> :如果启动,所有档案拥有者与组群都为FTP,也是就ls -l之类指令看到的拥有者和组均为FTP
ls_recurse_enable=<YES/NO> :启动此功能,则允许登录者使用ls -R这个指令,默认为NO
tcp_wrappers=<YES/NO> :设置服务器是否支持tcp_wrappers(就是支持/etc/hosts.allow和/etc/hosts.deny这两个文件)
anon_mkdir_write_enable=<YES/NO> :设置是否允许匿名用户创建目录
anon_other_write_enable=<YES/NO> :设置是否允许匿名用户其他的写权限(注意,这个在安全上比较重要,一般不建议开,不过关闭会不支持续传)
vsftpd配置文件的详细说明
vsftpd配置文件的详细说明/etc/vsftpd/vsftpd.conf 本身就是一个挺详细的配置文件,且使用『man 5 vsftpd.conf 』则可以得到完整的参数说明。
与主机较相关的设定值connect_from_port_20=YES (NO)ftp-data 的端口;listen_port=21vsftpd 使用的命令通道之端口号,如果您想要使用非正规的端口,在这个设定项目修改吧!不过你必须要知道,这个设定值仅适合以stand alone 的方式来启动(对于super daemon 无效)dirmessage_enable=YES (NO)当用户进入某个目录时,会显示该目录需要注意的内容,显示的文件默认是.message ,你可以使用底下的设定项目来修改!message_file=.message当dirmessage_enable=YES 时,可以设定这个项目来让vsftpd 寻找该文件来显示信息!listen=YES (NO)若设定为YES 表示vsftpd 是以standalone 的方式来启动的pasv_enable=YES (NO)启动被动式联机模式(passive mode),一定要设定为YES 的use_localtime=YES (NO)是否使用本地时间?vsftpd 预设使用GMT 时间(格林威治)write_enable=YES (NO)如果你允许用户上传数据时,就要启动这个设定值;connect_timeout=60单位是秒,在数据连接的主动式联机模式下,我们发出的连接讯号在60 秒内得不到客户端的响应,则不等待并强制断线。
accept_timeout=60当用户以被动式PASV 来进行数据传输时,如果主机启用passive port 并等待client 超过60 秒而无回应,那么就给他强制断线!这个设定值与connect_timeout 类似,不过一个是管理主动联机,一个管理被动联机。
vsftpd配置文件详解
vsftpd配置⽂件详解1.默认配置:1>允许匿名⽤户和本地⽤户登陆。
anonymous_enable=YESlocal_enable=YES2>匿名⽤户使⽤的登陆名为ftp或anonymous,⼝令为空;匿名⽤户不能离开匿名⽤户家⽬录/var/ftp,且只能下载不能上传。
3>本地⽤户的登录名为本地⽤户名,⼝令为此本地⽤户的⼝令;本地⽤户可以在⾃⼰家⽬录中进⾏读写操作;本地⽤户可以离开⾃家⽬录切换⾄有权限访问的其他⽬录,并在权限允许的情况下进⾏上传/下载。
write_enable=YES4>写在⽂件/etc/vsftpd.ftpusers中的本地⽤户禁⽌登陆。
2.配置⽂件格式:vsftpd.conf 的内容⾮常单纯,每⼀⾏即为⼀项设定。
若是空⽩⾏或是开头为#的⼀⾏,将会被忽略。
内容的格式只有⼀种,如下所⽰option=value要注意的是,等号两边不能加空⽩。
3.匿名⽤户(anonymous)设置anonymous_enable=YES/NO(YES)控制是否允许匿名⽤户登⼊,YES 为允许匿名登⼊,NO 为不允许。
默认值为YES。
write_enable=YES/NO(YES)是否允许登陆⽤户有写权限。
属于全局设置,默认值为YES。
no_anon_password=YES/NO(NO)若是启动这项功能,则使⽤匿名登⼊时,不会询问密码。
默认值为NO。
ftp_username=ftp定义匿名登⼊的使⽤者名称。
默认值为ftp。
anon_root=/var/ftp使⽤匿名登⼊时,所登⼊的⽬录。
默认值为/var/ftp。
注意ftp⽬录不能是777的权限属性,即匿名⽤户的家⽬录不能有777的权限。
anon_upload_enable=YES/NO(NO)如果设为YES,则允许匿名登⼊者有上传⽂件(⾮⽬录)的权限,只有在write_enable=YES时,此项才有效。
当然,匿名⽤户必须要有对上层⽬录的写⼊权。
vsftpd配置文档
Red Hat Enterprise Linux 5服务器配置 vsftpd关键字: red hat enterprise linux 5服务器配置 vsftpd一、安装和启动1.可用以下命令查询是否已安装:程序代码#rpm -qa|grep vsftpdvsftpd-2.0.5-10.e15如果出现以上结果,表明已安装。
如果未安装,可在Red Hat Enterprise Linux 5安装光盘中找到安装包,使用命令:程序代码#rpm -ivh vsftp-2.0.5-10.e15.i386.rpm2.启动和关闭启动命令为:程序代码#service vsftpd start停止命令为:程序代码#service vsftpd stop重启命令为:程序代码#service vsftpd restart查询运行状态:程序代码#service vsftpd statusvsftpd (pid 3571)正在进行……二、Vsftpd服务器配置Vsftpd的主配置文件有三个:/etc/vsftpd/vsftpd.conf/etc/vsftpd.ftpusers/etc/er_list修改前建议使用“cp”命令备份这三个文件,修改完成后需要重启vsftpd服务才能使设置生效。
(一)匿名用户访问配置1.启动后FTP服务器就可以登陆了匿名用户在text模式下,要用用户名ftp,密码也是ftp,来进行登陆;如果是用FTP工具来匿名登陆的话,用户名和密码都为:anonymous。
默认情况下匿名用户可以访问和下载,但不能进行上传、删除、新建目录、执行文件等操作!本地用户可以登陆,并可以离开自家目录至有权访问的其他目录,并在权限允许的情况下进行上传和下载,写在文件/etc/vsftpd.ftpusers中的本地用户禁止登录。
2.允许匿名用户上传文件需要修改/etc/vsftpd/vsftpd.conf文件,把以下两项前的“#”去掉。
vsftpd配置文件说明详细版
vsftpd配置⽂件说明详细版配置的选项及说明1、核⼼设置local_enable=YES //允许本地⽤户登录write_enable=YES //本地⽤户的写权限local_umask=022 //使⽤FTP的本地⽂件权限,默认为077,⼀般设置为022pam_service_name=vsftpd //验证⽅式connect_from_port_20=YES //启⽤FTP数据端⼝的数据连接listen=yes // 以独⽴的FTP服务运⾏listen_port=23 //修改连接端⼝2、匿名登录设置anon_upload_enable=YES // 如果允许匿名登录,是否开启匿名上传权限anon_mkdir_write_enable=YES //如果允许匿名登录,是否允许匿名建⽴⽂件夹并在⽂件夹内上传⽂件anon_other_write_enable=yes // 如果允许匿名登录,匿名帐号可以有删除的权限anon_world_readable_only=no //如果允许匿名登录,匿名的下载权限,匿名为Other,可设置⽬录/⽂件属性控制 anon_max_rate=30000 // 如果允许匿名登录,限制匿名⽤户传输速率,单位bite3、限制登录userlist_enable=yes //⽤userlist来限制⽤户访问userlist_deny=no //名单中的⼈不允许访问userlist_file=/etc/vsftpd/userlist_deny.chroot //限制名单⽂件放置的路径4、限制⽬录chroot_local_user=yes //限制所有⽤户都在家⽬录chroot_list_enable=YES //调⽤限制在家⽬录的⽤户名单chroot_list_file=/etc/vsftpd/chroot_list //限制在家⽬录的⽤户名单所在路径5、⽇志设置xferlog_file=/var/log/vsftpd.log //⽇志⽂件路径设置xferlog_std_format=YES // 使⽤标准的⽇志格式6、安全设置idle_session_timeout=600 //⽤户空闲超时,单位秒data_connection_timeout=120 //数据连接空闲超时,单位秒accept_timeout=60 //将客户端空闲1分钟后断开local_max_rate=10000 //本地⽤户传输速率,单位bitemax_clients=100 //FTP的最⼤连接数max_per_ip= 3 //每IP的最⼤连接数7、被动模式设置pasv_enable=yes //是否开户被动模式pasv_min_port=3000 // 被动模式最⼩端⼝pasv_max_port=5000 //#被动模式最⼤端⼝————————————————。
vsftpd配置详解
[root@ftpservervsftpd]#vimvsftpd.conf#禁止匿名用户anonymous登录anonymous_enable=NO#允许本地用户登录local_enable=YES#让登录的用户有写权限(上传,删除)write_enable=YES#默认umasklocal_umask=022#把传输记录的日志保存到/var/log/vsftpd.logxferlog_enable=YESxferlog_file=/var/log/vsftpd.logxferlog_std_format=NO#允许ASCII模式上传ascii_upload_enable=YES#允许ASCII模式下载ascii_download_enable=YES#使用20号端口传输数据connect_from_port_20=YES#欢迎标语ftpd_banner=Welcometousemytestftpserver.#接下来的三条配置很重要#chroot_local_user设置了YES,那么所有的用户默认将被chroot,#也就用户目录被限制在了自己的home下,无法向上改变目录。
#chroot_list_enable设置了YES,即让chroot用户列表有效。
#★超重要:如果chroot_local_user设置了YES,那么chroot_list_file#设置的文件里,是不被chroot的用户(可以向上改变目录)#★超重要:如果chroot_local_user设置了NO,那么chroot_list_file#设置的文件里,是被chroot的用户(无法向上改变目录)chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list#以standalone模式在ipv4上运行listen=YES#PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,#在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers#文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户#登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。
vsftpd_参数说明
listen_address=192.168.0.2
#绑定到某个端口
#listen_port=2121
#数据传输端口
#ftp_data_port=2020
#pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。
pasv_max_port=0
#pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。
anon_mkdir_write_enable=YES //是否允许匿名用户创建目录。只有在write_enable设置为 YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。
anon_other_write_enable=NO //若设置为YES,则匿名用户会被允许拥有多于
上传和建立目录的权限,还会拥有删除和更名权限。默认值为NO。
426 关闭联机,终止传输。
450 请求的操作未执行。
451 命令终止:有本地的错误。
452 未执行命令:磁盘空间不足。
500 格式错误,无法识别命令。
501 参数语法错误。
502 命令执行失败。
503 命令顺序错误。
504 命令所接的参数不正确。
530 未登入。
532 储存文件需要账户登入。
550 未执行请求的操作。
ftpd_banner=欢迎来到湖南三辰Fake-Ta FTP 网站.
#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
#显示会话状态信息,关!
#setproctitle_enable=YES
############## 文件定义 ##################
VSFTPD配置大全
VSFTPD配置大全1.匿名服务器的连接(独立的服务器)在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:Anonymous_enable=yes (允许匿名登陆)Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)Local_umask=022 (FTP上本地的文件权限,默认是077)Connect_form_port_20=yes (启用FTP数据端口的数据连接)*Xferlog_enable=yes (激活上传和下传的日志)Xferlog_std_format=yes (使用标准的日志格式)Ftpd_banner=XXXXX (欢迎信息)Pam_service_name=vsftpd (验证方式)*Listen=yes (独立的VSFTPD服务器)*功能:只能连接FTP服务器,不能上传和下传注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项2.开启匿名FTP服务器上传权限在配置文件中添加以下的信息即可:Anon_upload_enable=yes (开放上传权限)Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)Write_enable=yes (开放本地用户写的权限)Anon_other_write_enable=yes (匿名帐号可以有删除的权限)3.开启匿名服务器下传的权限在配置文件中添加如下信息即可:Anon_world_readable_only=no注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限(R)读-----下传(W)写----上传(X)执行----如果不开FTP的目录都进不去4.普通用户FTP服务器的连接(独立服务器)在配置文件中添加如下信息即可:Local_enble=yes (本地帐户能够登陆)Write_enable=no (本地帐户登陆后无权删除和修改文件)功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传5.用户登陆限制进其它的目录,只能进它的主目录设置所有的本地用户都执行chrootChroot_local_user=yes (本地所有帐户都只能在自家目录)设置指定用户执行chrootChroot_list_enable=yes (文件中的名单可以调用)Chroot_list_file=/任意指定的路径/vsftpd.chroot_list注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可6.限制本地用户访问FTPUserlist_enable=yes (用userlistlai 来限制用户访问)Userlist_deny=no (名单中的人不允许访问)Userlist_file=/指定文件存放的路径/ (文件放置的路径)注:开启userlist_enable=yes匿名帐号不能登陆7.安全选项Idle_session_timeout=600(秒) (用户会话空闲后10分钟)Data_connection_timeout=120(秒)(将数据连接空闲2分钟断)Accept_timeout=60(秒)(将客户端空闲1分钟后断)Connect_timeout=60(秒)(中断1分钟后又重新连接)Local_max_rate=50000(bite)(本地用户传输率50K)Anon_max_rate=30000(bite)(匿名用户传输率30K)Pasv_min_port=50000 (将客户端的数据连接端口改在Pasv_max_port=60000 50000—60000之间)Max_clients=200 (FTP的最大连接数)Max_per_ip=4 (每IP的最大连接数)Listen_port=5555 (从5555端口进行数据连接)8.查看谁登?搅薋TP,并杀死它的进程ps –xf |grep ftpkill 进程号VSFTPD的高手篇作者:龙磊我可不是高手!!!^_^我只不过是个菜鸟,尽我的能力写出了我这个菜鸟觉得的高手篇,所以有什么错误请大家指正哦!!!环境:linux as 3.0 + vsftpd -1.2.0-4的系统架构,是在独立服务器下的哦!讨厌XINETD^_^1.配置本地组访问的FTP首先创建用户组test和FTP的主目录groupadd testmkdir /tmp/test然后创建用户useradd -G test –d /tmp/test –M usr1注:G:用户所在的组d:表示创建用户的自己目录的位置给予指定M:不建立默认的自家目录,也就是说在/home下没有自己的目录useradd –G test –d /tmp/test –M usr2接着改变文件夹的属主和权限chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有这个实验的目的就是usr1有上传、删除和下载的权限而usr2只有下载的权限没有上传和删除的权限当然啦大家别忘了我们的主配置文件vsftpd.conf要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项是有的哦!2.配置独立FTP的服务器的非端口标准模式进行数据连接这个非常容易:在VSFTPD。
vsftpd配置详解
vsftpd配置详解1 安装vsftpd组件安装完后,有/etc/vsftpd/vsftpd.conf ⽂件,是vsftp的配置⽂件。
[root@bogon ~]# yum -y install vsftpd2、FTP主动模式与FTP被动模式的端⼝说明FTP是仅基于TCP的服务,不⽀持UDP。
与众不同的是FTP使⽤2个端⼝,⼀个数据端⼝和⼀个命令端⼝(也可叫做控制端⼝)。
通常来说这两个端⼝是21(命令端⼝)和20(数据端⼝)。
但FTP⼯作⽅式的不同,数据端⼝并不总是20。
这就是主动与被动FTP的最⼤不同之处。
FTP协议有两种⼯作⽅式:PORT⽅式和PASV⽅式,中⽂意思为主动式和被动式。
(⼀) FTP主动模式主动⽅式的FTP是这样的:客户端从⼀个任意的⾮特权端⼝N(N>1024)连接到FTP服务器的命令端⼝,也就是21端⼝。
然后客户端开始监听端⼝N+1,并发送FTP命令“port N+1”到FTP服务器。
接着服务器会从它⾃⼰的数据端⼝(20)连接到客户端指定的数据端⼝(N+1)。
针对FTP服务器前⾯的防⽕墙来说,必须允许以下通讯才能⽀持主动⽅式FTP:1. 任何⼤于1024的端⼝到FTP服务器的21端⼝。
(客户端初始化的连接)2. FTP服务器的21端⼝到⼤于1024的端⼝。
(服务器响应客户端的控制端⼝)3. FTP服务器的20端⼝到⼤于1024的端⼝。
(服务器端初始化数据连接到客户端的数据端⼝)4. ⼤于1024端⼝到FTP服务器的20端⼝(客户端发送ACK响应到服务器的数据端⼝)简明概括:PORT(主动)⽅式的连接过程是:客户端向服务器的FTP端⼝(默认是21)发送连接请求,服务器接受连接,建⽴⼀条命令链路。
当需要传送数据时,客户端在命令链路上⽤PORT命令告诉服务器:“我打开了XXXX端⼝,你过来连接我”。
于是服务器从20端⼝向客户端的XXXX端⼝发送连接请求,建⽴⼀条数据链路来传送数据。
vsftpd配置文件详解
vsftpd配置⽂件详解yum安装的vsftpd配置⽂件如下:vim /etc/vsftpd/vsftpd.conf1)以“#”字符开始的⾏是注释⾏。
每⼀⾏为⼀个选项设置,格式为“option=value”,注意“=”号两边不能留空⽩符。
2)除了这个主配置⽂件外,还可以给特定⽤户设定个⼈配置⽂件1.listen_address=[IP] # 提供ftp服务的主机IP,单IP主机,不需要使⽤,多IP主机默认监听所有IP地址。
在VSFTPD使⽤单独(standalone)模式下有效。
listen_port=[port] # 提供ftp服务的控制端⼝号,默认值为21。
此选项在standalone模式下⽣效。
port_enable=YES # 是否启⽤ftp主动模式,默认为YES。
如果要在数据连接时取消PORT主动模式时,改为NOconnetc_from_port_20=NO # 以port主动模式进⾏数据传输时是否使⽤20端⼝,默认为NO不使⽤。
但RHEL⾃带的vsftpd.conf⽂件中此参数设为YES。
ftp_data_port=[port] # 指定ftp数据传输端⼝值,默认为20。
此参数⽤于主动模式。
port_promiscuous=NO # 取消PORT安全检查,默认为NO不取消检查。
该检查确保外出的数据只能连接到客户端上。
不建议打开pasv_enable=YES # 允许数据传输时使⽤PASV被动模式。
默认为YES允许被动模式pasv_min_port=[minport]pasv_max_port=[maxport] # 设定在PASV被动模式下,建⽴数据传输所可以使⽤port范围的下界和上界,默认为0不限制。
# 把端⼝范围设在⽐较⾼的⼀段范围内,⽐如50000-60000,将有助于安全性的提⾼。
pasv_promiscuous=NO # 是否关闭PASV模式的安全检查,默认值为NO不关闭。
Linux vsftpd安装配置使用(详细)
本文结合了多个前人写的文章与自己多次安装配置的经验,写得比较详细,文章的最后有ftp命令集与vsftpd.conf的所有配置属性注释。
若有问题请回复给我,感谢!1. 直接去vsftpd网站(ftp:///users/cevans/)下载最新的tar.gz格式源码包2. #解压 $tar -zxf vsftpd-xx.tar.gz$cd ./vsftpd-xx#编译makemake install#如果make install没有安装文件,你可能需要手动执行下面的命令cp vsftpd /usr/local/sbin/vsftpdcp vsftpd.conf.5 /usr/local/share/man/man5cp vsftpd.8 /usr/local/share/man/man8cd ./EXAMPLE/INTERNET_SITEcp vsftpd.conf /etccp vsfpd.xinetd /etc/xinetd.d/vsftpd/etc/rc.d/init.d/xinetd restart 或者service xinetd restart######若无xinetd服务,则用命令 $yum install xinetd3. 若要設置独立启动模式,则在/etc/xinetd.d/vsftpd文件中,把disable=no改成YES并在/etc/vsftpd.conf文件中:添加listen=yes这样就改成了STANDALONE独立模式4. 匿名登录配置:修改(若默認已是则不用修改) anonymous_enable=YESanon_root=/sunwill #匿名登陆的目录anon_no_anon_password=YES #不需要提示輸入密码 NO则提示輸入密码其他的属性如为文章最后部分的配置属性清单中(匿名一般含有anon),自己将有需要的添加或修改6.本地用戶首先 cp RedHat/vsftpd.pam /etc/pam.d/ftp(拷贝本地用戶认证的pam文件,没有这一步将不能使用本地用户登录!)修改或添加:local_enable=YES write_enable=YES local_umask=022local_root=/sunwill #本地用戶登录默認目录,若没有该条则登录为本地用戶原来默認的目录,可用usermod来修改(usermod -d /dir user)。
vsftpd配置实例
相关文件/etc/vsftpd.ftpusers:FTP黑名单,在这个名单上的用户都无法登录FTP服务器。
/etc/vsftpd/user_list:限制用户登录名单1,userlist_file的值指定一个文件,里面按行存放着一些用户名。
2,首先,如果userlist_enable=NO或被注释掉,那么其他两项无效3,否则,再看userlist_deny,如果为YES,则userlist_file 文件是一个黑名单;如果为NO或注释掉,则为白名单(即不在此文件中的用户名无法登录)。
均指本地用户。
/etc/vsftpd.chroot_list:限制用户在自家目录chroot_local_user=YES,且其他两项无效时(chroot_list_enable=NO或注释掉),限制所有系统用户的活动范围.chroot_local_user=NO且chroot_list_enable=YES,将chroot_list_file参数指定文件中的用户限制在自己的home 目录下。
chroot_local_user=YES且chroot_list_enable=YES,chroot_list_file参数指定文件中的用户之外的用户限制在自己的home目录下。
根目录/var/ftp匿名用户根目录。
举例5、vsftpd举例例1. 允许匿名用户下载文件,不允许其上传和创建目录第一步,修改vsftpd.conf的相关选项,如下:anonymous_enable=YESanon_upload_enable=NOanon_mkdir_write_enable=NO第二步,重启服务器:service vsftpd restart,使第一步的修改生效。
第三步,用匿名用户登录ftp(用户名:anonymous,密码:anonymous)进行测试,结果如下:匿名用户可下载匿名用户不可上传例2. 允许匿名用户上传文件和创建目录第一步,修改vsftpd.conf的相关选项,如下:anonymous_enable=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YES第二步,创建匿名用户上传文件的目录,并设定目录权限。
Linux中vsftpd配置文件详解
Vsftpd主配置文件位置: /etc/vsftpd/vsftpd.conf1.配置文件vsftpd.conf详解Anonymous_enale=YES #是否允许用户anonymous(匿名)登陆Local_enable=YES #是否允许本地用户登陆Write_enable=YES #是否允许具有写的权限Local_umask=022 #创建文件生成掩码umask值,默认为077Anon_mkdir_write_enable=YES #是否允许匿名用户创建目录Xferlog_enable=YES #启动上传和下载日志功能Idle_session_timeout=600 #设置空闲用户会话中断时间Data_connection_timeout=120 #设置数据连接超时时间Xferlog_file=/var/log/vsftpd.log #设置日志文件的文件名和路径Anon_upload_enable=YES #是否允许匿名用户上传文件Anon_other_wite_enable=YES #是否匿名用户有修改的权限Anon_world_readable_only=YES #当为YES时,文件的其他人必须有读的权限才允许匿名用户下载,单单所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载Download_enable=YES #是否允许下载Userlist_enable=NO #用户列表中的用户是否允许登陆FTP服务器Anon_root=/(目录址)#匿名用户访问目录Array Local_root=/(目录址)#本地用户访问目录2.vsftpd.ftpusers文件说明(1)这个文件是用来记录不允许登陆的名单(2)默认情况下,可以将不允许登陆FTP的用户添加到这里(3)每个用户独立占据一行er_list文件说明(1)其实它的内容跟上面文件内容一样(2)只是在系统对文件vsftpd.conf进行检测时(3)会检测到”userlist_deny=YES”因此这个文件必须存在实例:添加FTP用户1.环境:ftp为vsftpd,2.建用户:在root用户下:Useradd -d /home/test test #增加用户test,并制定主目录Passwd test #设置密码3.更改相应权限设置:Usermod -s /sbin/nologin test #限制用户test不能telnet,只能FTPUsermod -s /sbin/bash test #用户test恢复正常Usermod -d /var/ftp test #更改用户test主目录为/var/ftp4.限制用户只能访问/home/test,不能访问其他路径修改/etc/vsftpd/vsftpd.conf 如下Chroot_list_enable=YES #限制访问自身目录编辑vsftpd.chroot_list文件,可以将限制用户添加进去每个用户一行权限:Chmod -R 777 /home/test -R代表递归,后面是要修改权限的目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
禁止使用vsftpd 的用户列表文件。记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。(注意: linux-4 中此文件在 /etc/ 目录下)
anonymous_enable=YES ( 是否允许 匿名登录FTP服务器,默认设置为YES允许,即用户可使用用户名ftp或anonymous进行ftp登录,口令为用户的E-mail地址。如不允许匿名访问去掉前面#并设置为NO )
# Uncomment this to allow local users to log in.
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
#dirmessage_enable=YES ( 是否激活目录欢迎信息功能 , 当用户用 CMD 模式首次访问服务器上某个目录时 ,FTP 服务器将显示欢迎信息 , 默认情况下 , 欢迎信息是通过 该 目录下的 .message 文件获得的,此文件保存自定义的欢迎信息,由用户自己建立)
# Activate logging of uploads/downloads.
xferlog_enable=YES ( 默认值为 NO 如果启用此选项,系统将会维护记录服务器上传和下载情况的日志文件,默认情况该日志文件为/var/log/vsftpd.log,也可以通过下面的 xferlog_file选项对其进行设定。)
/var/ftp
匿名用户主目录;本地用户主目录为:/home/ 用户主目录 ,即登录后进入自己家目录
/var/ftp/pub
匿名用户的下载目录,此目录需赋权根chmod 1777 pub (1 为特殊权限,使上载后无法删除)
/etc/logrotate.d/vsftpd.log
Vsftpd 的日志文件
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES ( 是否允许匿名用户创建新文件夹 , 默认设置为 YES 允许 )
vsftpd 的主配置文件/etc/vsftpd/vsftpd.conf 说明( 修改前先备份) :
# Example config file /etc/vsftpd/vsftpd.conf
# The default compiled in settings are fairly paranoid. This sample file
#dual_log_enable ( 如果添加并启用此选项,将生成两个相似的日志文件,默认在/var/log/xferlog和/var/log/vsftpd.log目录下。前者是wu_ftpd类型的传输日志,可以利用标准日志工具对其进行分析;后者是vsftpd类型的日志)
#syslog_enable ( 如果添加并启用此选项,则原本应该输出到/var/log/vsftpd.log中的日志,将输出到系统日志中)
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure ( 运行 vsftpd 需要的非特权系统用户,缺省是nobody)
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log ( 设定系统维护记录FTP服务器上传和下载情况的日志文件,/var/log/vsftpd.log是默认的,也可以另设其它)
#chown_uploads=YES ( 设定是否允许 改变 上传文件的属主 , 与下面一个设定项配合使用 )
#chown_username=whoeve r ( 设置想要改变的上传文件的属主 , 如果需要 , 则输入一个系统用户名 , 例如可以把上传的文件都改成 root 属主。whoever:任何人)
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!-注意,不推荐使用root用户上传文件
Vsftpd的配置文件:
/etc/vsftpd/vsftpd.conf 主配置文件
/usr/sbin/vsftpd
Vsftpd 的主程序
/etc/rc.d/init.d/vsftpd
启动脚本
/etc/pam.d/vsftpd
PAM 认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户)
# You may change the default value for timing out a data connection.
#data_connection_timeout=120 ( 设置数据连接超时时间 , 该语句表示数据连接超时时间为 120 秒 , 可根据实际情况对其个修改 )
# if your users expect that (022 is used by most other ftpd's)
# local_umask=022 (或其它值,设置本地用户的文件掩码 为缺省022 ,也可根据个人喜好将其设置为其他值,默认值为077)
# Uncomment this to allow the anonymous FTP user to upload files. This only
vsftpd作为一个主打安全的FTP服务器,有很多的选项设置。下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件,但针对具体情况还需要制定具体的配置方法。
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
# If you want, you can have your log file in standard ftpd xferlog format
#xferlog_std_format=YES ( 如果启用此选项 , 传输日志文件将以标准 xferlog 的格式书写,该格式的日志文件默认为/var/log/xferlog,也可以通过xferlog_file选项对其进行设定,默认值为NO)
# Uncomment this to enable any form of FTP write command.
write_enable=YES ( 是否允许本地用户对 FTP 服务器文件具有写权限 , 默认设置为 YES 允许 )
# Default umask for local users is 077. You may wish to change this to 022,
# You may change the default value for timing out an idle session.
#idle_session_timeout=600 (设置数据传输中断间隔时间,此语句表示空闲的用户会话中断时间为600秒,即当数据传输结束后,用户连接FTP服务器的时间不应超过600秒,可以根据实际情况对该值进行修改)
local_enable=YES (是否允许本地用户 ( 即 linux 系统中的用户帐号) 登录FTP服务器,默认设置为YES允许, 本地用户登录后会进入用户主目录,而匿名用户登录后进入匿名用户的下载目录/var/ftp/pub ;若只允许匿名用户访问,前面加上#,可阻止本地用户访问FTP服务器。)
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES ( 是否允许匿名用户上传文件 , 须将 write_enable=YES , 默认设置为 YES 允许 )