JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:网络服务     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分网络服务主题

1.  网络服务(概述)

2.  管理 Web 高速缓存服务器

3.  与时间有关的服务

第 2 部分访问网络文件系统主题

4.  管理网络文件系统(概述)

5.  网络文件系统管理(任务)

6.  访问网络文件系统(参考)

第 3 部分SLP 主题

7.  SLP(概述)

8.  规划和启用 SLP(任务)

9.  管理 SLP(任务)

10.  引入传统服务

11.  SLP(参考)

第 4 部分邮件服务主题

12.  邮件服务(概述)

13.  邮件服务(任务)

14.  邮件服务(参考)

第 5 部分串行网络主题

15.  Solaris PPP 4.0(概述)

16.  规划 PPP 链路(任务)

17.  设置拨号 PPP 链路(任务)

18.  设置租用线路 PPP 链路(任务)

19.  设置 PPP 验证(任务)

20.  设置 PPPoE 通道(任务)

21.  修复常见的 PPP 问题(任务)

22.  Solaris PPP 4.0(参考)

23.  从异步 Solaris PPP 迁移至 Solaris PPP 4.0(任务)

24.  UUCP(概述)

25.  管理 UUCP(任务)

26.  UUCP(参考)

第 6 部分使用远程系统主题

27.  使用远程系统(概述)

28.  管理 FTP 服务器(任务)

管理 FTP 服务器(任务列表)

控制 FTP 服务器访问

如何定义 FTP 服务器类

如何设置用户登录限制

如何控制无效登录尝试的次数

如何禁止特定用户访问 FTP 服务器

如何限制对缺省 FTP 服务器的访问

设置 FTP 服务器登录

如何设置实际 FTP 用户

如何设置临时 FTP 用户

如何设置匿名 FTP 用户

如何创建 /etc/shells 文件

定制消息文件

如何定制消息文件

如何创建要发送到用户的消息

如何配置 README 选项

控制对 FTP 服务器上文件的访问

如何控制文件访问命令

控制 FTP 服务器上的上载和下载

如何控制对 FTP 服务器执行的上载操作

如何控制对 FTP 服务器执行的下载操作

虚拟主机

如何启用有限虚拟主机

如何启用完整虚拟主机

自动启动 FTP 服务器

如何使用 SMF 启动 FTP 服务器

如何在后台启动独立 FTP 服务器

如何在前台启动独立 FTP 服务器

关闭 FTP 服务器

如何关闭 FTP 服务器

调试 FTP 服务器

如何在 syslogd 中检查 FTP 服务器消息

如何使用 greeting text 验证 ftpaccess

如何检查由 FTP 用户执行的命令

繁忙站点的配置帮助

29.  访问远程系统(任务)

第 7 部分监视网络服务主题

30.  监视网络性能(任务)

词汇表

索引

控制 FTP 服务器访问

可以使用 /etc/ftpd 目录中的以下配置文件控制对 FTP 服务器的访问。

如何定义 FTP 服务器类

要登录到 FTP 服务器,用户在使用 ftpaccess 文件时必须是某类的成员。要将 class 指令添加到 ftpaccess 文件中,应指定允许通过特定主机进行访问的用户的 class 名称和 typelist

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"

  2. ftpaccess 文件中为匿名用户、临时用户和实际用户添加项。
    class class typelist addrglob[addrglob...]
    class

    用于定义 FTP 用户的关键字。

    class

    class 关键字定义的名称。每次登录会与所定义类的列表进行比较。已登录的用户被视为匹配的第一个类的成员。

    typelist

    与三类用户(anonymousguestreal)匹配的、用逗号分隔的关键字列表。

    addrglob

    域名簇或数字地址簇。addrglob 也可以是包含其他地址簇、以斜杠 (`/`) 开头的文件名:address:netmaskaddress/cidr

    以下是一些地址簇示例:

    • 数字 IPv4 地址:10.1.2.3

    • 域名簇 *.provider.com

    • 数字 IPv4 地址簇 10.1.2.*

    • 数字 IPv4 地址:网络掩码 10.1.2.0:255.255.255.0

    • 数字 IPv4 地址/CIDR 10.1.2.0/24

    • 数字 IPv6 地址:2000::56:789:21ff:fe8f:ba98

    • 数字 IPv6 地址/CIDR:2000::56:789:21ff:fe8f:ba98/120

示例 28-1 定义 FTP 服务器类

class  local  real,guest,anonymous *.provider.com
class  remote real,guest,anonymous *

上一示例将 local 类定义为从 *.provider.com 登录的 realguestanonymous 类型的任何用户。最后一行将 remote 定义为从 *.provider.com 之外的任何位置登录的任何用户。

如何设置用户登录限制

您可以使用 ftpaccess 文件中设置的指令限制同时登录的某类用户的数量。每个登录限制包含类名、UUCP 样式的周日期列表和超出限制时将显示的消息文件。

