vsftpd服务器设置
Linux1 FTP服务器 主配置文件vsftpd.conf

Linux1 FTP服务器主配置文件vsftpd.confvsftpd.conf可以用于控制vsftpd,以实现各种各样的功能。
vsftpd缺省到/etc/vsftpd.conf处查找此文件。
当然,管理员也可以通过命令行参数进行指定。
对于想使用高级inetd管理的用户,例如,xinetd,则这个功能非常有用。
可以使用不同的配置文件来启动基于主机、实体用户、匿名用户登录及系统安全方面的每个服务。
vsftpd.conf的格式非常简单,每行要么是注释,要么是指令。
注释行以#开始,将被忽略。
指令行格式如下:选项=值应当注意的一点是,如果在“选项”、“=”、“值”三者之间存在空格,将会报错。
且针对于每项设定都有默认值(YES/NO),这可以通过配置文件来修改。
1.与计算机相关的设置值●connect_from_port_20用于控制在服务器端,是否使用端口20(ftp-data)进行数据连接。
基于安全的考虑,有些客户端需要这样做。
相反,禁用该选项可以使vsftpd以较少特权运行。
默认:NO。
●listen_portvsFTP使用的命令通道端口号,如果想要使用费默认的端口号,可在这个设置项中修改。
不过,需要知道这个设置值仅适合以stand alone(独立模式)的方式启动。
默认:21。
●dirmessage_enable如果启用,当用户首次进入一个新目录时,FTP服务器将会显示欢迎信息。
默认情况下,是通过扫描目录下的message文件获取的,当然也可以通过message_file 选项设定。
默认:NO。
●message_file当dirmessage_enable=YES时,可设置这个项目来让vsFTPd寻找该文件,从而显示信息。
默认:YES。
●listen若设置为YES,表示vsFTPd是以stand alone(独立模式)的方式启动。
默认:YES。
●pasv_enable如果数据传输时,不允许使用PASV模式,则将此选项设为NO。
VsFTPd的服务器的启动和关闭

VsFTPd的服务器的启动和关闭vsFTPd服务器启动和关闭是极容易的;我们可以直接把服务器运行调到后台运行;这是几乎所有服务器管理的运行方式;vsFTPd服务器启动和关闭的通用方法运行vsftpd命令,要用到root权限,如果您当前操作用户并非是root,可以用su切换到root权限;关于root权限的切换,您有两种方式,一种是su,另一种是sudo;vsFTPd服务器的运行;[root@localhost ~]# /usr/sbin/vsftpd &[root@localhost ~]# /usr/local/sbin/vsftpd &vsFTPd服务器是否运行起来;我们可以通过pgrep vsftpd 来查看vsftpd是否运行起来;[root@localhost ~]# pgrep vsftpd上面显示vsFTPd服务器运行起来了,您可以通过ftp命令、lftp工具或gftp或其它的FTP客户端来测试连接;vsFTPd 服务器关闭:我们用pkill vsftpd 来杀死vsftpd进程,这样就把vsFTPd 关闭,用psgrep vsftpd 来查看进程,如果没有进程,证明vsFTPd已经关掉;当然也要用到root权限。
[root@localhost ~]# pkill vsftpd[root@localhost ~]# pgrep vsftpdFedora/Redhat/CentOS中vsFTPd 服务器的启动和关闭在Fedora/Redhat/CentOS中,也可以用下面的方法来启动vsFTPd;当然也要用到root权限;[root@localhost beinan]# /etc/init.d/vsftpd start为vsftpd 启动vsftpd:[ 确定]重新启动vsFTPd用下面的命令;[root@localhost beinan]# /etc/init.d/vsftpd restart关闭vsftpd:[ 确定]为vsftpd 启动vsftpd:[ 确定]关掉vsFTPd服务器,应该用下面的命令;[root@localhost beinan]# /etc/init.d/vsftpd stop 关闭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。
vsftpd配置详解

vsftpd配置详解(上)/xootus/blog/item/5247b0248329d66734a80fbe.html 一、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语言的同志应该知道这个“#”是什么意思)。
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配置的一般方法。
实验6-FTP服务器的安装和配置

