Vsftpd安全配置大全
VSFTPD配置和错误,这篇文章也太厉害了
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)修改数据库⽂件访问权限数据库⽂件中保存着虚拟帐号的密码信息,为了防⽌⾮法⽤户盗取哈,我们可以修改该⽂件的访问权限。
vsftp配置安装以及权限设置
vsftpd FTP服务器架设在windows上完了完server-u,很简单,一个小时就能完成ftp服务器的假设,在liunx下要架设一个ftp就没那么容易了,在网上找了找资料在windows上架设 FTP 首选 Server-u,看看资料,点点下一步,基本上10分钟就能架设一个ftp服务器了,在linux下面架设ftp服务器,确实费了我一番功夫,现在想起来,需要总结的就是看资料的时候一定要全面,并且做好一个资料要看完。
最终我选择了 vsFTPd是一款在Linux发行版中最受推崇的FTP服务器程序。
特点是小巧轻快,安全易用。
vsftpd (号称最安全的ftp 服务器)下面讲下linux 下使用vsftpd 的步骤:1.首先下载需要的软件,双机直接安装:a.vsftpd-2.0.1-5.EL4.5.i386.rpm (在liunx4 的第一张光盘)b.db4-utils-4.2.52-7.1.i386.rpm (在liunx4 的第三张光盘) ,用来加密虚拟用户密码等文件的工具2.启动vsftpd服务在控制台执行 service vsftpd start ,如果没有什么问题,你可以看到服务启动的进程号,如果出现了问题,你可以试着将 gssftp 这个服务停掉,执行service vsftpd stop 因为这个服务或许会造成冲突查看vsftpd服务器启动情况 service vsftpd status3.用客户端工具连接ftp服务器在window操作系统下,打开命令提示符,输入 ftp 133.64.81.164 回车然后使用默认的用户名(ftp)和密码(ftp) ,就可以登录ftp服务器了,或者你也可以使用系统用户的用户名和口令登录ftp服务器。
经过以上3个步骤我们就完成了ftp服务器的假设,但是这里有许多问题a.安全性,匿名用户也可以登录,进行操作b.用户登录以后并没有锁定目录c.用户的权限配置没有体现还有其他的问题,基于这些问题,需要我们了解下 vsftpd的工作原理,上面的操作都是基于一下的3个配置文件的vsftp相关配置文件说明/etc/vsftpd/vsftpd.conf/etc/vsftpd.ftpusers/etc/er_list其中,/etc/vsftpd/vsftpd.conf 是主配置文件。
Vsftpd配置(Centos7)
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-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。
VSFTPD配置方法
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配置的一般方法。
VSFTPD的设置选项中文
listen_port=port_value
指定FTP服务器监听的端口号(控制端口),默认值为21。此选项在standalone模式下生效。
FTP模式与数据端口
FTP分为两类,PORTFTP和PASVFTP,PORTFTP是一般形式的FTP。这两种FTP在建立控制连接时操作是一样的,都是由客户端首先和FTP服务器的控制端口(默认值为21)建立控制链接,并通过此链接进行传输操作指令。它们的区别在于使用数据传输端口(ftp-data)的方式。PORTFTP由FTP服务器指定数据传输所使用的端口,默认值为20。PASVFTP由FTP客户端决定数据传输的端口。PASVFTP这种做法,主要是考虑到存在防火墙的环境下,由客户端与服务器进行沟通(客户端向服务器发出数据传输请求中包含了数据传输端口),决定两者之间的数据传输端口更为方便一些。
file_open_mode=
上传档案的权限,与chmod所使用的数值相同。如果希望上传的文件可以执行,设此值为0777。默认值为0666。
local_umask=
本地用户新增档案时的umask数值。默认值为077。不过,其他大多数的FTP服务器都是使用022。如果您的用户希望的话,可以修改为022。在自带的配置文件中此项就设为了022。
ASCII模式
默认情况下,VSFTPD是禁止使用ASCII传输模式。即使FTP客户端使用asc命令,指明要使用ASCII模式,但是,VSFTPD表面上接受了asc命令,而在实际传输文件时,还是使用二进制方式。下面选项控制VSFTPD是否使用ASCII传输模式。
chroot_list_file=/etc/vsftpd/chroot_list
port_enable=YES|NO
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 配置文件详细说明(史上最全附例子)
禁止使用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 文件获得的,此文件保存自定义的欢迎信息,由用户自己建立)
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里。
第5章—第二讲 vsftpd的配置
欢迎信息文件是隐藏文件,编写完成用ls -l查看 :
# vi /var/ftp/pub/.message
VSFtpd的虚拟账号配置:
vsftpd 的虚拟用户采用了不与系统账户口令文 件合二为一的方法,也就是说,为了认证这些虚拟 用户vsftpd 使用单独的口令库文件(pam_userdb), 由可插拔认证模块(PAM)进行认证。使用这种方 式更加安全,并且配置更灵活,可以代替本地用户 登录FTP服务器。
切换路径的命令是:lcd +绝对路径;dir命令用 于查看服务器文件及目录信息;!Dir命令用于查 看本地文件及目录信息。
以上所采用的是VSftpd的默认配置,默认情况 下仅允许匿名用户进行登录和下载。
修改VSFtpd的主配置文件:
# vi /etc/vsftpd/vsftpd.conf
(4)创建一个用户 用来做虚拟用户使用,不能给这 个用户设置密码 :
# mkdir /var/ftp/test # mkdir /var/ftp/test/pub # chmod 700 /var/ftp/test # chmod 777 /var/ftp/test/pub # useradd –s /sbin/nologin –d /var/ftp/test vftpuser
修改完成后,重启VSftpd:
# service vsftpd restart
关闭selinux,并修改pub目录权限:
# chmod -R 777 /var/ftp/pub/ # vi /etc/selinux/config
修改完成后,重启Linux操作系统:
VSFtpd的安全配置:
将匿名用户和本地用户禁锢在/var/ftp/pub目录下:
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
############## 文件定义 ##################
visual studio ftp服务器配置
FTP服务器配置
---Windows Server 2003
一.安装FTP
1.打开添加、删除程序
2.点击“添加或删除Windows组件”
3.双击“应用程序服务器”
4.双击“Internet信息服务(IIS)”
5.选择“文件传输协议(FTP)服务”6.点“确定”完成安装
二.配置FTP服务
1.打开“Internet信息服务(IIS)管理器”
2.选择“默认FTP站点”---“新建”---“虚拟目录”
3.新建虚拟目录TPLM
4.选择TPLM---点击鼠标右键---属性
5.选择上传文件存放位置(如图:这里选择D:\ExeFile)
7.选择默认FTP站点---点击右键---属性
8.安全帐户为服务器计算机的某个用户(FTP站点及其它按默认设置、)
(此用户为解决方案mObject.BL. SysConfig的FTP用户)
static private string _springClient = "ClientSpringcnf.xml";
static private string _ftpServer = "ftp://172.16.182.182/tplm/";
static private string _ftpUser = "Administrator"; static private string _ftpPassword = "Ksec@tplm";。
vsftpd_虚拟用户配置详解
一在线安装vsftpd需要的组件yum -y install vsftpd*yum -y install pam*yum -y install db4二建立虚拟用户[root@localhost ~]#vi /etc/vsftpd/vftpuser.txt添加虚拟用户名和密码奇数行为用户名反之为密码qiu123cancan123456三生成虚拟用户口令认证文件把刚添加的vftpuser.txt虚拟用户口令转换成系统的口令认证文件root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vu_list.db四编辑vsftpd的PAM认证[root@localhost ~]#vi /etc/pam.d/vsftpd.vu录入下文auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_listaccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list五建立本地映射用户并设置宿主权限[root@localhost ~]#mkdir /opt/tonecan (在/opt建立一个tonecan)[root@localhost ~]#useradd -d /opt/tonecan -s /sbin/nologin vftpuser[root@localhost ~]#chmod 777 /opt/tonecan并且设置权限为777.六配置vsftpd.conf (设置虚拟用户配置项)[root@localhost ~]#vi /etc/vsftpd/vsftpd.confguest_enable=YES #开启虚拟用户user_config_dir=/etc/vsftpd/vsftpd_user_conf 虚拟用户配置文件存放位置guest_username=vftpuser (FTP虚拟用户对用的系统用户useradd -d /opt/tonecan -s/sbin/nologin vftpuser)pam_service_name=vsftpd#PAM认证文件七测试登录root@localhost ~]#service vsftpd restart重启vsftpd服务然后测试登录。
Linux下vsftp配置大全
一、前言Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如,,.等。
Vsftpd的实现有三种方式1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问2、本地用户形式:以/etc/passwd中的用户名为认证方式3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中。
相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。
相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。
对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。
二、获取最新版的Vsftp程序Vsftp官方下载:ftp:///users/cevans/vsftpd-2.0.3.tar.gz,目前已经到2.0.3版本。
假设我们已经将vsftpd-2.0.3.tar.gz文件下载到服务器的/home/xuchen目录# cd /home/xuchen# tar xzvf vsftpd-2.0.3.tar.gz //解压缩程序# cd vsftpd-2.0.3三、三种方式的实现1、匿名用户形式实现# vi builddefs.h \\编辑builddefs.h 文件,文件内容如下:#ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H#undef VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_PAM#undef VSF_BUILD_SSL#endif /* VSF_BUILDDEFS_H */将以上undef的都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL# make //直接在vsftpd-2.0.3里用make编译# ls -l vsftpd-rwxr-xr-x 1 root root 86088 Jun 6 12:29 vsftpd //可执行程序已被编译成功创建必要的帐号,目录:# useradd nobody //可能你的系统已经存在此帐号,那就不用建立# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立# chown root:root /var/ftp# chmod og-w /var/ftp请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin安装vsftp配置文件,可执行程序,man等:# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano# install -m 644 vsftpd.8 /usr/share/man/man8# install -m 644 vsftpd.conf.5 /usr/share/man/man5# install -m 644 vsftpd.conf /etc/vsftpd-ano.conf这样就安装完成了,那么我们开始进行简单的配置# vi /etc/vsftpd-ano.conf ,将如下三行加入文件listen=YESlisten_port=21tcp_wrappers=YESanon_root=/var/ftp //设置匿名用户本地目录,和ftp用户目录必须相同listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它(vsftpd 推荐使用standalone方式)# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf & //以后台方式启动vsftpd注意:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现如下错误:500 OOPS: bad bool value in config file for: listen测试搭建好的匿名用户方式# ftp 127.0.0.1Connected 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 typeName (127.0.0.1:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp>; pwd257 "/"ftp>; quit221 Goodbye.#OK,已经完成了,very nice.高级配置细心的朋友可能已经看出来我们只在默认配置文件增加了四行,就实现了FTP连接(也证明了vsftpd的易用性),那么让我们传个文件吧,呀!!传输失败了(见图1)为什么呢?因为vsftpd 是为了安全需要,/var/ftp目录不能把所有的权限打开,所以我们这时要建一个目录pub,当然也还是需要继续修改配置文件的。
vsftpd.conf配置文件详解
vsftpd.conf配置⽂件详解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服务器详解
vsftpd服务器详解Vsftpd(Very Secure FTP Daemon)是一款非常流行的开源FTP服务器软件,它以其高度的安全性、稳定性和易用性而广泛应用于各种网络环境中。
本文将详细介绍Vsftpd服务器的特点、安装配置、管理和常见问题解决方法,以帮助读者更好地理解和应用该软件。
一、Vsftpd服务器特点Vsftpd服务器具有以下几个显著特点:1. 安全性高:Vsftpd注重安全性,支持多种加密协议和技术,如SSL/TLS,以保护数据传输过程中的机密性和完整性。
2. 稳定可靠:Vsftpd采用C语言编写,精心设计,经过多年发展和测试,稳定性非常高,能在大负载和高并发的环境下运行良好。
3. 简单易用:Vsftpd采用简洁的配置文件和命令行参数,用户可以轻松地配置和管理FTP服务器,即使对于没有专业知识的用户也能上手使用。
二、Vsftpd服务器安装配置1. 安装Vsftpd服务器:在Linux系统中,可通过包管理工具如apt 或yum来安装Vsftpd软件包。
安装完成后启动Vsftpd服务即可。
2. 编辑配置文件:Vsftpd的配置文件位于/etc/vsftpd.conf,用户可以根据需要对其进行编辑和自定义配置。
配置文件中包含了各种参数,如监听IP地址、授权方式、用户限制、权限设置等。
3. 用户管理:Vsftpd支持本地用户和虚拟用户两种模式。
本地用户是指系统中已存在的用户,而虚拟用户是指在Vsftpd服务器中单独管理的用户。
用户信息和密码可以存储在系统用户数据库中,也可以使用独立的数据库文件。
4. 文件权限控制:Vsftpd提供了灵活的文件权限控制机制,可以限制用户的上传和下载权限,防止非法操作和数据泄露。
用户的主目录、上传目录和下载目录可以根据需要进行设置。
5. 安全传输:Vsftpd支持SSL/TLS加密传输,可以使用自签名证书或第三方证书来保护数据在传输过程中的安全性。
用户可以在配置文件中设置相应的参数和路径。
linux红帽子VSFTPD的配置
FTP可以通过很多软件实现,我们linux下面最常用的FTP服务器架设使用vsftpd软件vsftpd 是一个基于GPL发布的FTP服务器软件。
其中的vs是“ Very Secure”的缩写,由此名称缩写可以看出,本服务器的初衷就是服务的安全性。
当然,vsftpd也是REDHAT默认安装的ftp服务器软件后台进程:vsftpd类型:System V 服务使用端口:20(ftp-data),21(ftp)所需RPM包:vsftpd配置文件:/etc/vsftpd/vsftpd.confFTP的主动模式和被动模式很重要主动模式:client 先连接服务器的21端口(命令端口),然后client开放一个大于1024的端口等待服务器的20端口连接,21号端口的链接建立以后,服务器就用20去连接client开放的端口,简单来说就是服务器主动连客户端啦基于上面的连接方式,如果client端有个防火墙,服务器的20端口就连接不进入,导致会连接失败。
被动模式:就是client开启大于1024的X端口连接服务器的21(命令端口),同时开启X+1端口当21号端口连接成功后,client会发送PASV命令,通知服务器自己处于被动模式,服务器收到这个消息后,就会开放一个大于1024的端口Y通知client,client接到通知后就会用X+1来连接服务器的Y端口,简单的说就是client主动连接服务器一般我们使用的是主动模式大家了解被动模式就可以了,当你架设FTP服务器,出现这样的情况,你应该想到可以使用被动模式来解决,当然防火墙一般也支持FTP的追踪模块,会自动识别自己发出的FTP数据请求。
这样制动模式也能返回数据下面我们先安装vsftpd吧所有服务里面只有vsftpd 没有依耐关系,其他服务都要yum来安装或解决其依赖关系哈~没有就安装下~我们来说vsftpd的配置文件大家切换到/etc/vsftpd目录,这个目录就是vsftpd的配置文件存放的目录第一个文件ftpusers是用户控制文件,在这个文件里面的用户,默认是不可以使用vsftpd服务的。
vsftp 连接参数
vsftp 连接参数vsftpd是一个流行的FTP服务器软件,用于在Linux系统上提供文件传输服务。
在使用vsftpd时,您可能需要设置一些连接参数来配置FTP服务器的行为。
以下是一些常见的vsftpd连接参数:1. 超时时间:`accept_timeout`: 用于设置建立FTP连接的超时时间,单位为秒。
默认值为60秒。
`connect_timeout`: 在PORT方式下,用于设置建立数据连接的超时时间,单位为秒。
默认值为60秒。
`data_connection_timeout`: 用于设置建立FTP数据连接的超时时间,单位为秒。
默认值为120秒。
`idle_session_timeout`: 用于设置在多长时间内不对FTP服务器进行任何操作,就会断开FTP连接,单位为秒。
默认值为300秒。
2. 日志文件设置:`xferlog_enable`: 用于启用或禁用上传/下载日志记录。
预设值为开启(YES)。
`xferlog_file`: 用于设置日志文件的路径和名称。
默认值为/var/log/。
3. 权限和安全设置:`anonymous_enable`: 允许匿名用户访问FTP服务器。
预设值为NO。
`local_enable`: 允许本地用户登录到FTP服务器。
预设值为NO。
`write_enable`: 允许用户写入文件到FTP服务器。
预设值为NO。
4. 其他常用参数:`debug_enable`: 开启调试模式,用于查看详细的日志信息。
预设值为NO。
`pasv_enable`: 开启被动模式,以允许在某些客户端(如防火墙后)使用FTP连接。
预设值为YES。
`ssl_enable`: 启用SSL加密连接,以提高安全性。
预设值为NO。
`tcp_wrappers`: 允许使用tcpwrappers进行访问控制,提供额外的安全性层。
预设值为NO。
以上参数仅供参考,实际配置应根据您的需求和安全要求进行更改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.VSFTPD简介 (2)1.1 什么是VSFTPD (2)1.2 谁在使用VSFTPD (3)2.安装 (3)2.1软件获得 (4)2.2 软件安装 (4)3.配置服务 (6)3.1 如何启动服务 (6)3.2 制作服务启动脚本 (8)4.简单配置文件分组讲解 (11)4.1 匿名和本地用户登陆 (11)4.2 两类用户的共同设置 (16)4.3 本地用户权限管理 (18)4.4 匿名用户的管理 (22)4.5 关于欢迎语设置 (30)4.6 关于ip监听与并发连接 (32)4.7 关于连接端口设置 (35)4.8 VSFTPD的日志 (43)4.9 服务器连接时间控制 (45)5.特殊Vsftpd环境搭建 (46)5.1 服务的双模式切换 (46)5.2 基于ip的虚拟站点 (47)5.3 虚拟用户建立、管理 (53)5.4 在数据库中记录日志 (63)5.5 建立加密的数据传输 (65)6. VSFTPD.CONF(5)的中文翻译 (71)6.1布尔项 (71)6.2 数字选项设置 (81)6.3 字符串选项 (83)7. VSFTPD结束语 (88)1.VSFTPD简介1.1 什么是VSFTPDVsftpd是一个基于GPL发布的类UNIX的ftp服务器软件。
其中Vs代表了“very secure”,可以看出软件的写作初衷就是为了安全性考虑。
所以可以这么说,在众多的ftp服务器软件中此款软件是最安全的。
同样的在Linux上,它依然体现了这个特点。
然而不仅在安全上是出色的,在速度上和稳定性上它都有着不俗的表现。
在速度上,Vsftpd完全超越了Wu-ftpd的速度,大约可以是Wu-ftpd速度的1.5到2倍的速率。
有记录表明,在千兆以太网上,Vsftpd的速率可以达到86Mbyte/sec。
稳定性上更是优秀,资料表明,完全工作了24小时,传输数据达2.6TB,平均并发连接为1500用户,这些都是在单机上实现的。
在单机非集群的情况下,它的并发连接可以达到4000用户。
除此之外,Vsftpd还在其他功能上有着自己的表现:基于IP的虚拟ftp服务器;实现虚拟用户,用户验证结合数据库;可以选择基于standalone或者inetd模式;为每个用户设置单独的配置文件;限制速率;支持全面的IPV6技术;支持加密的SSL技术实现数据传输;……以上所有的内容摘自Vsftpd的官方网站,大家可以点击:。
1.2 谁在使用VSFTPD以下网站都一直在使用Vsftpd这个ftp软件:.uk ftp-stud.fht-esslingen.degd.tuwien.ac.atftp.sunet.seftp.engardelinu.uk 2.安装2.1软件获得本教程所有试验环境搭建都是基于RAD HAT Linux Advance Server 3操作系统(以下简称RHAS3)。
完全选择最新Vsftpd软件安装版本,我们可以到Vsftpd的官方网站下载到最新的版本,据写书日期止,最新版本为vsftpd-2.0.3 released我们可以到官方网站下载页面ftp:///users/cevans/ 下载。
# ftp Connected to .220 FTP server ready.500 'AUTH GSSAPI': command not understood.500 'AUTH KERBEROS_V4': command not understood.KERBEROS_V4 rejected as an authentication typeName (:root): ftp331 Guest login ok, type your name as password.Password:230- Welcome to Mythic Beasts Ltd.230- This system is for authorised users only. All access is logged.230 Guest login ok, access restrictions apply.Remote system type is UNIX.Using binary mode to transfer files.ftp> get /users/cevans/vsftpd-2.0.3.tar.gz /tmp/vsftpd-2.0.3.tar.gzftp> quit221 Goodbye.2.2 软件安装首先解压,使用tar命令:# lsjd_sockV4 vsftpd-2.0.3.tar.gz# tar zxvf vsftpd-2.0.3.tar.gz进入解压后目录,修改builddefs.h文件内容,此文件中的语句及解释分别为:#undef VSF_BUILD_TCPWRAPPERS //是否允许使用TCPWRAPPERS #define VSF_BUILD_PAM //是否允许使用PAM认证#undef VSF_BUILD_SSL //是否允许使用SSL其中如果允许加载上述功能模块的话就把前面的undef换成define。
其中TCPWRAPPERS是一个作用在inetd下的防火墙软件,很多管理员都喜欢用的一个技术;PAM认证让Vsftpd可以支持本地用户登陆服务器;SSL可以建立一个加密的数据传输。
因此我们把这三个功能都打上。
但是,一定要注意,前面的“#”号不能去掉。
关于这三个功能我们会在下面的内容中给大家具体介绍每个功能的配置。
builddefs.h文件修改完后,变成:#less builddefs.h#ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H#define VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_PAM#define VSF_BUILD_SSL#endif /* VSF_BUILDDEFS_H */安装之前检查一下是否原来默认安装了Vsftpd,如果安装了我们删除它:# rpm -q vsftpdvsftpd-1.2.1-3# rpm -e vsftpd# rm -f /etc/xinetd.d/vsftpd# chkconfig vsftpd off在RHAS3上,要编译Vsftpd之前的先得修改它的Makefile文件,我们这样做:# vi Makefile把原里面的第六行为:CFLAGS = -O2 -Wall -W –Wshadow改为:CFLAGS = -O2 -Wall -W -Wshadow -I/usr/kerberos/include -L/usr/kerberos/lib#-pedantic -Werror –Wconversion保存这个文件。
然后编译、安装:# make# make install最后为了让Vsftpd支持本地用户登陆,我们要复制PAM认证文件:# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd这样就完成了Vsftpd的安装,下一节我们会讨论Vsftpd服务的简单配置。
3.配置服务3.1 如何启动服务默认情况我们的服务器是建立在standalone模式下的,所以配置文件只有一个。
默认的配置文件是 /etc/vsftpd/vsftpd.conf 。
启动服务的命令在 /usr/local/sbin/vsftpd 。
最简单的启动服务的方法是:# /usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &但是现在还没有写配置文件,所以服务以后再启动。
让我们编辑/etc/vsftpd/vsftpd.conf文件,在里面加入:# less vsftpd.conflisten=yesanonymous_enable=yes第一句让我们可以在standalone模式下工作,第二句允许匿名用户登陆服务器。
这样我们再启动服务,服务就会启动成功,为了检测服务确实启动,我们需要:# netstat -an|grep 21tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN # telnet 127.0.0.1 21Trying 127.0.0.1...Connected to as1 (127.0.0.1).Escape character is '^]'.220 (vsFTPd 2.0.3)登陆服务器:# ftp 127.0.0.1Connected 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 typeName (127.0.0.1:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp>这样最简单的匿名服务器就搭建成功了。
如果要停止服务,就必须:# killall vsftpd3.2 制作服务启动脚本这样来不断启动服务和停止服务可能比较麻烦,我们来做一个简单的脚本可以方便的启动和停止服务。
#vi /etc/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 0RETVAL=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 &RETVAL=$?[ $RETVAL -eq 0 ] && {touch /var/lock/subsys/$progsuccess $"$prog $site"}echodoneelseRETVAL=1fireturn $RETVAL}stop() {# Stop daemons.echo -n $"Shutting down $prog: "killproc $progRETVAL=$?echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog return $RETVAL}# See how we were called.case "$1" instart)start;;stop)stop;;restart|reload)stopstartRETVAL=$?;;condrestart)if [ -f /var/lock/subsys/$prog ]; thenstopstartRETVAL=$?fi;;status)status $progRETVAL=$?;;*)echo $"Usage: $0{start|stop|restart|condrestart|status}"exit 1esacexit $RETVAL#chmod 755 /etc/init.d/vsftpd这样我们就可以使用下面的方法来管理服务了:# service vsftpd {start|stop|restart|condrestart|status}# service vsftpd restartShutting down vsftpd: OK ]Starting vsftpd for vsftpd: OK ]4.简单配置文件分组讲解4.1 匿名和本地用户登陆anonymous_enable=yes/no //是否允许匿名用户登陆local_enable=yes/no //是否允许本地用户登陆pam_service_name=vsftpd //本地用户登陆认证的pam设置文件还记得我们刚才把安装文件中的Redhat目录下的vsftpd.pam文件复制成了/etc/pam.d/vsftpd文件。