本文共 1605 字,大约阅读时间需要 5 分钟。
ProFTPD的<Limit>
配置部分允许进行强大的细粒度控制,即:允许谁使用哪些FTP命令。 然而,这种能力是以复杂性为代价的。 本文档描述了编写<Limit>
部分时要记住的一些事项。
优先权
也许使用<Limit>
最难的地方是理解它的优先级规则,它决定了<Limit>
限制何时生效。 首先,Limit指令中有三种类型的参数:“RAW”FTP命令、FTP命令组和ALL关键字。 1) 中列出了“原始”FTP命令,包括RFC强制的X变体FTP命令。 2)FTP命令组: 使用“RAW”FTP命令的<Limit>
具有最高优先级,其次是使用命令组的<Limit>
,最后是使用ALL关键字的<Limit>
。 如果<Limit>
同时具有“原始”命令和命令组,那么使用“RAW”命令的Limit部分限制生效。 SITE命令
若要将<Limit>
应用于SITE命令,则将“SITE”和命令通过下划线(“_”)组合,如下所示: 比如:对SITE CHMOD设置限制,可以:
DenyAll
继承
<Limit>
一般在proftpd.conf的<Directory>
部分中使用,这样,<Limit>
将被出现在<Directory>
路径中的所有子目录继承,除非被“更近”的<Limit>
部分明确覆盖。因此,可以配置一个<Limit>
部分,拒绝所有目录的所有FTP命令,然后在适当的子目录(例如pub /或incoming /目录)中明确允许READ或WRITE命令组。 使用 AllowUser和DenyUser
在使用AllowUser指定某些用户支持某些FTP命令时,最好为每个用户使用一个AllowUser,尽量不要用一个AllowUser列出所有的用户,比如:AllowUser bob,dave,wendy
最好使用如下方式替换:
AllowUser bob AllowUser dave AllowUser wendy
以上对DenyUser同样有效。
注意事项:
<Limit>
部分中使用的名称,例如AllowUser,DenyUser,AllowGroup和DenyGroup,不会解析为ID,仅适用于名称。
举例:
1、示例一:目录仅上传权限:DenyAll AllowAll AllowAll
其中,<Limit ALL>
部分阻止/path/to/uploads目录中使用所有的FTP命令,然后开始定义可以使用那些命令:允许CDUP和CWD命令(及其X变体),以便用户可以进入目录,然后允许STOR和STOU,以便用户可以将文件上传到目录中。
DenyAll
默认情况下,目录允许所有命令。 通过阻止列出目录内容的FTP命令(即LIST,MLSD,MLST和NLST),可以阻止了客户端看到目录中的任何内容。
3、LOGIN命令AllowUser barb AllowUser dave AllowGroup ftpuser DenyAll
允许选定的系统用户能够连接到他们的proftpd服务器:允许用户barb和dave以及ftpuser组中的任何用户登录。 所有其他用户将被拒绝。
如果某个网站只允许匿名访问,则使用LOGIN命令组进行配置,如上所述:DenyAll AllowAll ...
转载地址:http://gourn.baihongyu.com/