【实验6】FTP服务器的安装和配置一、实验目的:1.掌握红帽企业版下vsftpd服务器的安装和配置。
二、【实验环境】1.虚拟机软件VM Ware 6.0,Redhat Enterprise Linux虚拟机或光盘镜像文件。
2.2台以上机器组成的局域网。
三、【实验原理】(一)FTP服务简介Transfer Procotol,文件传输协议)是专门用来传输文件的协议。
实现了服务器和客户机之间的文件传输和资源再分配,是普遍采用资源共享方式之一。
(二)Vsftpd简介Linux下实现FTP服务的软件很多,最常见的是vsftpd、Wu-和Proftp等。
在Red Hat Enterprise Linux 5 中默认安装的FTP软件是vsftpd。
(三)Vs说明Vsftpd服务的配置文件有:/etc/vs、/etc/vs和/etc/vs。
/etc/vs是FTP服务的主配置文件。
主要参数的意义如下: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 (使用标准的日志格式)Xperlog_file = /var/log/vs (设置日志文件的名称和路径)(欢迎信息)Pam_service_name=vsftpd (验证方式)*Listen=yes (独立的VSFTPD服务器)*Anon_upload_enable=yes (是否允许匿名用户上传)Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)Write_enable=yes (开放本地用户写的权限)Anon_other_write_enable=yes (匿名帐号可以有删除的权限)Anon_world_readable_only=no (放开匿名用户浏览权限)Ascii_upload_enable=yes (启用上传的ASCII传输方式)Ascii_download_enable=yes (启用下载的ASCII传输方式)Banner_ (用户连接后欢迎信息使用的是此文件中的相关信息)Idle_session_timeout=600(秒) (用户会话空闲时限)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_min_port=30000 (建立资料联机所可以使用port 范围的上界,0表示任意。
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 文件获得的,此文件保存自定义的欢迎信息,由用户自己建立)
linux课堂笔记5--vsftpd服务器的配置

