跳过导航链接 | |
退出打印视图 | |
系统管理指南:网络服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
通过对 FTP 服务器上的目录设置权限,可以控制对 FTP 服务器执行的已启动的上载和下载操作。缺省情况下,不允许匿名用户上载。启用匿名上载时请务必小心。
向 ftpaccess 文件中添加指令以指定上载权限和上载失败的错误消息。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
要使用户可以上载文件,请添加以下项:
upload [absolute|relative] [class=<classname>]... [-] root-dir \ dirglob yes|no owner group mode [dirs|nodirs] [<d_mode>] path-filter typelist mesg allowed-charset {disallowed regexp...}
该关键字应用于起始目录(chroot() 的参数)为 root-dir 的用户。可以将 root-dir 指定为 "*" 以便与任何起始目录匹配。
该参数指定将 root-dir 目录路径解释为绝对路径还是相对于当前 chroot 目录的路径。
该关键字用于指定任何数量的 class=<classname> 限制。如果指定该限制,则仅在当前用户为指定的某个类的成员时,上载子句才有效。
匿名用户的用户根目录和起始目录。
与目录名称匹配的模式。可以在任何位置或单独使用星号来表示任何目录。
允许或禁止上载到 FTP 服务器的变量。
上载到 dirnames 中的文件的属主。
与上载到 dirnames 中的文件关联的组。
用于对已上载的文件指定访问权限的参数。缺省模式 0440 禁止匿名帐户读取已上载的文件。
该关键字允许或禁止用户在 dirnames 中列出的目录中创建子目录。
确定新创建目录的权限的可选模式。
控制已上载文件的名称的关键字。
用逗号分隔的任何关键字(anonymous、guest 和 real)的列表。
与 regexp 条件匹配失败时将显示的消息文件。
文件名称中允许或禁止使用的字母或数字。
示例 28-13 控制到 FTP 服务器的上载
upload /export/home/ftp /incoming yes ftpadm ftpadmin 0440 nodirs path-filter anonymous /etc/ftpd/filename.msg ^[-A-Za-z0-9._]*$ ^[.-]
上面的示例说明了以下内容:
对 /export/home/ftp 使用 chroot 的 FTP 用户帐户可以上载到 /incoming 目录。已上载的文件为用户 ftpadm 和组 ftpadmin 拥有。使用 nodirs 关键字将模式设置为 0440 以阻止匿名用户创建子目录。
对于匿名用户,文件名可以是 A-Z、a-z、0-9、.(点)、-(破折号)或 _(下划线)组成的任意序列。文件名不能以 .(点)或 -(破折号)开始。如果文件名不能通过此过滤,则会显示消息 /etc/ftpd/filename.msg(如果 FTP 管理员已创建该消息文件)。此消息后接 FTP 服务器错误消息。
应对允许匿名上载到的目录的拥有权和权限进行严格控制。FTP 管理员应该是上载到 FTP 服务器的所有文件的属主。允许匿名用户上载文件时,需要创建 FTP 管理员。该目录应为权限设置为 3773 的用户 ftpadm 和组 ftpadm 拥有。
上载到 FTP 服务器的文件的访问模式应为 0440。0440 模式禁止匿名帐户读取已上载的文件。此限制可以防止服务器成为第三方文件分发的临时区域。
要使已上载的文件可以进行分发,FTP 管理员可以将这些文件移到公共目录中。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
noretrieve [absolute|relative] [class=classname]... [-] filename ...
用于拒绝检索特定文件的关键字
该参数指定将 root-dir 目录路径解释为绝对路径还是相对于当前 chroot 目录的路径
该关键字用于指定要应用 noretrieve 限制的用户的 class=<classname>
不允许用户检索的文件的名称
示例 28-14 控制对 FTP 服务器执行的下载操作
noretrieve /etc/passwd
上面的示例说明,将禁止所有用户检索 /etc/passwd 文件。