VSFTPD配置详解
- 格式:doc
- 大小:133.00 KB
- 文档页数:25
VSFTPD配置和错误,这篇⽂章也太厉害了配置过程1、关闭防⽕墙 service iptables stop2、启动vsftpd service vsftpd start3、添加root⽤权cd /etc/vsftpd 更改⽂件ftpusers 和 user_list ,去掉对root⽤户的限制,更改后reboot;4、配置Leapftp,建⽴站点,正确输⼊相关信息即可;问题1:在windows命令⾏ ping 时出现"未知号错误"解决:出现这种错误有很多原因导致,更改相关的配置后未重启,建议reboot下;讲⼀下我遇到的情况,仍然出现此错误,整了⽼半天,原来是因为“本地连接”设置了“连接共享”导致,取消连接共享即可;问题2:在开了root⽤户上传权限,也关了系统的防⽕墙,但ftp连接的时候依然还会出现"500 OOPS:cannot change directory:/root"错误,如何解决呢?解决:1、查看 SELinux 的状态: sestatus -b | grep ftp 确切地说,只是查看了ftp的状态。
2、在出现的结果中可以看到ftp_home_dir offtftpd_disable_trans off只要把其中之⼀设置为on就可以3、 setsebool -P ftpd_disable_trans on 或者 setsebool -P ftp_home_dir on4、重启vsftpd: service vsftpd restartVsFTP出现500 OOPS: cannot change directory的解决办法cannot change directory:/home/***ftp服务器连接失败,错误提⽰:500 OOPS: cannot change directory:/home/*******500 OOPS: child died解决⽅法:在终端输⼊命令:setsebool ftpd_disable_trans 1service vsftpd restart就OK了!关于RHEL5.1虚拟⽤户⽂件删除权限配置具体配置如下:1、创建⽤户数据库(1)创建⽤户⽂本⽂件先建⽴⽤户⽂本⽂件vsftpd_virtualuser.txt,添加虚拟帐号testvuservim /etc/vsftpd/vsftpd_virtualuser.txt保存退出哈~(2)⽣成数据库保存虚拟帐号和密码的⽂本⽂件⽆法被系统帐号直接调⽤哈~我们需要使⽤db_load命令⽣成db数据库⽂件db_load -T -t hash -f /etc/vsftpd/vsftpd_virtualuser.txt /etc/vsftpd/vsftpd_virtualuser.db(3)修改数据库⽂件访问权限数据库⽂件中保存着虚拟帐号的密码信息,为了防⽌⾮法⽤户盗取哈,我们可以修改该⽂件的访问权限。
Vsftpd配置(Centos7)6.1、Vsftpd介绍:⽤于上传图⽚和使⽤ FTP 协议访问图⽚服务器。
解决分布式环境的图⽚访问问题,使⽤vsftpd对图⽚做统⼀管理。
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的⼀个最⼤的特点。
vsftpd 是⼀个在 UNIX 类操作系统上运⾏的服务的名字,它可以运⾏在诸如 Linux、BSD、Solaris、 HP-UNIX 等系统上⾯,是⼀个完全免费的、开放源代码的 ftp 服务器软件,⽀持很多其他的FTP 服务器所不⽀持的特征。
⽐如:⾮常⾼的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟⽤户、⽀持IPv6、速率⾼等。
vsftpd是⼀款在Linux发⾏版中最受推崇的FTP服务器程序。
特点是⼩巧轻快,安全易⽤。
在开源操作系统中常⽤的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等。
1、特点:(1)它是⼀个安全、⾼速、稳定的FTP服务器;(2)它可以做基于多个IP的虚拟FTP主机服务器;(3)匿名服务设置⼗分⽅便;(4)匿名FTP的根⽬录不需要任何特殊的⽬录结构,或系统程序或其它的系统⽂件;(5)不执⾏任何外部程序,从⽽减少了安全隐患;(6)⽀持虚拟⽤户,并且每个虚拟⽤户可以具有独⽴的属性配置;(7)可以设置从inetd中启动,或者独⽴的FTP服务器两种运⾏⽅式;(8)⽀持两种认证⽅式(PAP或xinetd/ tcp_wrappers);(9)⽀持带宽限制;(10)不⽀持⽂件的在线编辑,需要先将⽂件下载,编辑完成后再上传。
VSFTP市场应⽤⼗分⼴范,很多国际性的⼤公司和⾃由开源组织在使⽤.2、vsftpd的访问模式:(1)ftp基于的传输协议:FTP是仅基于tcp的服务,不⽀持udp。
FTP使⽤2个端⼝,⼀个数据端⼝和⼀个命令端⼝(也可叫做控制端⼝)。
通常来说这两个端⼝是21(命令端⼝)和20(数据端⼝)。
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。
fe dora 服务器之FTP 配置VSFTPD是一款小巧易用FTP服务器程序,vsftpd 在安全性、高性能及稳定性三个方面有上佳的表现。
它提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式、强大的单用户设置能力及带宽限流等。
在安全方面,它从原理上修补了大多数Wu-FTP、ProFTP,乃至BSD-FTP的安装缺陷,使用安全编码技术解决了缓冲溢出问题,并能有效避免―globbing‖类型的拒绝服务攻击。
目前正在使用vsftpd的官方网站有Red Hat、SuSE、Debian、GNU、GNOME、KDE、Gimp和OpenBSD等。
它支持很多其他的FTP 服务器不支持的特征。
比如:非常高的安全性需求带宽限制良好的可伸缩性创建虚拟用户的可能性IPv6支持中等偏上的性能分配虚拟IP 的可能性高速目录一.ftp原理与vsftpd安装二.设置匿名用户也支持下载和上传,创建目录三.基于系统用户支持ftp上传和访问四.搭建支持SSL加密传输的vftpd五.vsftpd.conf配置详解六.建立多个虚拟用户支持ftp不同访问权限七.利用quota对Vsftpd做磁盘配额(一)ftp原理与vsftp安装1.ftp原理FTP Transfer Protocol 件传输协议的缩写,在RFC 959中具体说明。
FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。
控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的,PI称为控制连接数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。
FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式,DTP称为数据连接PORT模式(主动方式)FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。
vsftpd.conf详解//不允许匿名访问anonymous_enable=NO//设定本地⽤户可以访问。
注意:主要是为虚拟宿主⽤户,如果该项⽬设定为NO那么所有虚拟⽤户将⽆法访问local_enable=YES//允许写操作write_enable=YES//创建或上传后⽂件的权限掩码local_umask=022//禁⽌匿名⽤户上传anon_upload_enable=NO//禁⽌匿名⽤户创建⽬录anon_mkdir_write_enable=NO//进⼊⽬录时可以显⽰⼀些设定的信息,可以通过message_file=.message来设置dirmessage_enable=YES//开启⽇志xferlog_enable=YES//主动连接的端⼝号connect_from_port_20=YES//设定禁⽌上传⽂件更改宿主chown_uploads=NO//⽇志路径,记得⾃⼰创建⼀下并且对这个⽂件进⾏chown vsftpd.vsftpd /var/log/vsftpd.logxferlog_file=/var/log/vsftpd.log//就是格式话⽇志格式的,你懂得。
使⽤wu ftp软件时设置yes就⾏xferlog_std_format=YES//因为我们把vsftpd的shell设置为nobody 了,所以这个地⽅写vsftpd就可以啦!当然或者可以写成系统内的nobodynopriv_user=vsftpd//设定⽀持异步传输功能async_abor_enable=YES//设定⽀持ASCII模式的上传ascii_upload_enable=YES//设定⽀持ASCII模式的上传ascii_download_enable=YES//登陆欢迎语ftpd_banner=Welcome to dongnan FTP service.//限定在⾃⼰的⽬录内,不让他出去,就⽐如如果设置成NO,那么当你登陆到ftp的时候,可以访问服务器的其他⼀些有权限⽬录。
VSFTPD配置方法1.安装VSFTPD软件首先,使用以下命令在Linux系统上安装VSFTPD软件:```sudo apt-get install vsftpd```2.配置VSFTPD打开VSFTPD的配置文件,通常位于/etc/vsftpd.conf,使用以下命令:```sudo nano /etc/vsftpd.conf```-设置FTP根目录:``````-允许匿名访问(可选):```anonymous_enable=YES```-关闭匿名上传(可选):```anon_upload_enable=NO```-允许本地用户登录:```local_enable=YES```-限制用户仅访问其主目录:```chroot_local_user=YES```将用户限制在其主目录下,防止访问系统其他部分。
-设置FTP用户的权限:```file_open_mode=0777local_umask=022```file_open_mode设置为0777将文件权限设置为可读写执行,local_umask设置为022保证新创建的文件和文件夹的权限正确。
``````3.重启VSFTPD服务使用以下命令重启VSFTPD服务,使配置生效:```sudo systemctl restart vsftpd```4.配置防火墙如果系统上使用了防火墙,需要修改防火墙规则以允许FTP流量通过。
根据所使用的防火墙软件和具体配置方法来进行相应的设置。
5.创建FTP用户使用以下命令创建一个FTP用户:```sudo adduser ftpuser```将ftpuser替换为你希望创建的FTP用户名。
6.设置FTP用户密码使用以下命令设置FTP用户的密码:```sudo passwd ftpuser```7.连接FTP服务器使用FTP客户端软件连接到配置好的VSFTPD服务器,使用FTP用户的用户名和密码登录即可。
以上就是VSFTPD配置的一般方法。
安装vspdfd和vspdfd(very secure FTP daemon)简介一、安装和启动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 statusShutting down vsftpd [ OK ]Starting up vsftpd for vsftpd [ OK ]二、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.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配置详解Linux 2008-01-23 18:42 阅读1724 评论2字号:大大中中小小一、vsftpd 简介Vsftpd是一个基于GPL发布的类UNIX系统的ftp服务器软件。
其全称是Very Secure FTP Deamon,在安全性、速度和稳定性都有着不俗的表现。
在安全性方面,vsftpd针对程序的权限来设计,以一般身份启动服务,对Linux系统的使用权限较低;在千兆以太网上,vsftpd 的速度可以达到86MB/s;在稳定性上更是优秀,资料表明,完全工作24小时,传输数据达2.6TB,平均并发连接为1500用户,峰值达4000用户,而这些还是在单机上实现的。
此外,vsftpd 还包括以下特性:基于IP的虚拟服务器虚拟用户,结合数据库的用户验证每个用户独立配置文件速率限制IPV6支持支持SSL加密传输……哪些站点在使用vsftpd以下站点一直在使用vsftpd(这仅仅是很少很少的一部分站点)ftp-stud.fht-esslingen.degd.tuwien.ac.atftp.sunet.se以上内容摘自vsftpd官方网站/ 二、软件安装和卸载获得软件vsftpd目前最新版本为 2.0.5,下载地址:ftp:///users/cevans/vsftpd-2.0.5.tar.gz 软件安装解压软件,编辑builddefs.h文件# tar zxvf vsftpd-2.0.5.tar.gz# cd vsftpd-2.0.5# vi builddefs.h找到下面三行,其含义如右所示#undef VSF_BUILD_TCPWRAPPERS //是否允许使用TCP Wrappers#define VSF_BUILD_PAM //是否允许使用PAM认证#undef VSF_BUILD_SSL //是否允许使用SSL 如果要允许以上所示某项功能,使把undef改为define即可,注意每行前的“#“号不是注释,不能去掉(熟悉C语言的同志应该知道这个“#”是什么意思)。
其中TCP Wrappers是一个验证IP地址合法性的程序,PAM认证让vsftpd支持本地用户登陆服务器,使用SSL可以建立一个加密的数据传输。
这里我们把三项都启用。
编译安装。
如果系统中安装有旧版vsftpd,请先卸载它。
默认安装执行文件在/usr/local/sbin 中,man page放在/usr/local/man/man5与/usr/local/man/man8中。
# make# make install 将默认配置文件考贝到/etc/vsftpd/# mkdir /etc/vsftpd/# cp vsftpd.conf /etc/vsftpd/ 为了认vsftpd支持本地用户登录,我们将身份认证模块文件考入系统中。
# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd 建立ftp用户及主目录:# mkdir /var/ftp# useradd -d /var/ftp ftp如果本来就已经存在ftp用户,则执行下面两条命令:# chown root:root /var/ftp# chmod 755 /var/ftp 建立vsftpd需要的特殊目录:# mkdir /usr/share/empty/软件卸载如果需要卸载,使用如下命令:# rm /usr/local/sbin/vsftpd# rm /usr/local/man/man5/vsftpd.conf.5# rm /usr/local/man/man8/vsftpd.8# rm /etc/xinetd.d/vsftpd# rm -rf /etc/vsftpd 三、配置vsftpd服务服务的启动与停止启动服务之前,我们先编辑配置文件/etc/vsftpd/vsftpd.conf. 打开配置文件后可以看到许多以“#”开始的行,这些行都是注释行,大多是帮助信息,可以仔细阅读。
vsftpd.conf文件的所有项目都是以“参数=值”来设置的,对格式要求比较严格,必须严格区分大小写,等号两边不能有空格,每行的最后也不能有空格。
每个参数都有一个默认值,没有在配置文件中明确指定的参数就会使用默认值。
我们这里不理会配置文件本来的信息,把所有内容都删掉或注释掉,最后加上下面四行,每行右边的//及后的文字是含义说明,不要输入到文件中:listen=yes //vsftpd工作在standalone 模式下anonymous_enable=yes //允许匿名用户登陆服务器local_enable=yes //允许本地用户登录到服务器pam_service_name=vsftpd //使用PAM认证vsftpd有两种工作模式,standalone模式和xinetd守护进程模式,第1行就是让其工作在standalone模式下。
此种模式中,每次修改配置文件必须重新启动vsftpd服务才能生效,关于两种模式在后面有详细介绍。
我们安装时还把Redhat 目录下的vsftpd.pam 文件复制成了/etc/pam.d/vsftpd 文件。
这个文件就是本地用户登陆的pam 验证配置文件。
关于这个文件我们会在后面具体介绍。
这里我们要知道,必须得有这个配置文件,而且主配置文件里要加上pam_service_name=vsftpd 语句,我们才能让本地用户登陆。
用以下命令启动服务:# /usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf & 为保证服务确实启动,我们用如下命令检测:# netstat -an |grep 21tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 我们看到服务器已经打开了tcp21端口,表明ftp确实已经启动。
再登录服务器:# ftp 127.0.0.1Connected to 127.0.0.1.220 (vsFTPd 2.0.5)530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as an authentication typeName (127.0.0.1:root): ftp331 Please specify the password.Password:230 Login successful. 这时我们已经用匿名用户(用户名ftp或anonymous,密码任意)登录到服务器了,还可以用本地用户登录。
我们做测试时建议使用如上所示的ftp命令(windows、Linux及Unix都带这个命令,用法都是一样的)来登录服务器,这样可以看到更详细的信息,对于我们调试服务器是非常有帮助的。
最简单的ftp服务器就已经达建起来了。
使用如下命令关闭ftp服务:# killall vsftpd 服务启动脚本的制作在standalone 模式中,经常用上面的命令启动服务比较麻烦,我们做一个脚本来启动和停止服务。
建立一个新文件/etc/rc.d/init.d/vsftpd,把以下内容复制到文件中:#!/bin/bash## vsftpd This shell script takes care of starting and stopping# standalone vsftpd.## chkconfig: - 60 50# description: Vsftpd is a ftp daemon, which is the program \# that answers incoming ftp service requests.# processname: vsftpd# config: /etc/vsftpd/vsftpd.conf# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0[ -x /usr/local/sbin/vsftpd ] || exit 0RETV AL=0prog="vsftpd"start() {# Start daemons.if [ -d /etc/vsftpd ] ; thenfor i in `ls /etc/vsftpd/*.conf`; dosite=`basename $i .conf`echo -n $"Starting $prog for $site: "/usr/local/sbin/vsftpd $i &RETV AL=$?[ $RETV AL -eq 0 ] && {touch /var/lock/subsys/$progsuccess $"$prog $site"}echodoneelseRETV AL=1fireturn $RETV AL}stop() {# Stop daemons.echo -n $"Shutting down $prog: "killproc $progRETV AL=$?echo[ $RETV AL -eq 0 ] && rm -f /var/lock/subsys/$prog return $RETV AL}# See how we were called.case "$1" instart)start;;stop)stop;;restart|reload)stopstartRETV AL=$?;;condrestart)if [ -f /var/lock/subsys/$prog ]; thenstopstartRETV AL=$?fi;;status)status $progRETV AL=$?;;*)echo $"Usage: $0 {start|stop|restart|condrestart|status}"exit 1esacexit $RETV AL保存文件,再给该文件加上执行权限:# chmod 755 /etc/rc.d/init.d/vsftpd 这样我们就可以通过下面的方法来管理服务了:# service vsftpd {start|stop|restart|condrestart|status}例如重新启动服务:# service vsftpd restartShutting down vsftpd: [OK ]Starting vsftpd for vsftpd: [OK ] 四、配置文件详解vsftpd配置文件只有一个,就是/etc/vsftpd/vsftpd.conf,上一小节我们就已经加入了两行参数了。