FTP服务器配置(实验环境:两台计算机,一台安装RHEL Server 5,另一台安装Windows XP,用集线器连接)一般而言,用户必须经过身份验证才能登录Vsftpd服务器,然后才能访问和传输FTP 服务器上文件。
Vsftpd服务器用户分为两类:本地用户和匿名用户。
本地用户是在Vsftpd服务器上拥有账号用户。
本地用户输入自己用户名和口令后可登录Vsftpd服务器,并且直接进入该用户主目录。
匿名用户是在Vsftpd服务器上没有账号用户。
如果Vsftpd服务器提供匿名访问功能,那么就可以输入匿名用户名(ftp或anonymous),然后输入用户E-mail地址作为口令进行登录。
甚至不输入口令也可以登录。
当匿名用户登录系统后,进入匿名FTP服务目录/var/ftp。
步骤一、检查所需RPM包是否已经安装在系统中,方法是:rpm –qa |grep vsftpd 检查是否已安装vsftpd软件包步骤二、安装所需RPM包若在步骤一中发现所需RPM包没有安装,则需使用下面命令来安装软件包,否则请转入第三步。
mount /media/cdrom/---------挂载光驱rpm -ivh /media/cdrom/RedHat/RPMS/vsftpd-*---------其中*号可以按TAB键自动补齐步骤三、配置匿名vsftpd服务器vsftpd服务器最重要是主配置文件vsftpd.conf。
vsftpd守护进程运行时首先从vsftpd.conf文件获取配置文件信息,然后配合ftpusers和userlist文件决定可访问用户。
下表列出了与vsftpd服务器相关目录和文件。
下表列出了vsftpd.conf文件中比较常用部分配置参数。
vsftpd服务器默认设置是允许本地用户和匿名用户登录,本地用户默认进入其个人主目录(/home/账户名),并可以切换到其他有权访问目录,还可以上传和下载文件。
匿名用户只能下载/var/ftp/目录下文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.vsftpd服务软件包vsftpd-2.0.5-10.el5.i386.rpm:vsftpd主程序包2.vsftpd相关文档/etc/vsftpd/vsftpd.conf:vsftpd的核心配置文件/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP服务器/etc/vsftpd/user_list:指定允许使用vsftpd的用户列表文件/etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd操作的一些变量和设置脚本/var/ftp/:默认情况下匿名用户的根目录FTP常规配置应用案例1:需求:公司技术部准备搭建一台功能简单的FTP服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。
分析:允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启,最后anon_mkdir_write_enable字段可以控制是否允许匿名用户创建目录。
解决方案:(1)配置vsftpd.conf主配置文件(服务器配置支持上传)允许匿名用户访问anonymous_enable=YES允许匿名用户上传文件并可以创建目录anon_upload_enable=YESanon_mkdir_write_enable=YES保存退出(2)上传目录ftp用户的写入权限大家注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。
切记!切记!!下面我们来一步一步的实现,先修改目录权限,创建一个公司上传用的目录,叫companydata,分配ftp用户所有,目录权限是755OK了(3)修改selinux(selinux支持上传)这个也是很多教程没有的一步使用getsebool -a | grep ftp命令可以找到ftp的bool值,然后我们来改getsebool -a 是显示所有的selinux的布尔值,通过管道,查找与ftp相关的使用setsebool -P allow_ftpd_anon_write .命令设置布尔值下面我们准备修改上下文然后reboot重新启动服务器(4)运行级别3开启vsftpd服务(5)测试匿名登录FTP现在我们匿名上传现在匿名上传的文件是禁止删除滴~这样匿名用户的上传就算成功了############################Michael分割线##########################FTP常规配置应用案例2:需求:公司内部现在有一台FTP和WEB服务器,FTP的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等哈~公司现有两个部门负责维护任务,他们分别适用team1和team2帐号进行管理。
先要求仅允许team1和team2帐号登录FTP服务器,但不能登录本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。
分析:将FTP和WEB服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。
其次使用chroot功能将team1和team2锁定在/var/www/html目录下。
如果需要删除文件则还需要注意本地权限哈~解决方案:(1)建立维护网站内容的ftp帐号team1和team2并禁止本地登录,然后设置其密码useradd -s /sbin/nologin 用户名(2)配置vsftpd.conf主配置文件并作相应修改vim /etc/vsftpd/vsftpd.confanonymous_enable=NO:禁止匿名用户登录local_enable=YES:允许本地用户登录local_root=/var/www/html:设置本地用户的根目录为/var/www/html chroot_list_enable=YES:激chroot功能chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件保存退出哈~(3)建立/etc/vsftpd/chroot_list文件,添加team1和team2帐号touch /etc/vsftpd/chroot_list(4)开启禁用SElinux的FTP传输审核功能setsebool -P ftpd_disable_trans .on也可以换成1,off为0哈~如果不禁用SElinux的FTP传输审核功能则会出现如下错误:“500 OOPS:无法改变目录”哈~(5)重启vsftpd服务使配置生效service vsftpd restart(6)修改本地权限(7)测试OK,需求目标全部达成~~~############################Michael分割线########################## 下季更新[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之高级配置,敬请期待~~~Vsftpd高级配置企业环境公司为了宣传最新的产品信息,计划搭建FTP服务器,为客户提供相关文档的下载。
对所有权互联网开放共享目录,允许下载产品信息,禁止上传。
公司的合作单位能够使用FTP服务器进行上传和下载,但不可以删除数据。
并且保证服务器的稳定性,进行适当优化设置哈~需求分析根据企业的需求,对于不同用户进行不同的权限限制,FTP服务器需要实现用户的审核。
需考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。
为了保证服务器的性能,还需要根据用户的等级,限制客户端的连接数及下载速度。
解决方案1、创建用户数据库(1)创建用户文本文件先建立用户文本文件vsftpd_virtualuser.txt,添加两个虚拟帐号,公共帐号ftp及客户帐号viptouch /etc/vsftpd/vsftpd_virtualuser.txtvim /etc/vsftpd/vsftpd_virtualuser.txt格式:虚拟帐号1密码虚拟帐号2密码保存退出哈~(2)生成数据库保存虚拟帐号和密码的文本文件无法被系统帐号直接调用哈~我们需要使用db_load命令生成db数据库文件db_load -T -t hash -f /etc/vsftpd/vsftpd_virtualuser.txt/etc/vsftpd/vsftpd_virtualuser.db注意:rhel5默认只安装db4-4.3.29-9.fc6.i386.rpm和db4-devel-4.3.29-9.fc6.i386.rpm,要使用db_load需要将db4-utils-4.3.29-9.fc6.i386.rpm包安装上哈~否则会出现下图的错误:找不到db_load命令。
(3)修改数据库文件访问权限数据库文件中保存着虚拟帐号的密码信息,为了防止非法用户盗取哈,我们可以修改该文件的访问权限。
生成的认证文件的权限应设置为只对root用户可读可写,即600chmod 600 /etc/vsftpd/vsftpd_virtualuser2、配置PAM文件为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块.PAM(Plugable Authentication Module)为可插拔认证模块,不必重新安装应用系统,通过修改指定的配置文件,调整对该程序的认证方式。
PAM模块配置文件路径为/etc /pam.d/目录,此目录下保存着大量与认证有关的配置文件,并以服务名称命名。
修改vsftpd对应的PAM配置文件/etc/pam.d/vsftpd,将默认配置使用“#”全部注释,添加相应字段。
修改成下图效果:3、创建虚拟帐号对应的系统用户对于公共帐号和客户帐号,因为需要配置不同的权限,所以可以将两个帐号的目录进行隔离,控制用户的文件访问。
公共帐号ftp对应系统帐号 ftpuser,并指定其主目录为/var/ftp/share,而客户帐号vip对应系统帐号ftpvip,指定主目录为/var/ftp/vipchmod -R 500 /var/ftp/share/:公共帐号ftp只允许下载,修改share目录其他用户权限为rx可读可执行。
chmod -R 700 /var/ftp/vip/:客户帐号vip允许上传和下载,所以对vip目录权限设置为rwx,可读可写可执行。
如果不设置可执行用户登录会出不能更改目录错误。
4、建立配置文件设置多个虚拟帐号的不同权限,若使用一个配置文件无法实现此功能,需要为每个虚拟帐号建立独立的配置文件,并根据需要进行相应的设置。
(1)修改vsftpd.conf主配置文件配置主配置文件/etc/vsftpd/vsftpd.conf添加虚拟帐号的共同设置并添加user_config_dir字段,定义虚拟帐号的配置文件目录禁用匿名用户登录并启用本地用户登录设置anonymous_enable=NOlocal_enable=YES将所有本地用户限制在家目录中,NO则不限制chroot_local_user=YESpam_service_name=vsftpd:配置vsftpd使用的PAM模块为vsftpduser_config_dir=/etc/vsftpd/vuserconfig:设置虚拟帐号的主目录为/vuserconfigmax_clients=300:设置FTP服务器最大接入客户端数为300个max_per_ip=10:设置每个IP地址最大连接数为10个(2)建立虚拟帐号配置文件在user_config_dir指定路径下,建立与虚拟帐号同名的配置文件并添加相应的配置字段哈~首先建立公共帐号ftp的配置文件guest_enable=yes:开启虚拟帐号登录guest_username=ftpuser:设置ftp对应的系统帐号为ftpuseranon_world_readable_only=no:允许匿名用户浏览器整个服务器的文件系统anon_max_rate=50000:限定传输速率为50KB/s注意:vsftpd对于文件传输速度限制并不是绝对锁定在一个数值上哈,而是在80%~120%之间变化哈~比如设置100KB/s则实际是速度在80KB/s~120KB/s之间变化哈~下面是客户帐号的配置文件vipguest_enable=yes:开启虚拟帐号登录guest_username=ftpvip:设置ftp对应的系统帐号为ftpvipanon_world_readable_only=no:允许匿名用户浏览器整个服务器的文件系统write_enable=yes:允许在文件系统写入权限anon_mkdir_write_enable=yes:允许创建文件夹anon_upload_enable=yes:开启匿名帐号的上传功能anon_max_rate=100000:限定传输速度为100KB/s5、重启vsftpd使配置生效6、测试(1)公共帐号ftp测试在公共帐号测试前,我们先建立个产品信息文件哈~公共帐号登录ftp服务器哈~登录成功测试下载,ok,成功测试上传文件及文件夹,ok,不成功哈~最后测试限速50KB/s达成目标~(2)客户帐号vip测试客户帐号vip登录登录成功测试上传,ok,成功测试下载,ok,成功测试删除,ok,不成功测试限速下载100KB/s达成目标需求,OK~~~。