要设置用户登录限制,请使用以下过程中的步骤。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"

  2. 将以下项添加到 ftpaccess 文件中:
    limit class n times [message-file]
    limit

    用于限制同时登录的关键字,即对属于某个已定义类的指定数目的用户在特定连接时段的同时登录进行限制。

    class

    class 关键字定义的名称。每次登录会与所定义类的列表进行比较。已登录的用户被视为匹配的第一个类的成员。

    n

    用户数。

    times

    可以连接相应类的周日期和时间。用 Any 表示任何日期。

    message-file

    如果用户被拒绝访问将显示的消息文件。

示例 28-2 设置用户登录限制

limit   anon     50  Wk0800-1800        /etc/ftpd/ftpmsg.deny
limit   anon    100  Any                /etc/ftpd/ftpmsg.deny
limit   guest   100  Any                /etc/ftpd/ftpmsg.deny

上面示例中的第一行显示,在每周的工作时间内,允许同时登录的 anon 类用户不能超过 50 个。第二行将工作时间之外可同时登录的 anon 用户限制为 100 个。最后一行显示,在任何时间,允许同时登录的 guest 用户不能超过 100 个。有关如何指定日期和时间参数的信息,请参见 ftpaccess(4)

该示例还说明,达到指定的登录限制时,将返回 /etc/ftpd/ftpmsg.deny 文件的内容(假设 ftpmsg.deny 存在)。有关使用 /usr/sbin/ftpcount 命令查看在特定时间登录的每类用户的数量和登录限制的信息,请参见 ftpcount(1)

除非达到了指定的限制,否则将允许用户登录到 FTP 服务器。匿名用户以用户 ftp 的身份登录。实际用户以真实身份登录;临时用户以实际用户身份登录,但其访问特权受 chroot 环境限制。

有关使用 /usr/sbin/ftpwho 命令检查登录到 FTP 服务器的用户身份信息,请参见 ftpwho(1)

如何控制无效登录尝试的次数

如果因为出现问题(如需要的信息拼写错误)导致登录到 FTP 服务器失败,则通常会重复登录。在将消息记录到 syslog 文件之前,允许用户连续尝试登录特定的次数。然后,将断开用户的连接。通过执行以下过程中的步骤,可对登录尝试失败的次数设置限制。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"

  2. 将以下项添加到 ftpaccess 文件中。
    loginfails n
    loginfails

    用于指定在终止 FTP 连接之前,允许登录失败的次数的关键字

    n

    登录可以失败的次数

示例 28-3 控制无效登录尝试的次数

loginfails 10

上面的示例说明,在尝试登录失败 10 次后,将会断开用户与 FTP 服务器的连接。

如何禁止特定用户访问 FTP 服务器

/etc/ftpd/ftpusers 文件列出了不允许登录到 FTP 服务器的用户名。尝试登录时,FTP 服务器将会检查 /etc/ftpd/ftpusers 文件,以确定是否拒绝该用户访问。如果在该文件中未找到该用户名,服务器将会在 /etc/ftpusers 文件中搜索。

如果 /etc/ftpusers 中存在匹配的用户名,则会写入一条 syslogd 消息,声明在过时的文件中找到匹配项。该消息还建议使用 /etc/ftpd/ftpusers,而不要使用 /etc/ftpusers


注 - 此发行版不再支持 /etc/ftpusers 文件。如果安装 FTP 服务器时存在 /etc/ftpusers 文件,则会将该文件移到 /etc/ftpd/ftpusers 中。


有关其他信息,请参见 syslogd(1M)in.ftpd(1M)ftpusers(4)

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"

  2. 将不允许登录到 FTP 服务器的用户的项添加到 /etc/ftpd/ftpusers 文件中。

示例 28-4 禁止 FTP 服务器访问

root
daemon
bin
sys
adm
lp
uccp
nuucp
listen
nobody
noaccess
nobody4

上面的示例列出了 ftpusers 文件中的典型项。用户名与 /etc/passwd 中的项匹配。该列表通常包括 root 及其他管理和系统应用程序标识。

作为安全措施,根项包括在 ftpusers 文件中。缺省安全策略是禁止 root 的远程登录。对于 /etc/default/loginfile 中设置为 CONSOLE 项的缺省值,也遵守该策略。请参见 login(1)

如何限制对缺省 FTP 服务器的访问

除了上面提到的控制方法,还可以向 ftpaccess 文件中添加显式声明来限制对 FTP 服务器的访问。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"

  2. 将以下项添加到 ftpaccess 文件中。
    1. 缺省情况下,允许所有用户访问缺省(非虚拟)FTP 服务器。要拒绝特定用户(anonymous 用户之外的用户)的访问,请添加以下项:
      defaultserver deny username [username...]
      defaultserver

      用于标识拒绝或允许对其进行访问的非虚拟服务器的关键字

      username

      拥有对 defaultserver 的受限访问权限的用户的登录名

    2. 要允许 deny 行中未列出的用户访问,请添加以下行:
      defaultserver allow username [username...]
    3. 要阻止匿名用户访问,请添加以下项:
      defaultserver private

示例 28-5 限制对缺省 FTP 服务器的访问

defaultserver deny *
defaultserver allow username

上面的示例说明,FTP 服务器拒绝除 anon 用户和 allow 行中列出的那些用户之外的所有用户访问。

也可以使用 ftphosts 文件拒绝特定登录帐户从各种主机访问。有关其他信息,请参见 ftphosts(4)