跳过导航链接 | |
退出打印视图 | |
系统管理指南:网络服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
要访问 FTP 服务器,必须先登录。FTP 服务器支持三种类型的用户登录帐户,分别是实际用户、临时用户和匿名用户。
实际用户具有允许他们在运行 FTP 服务器的系统上建立终端会话的帐户。整个磁盘结构对实际用户是否可见取决于目录和文件访问权限。
临时用户也需要帐户来登录到 FTP 服务器。可以使用用户名和口令设置每个临时用户帐户。为了防止临时用户建立终端会话,将不会为该类用户指定功能登录 shell。登录时,FTP 服务器执行chroot(2) 操作以限制临时用户查看到的服务器磁盘结构。
注 - 要允许实际用户和临时用户访问 FTP 服务器,必须在 /etc/shells 文件中列出他们的登录 shell。
匿名用户通过使用 ftp 或 anonymous 作为用户名来登录到 FTP 服务器。根据约定,在系统提示输入口令时,匿名用户提供电子邮件地址。
登录时,FTP 服务器执行chroot(2) 操作以限制匿名用户查看到的服务器磁盘结构。与可以为每个临时用户创建独立的区域不同,所有匿名用户共享一个文件区域。
实际用户和临时用户使用包含口令(仅一个人知道)的各个帐户登录。匿名用户登录到可能对所有用户可用的已知帐户。大多数大规模文件分发是通过使用匿名帐户创建的。
有关更多信息,请参见《系统管理指南:基本管理》中的第 4 章 "管理用户帐户和组(概述)"。
有关 ftpaccess 文件中定义的用户类的信息,请参见如何定义 FTP 服务器类。
ftpconfig 脚本用于将所有需要的系统文件复制到起始目录中。如果临时用户和临时用户的起始目录已存在,则 ftpconfig 脚本将会使用当前的系统文件更新该区域。
有关更多信息,请参见 ftpconfig(1M)。
注 - 与为匿名用户设置的用户名(anonymous 或 ftp)不同,FTP 临时用户的用户名不是固定的。可以选择将任何名称作为实际用户名。
要使临时用户可以访问 FTP 服务器,请执行以下操作:
有关更多信息,请参见 useradd(1M) 和《系统管理指南:基本管理》中的第 4 章 "管理用户帐户和组(概述)"。
注 - 在此过程中,/home/guests/./guest1 用作 guest1 用户的起始目录名称。
# /usr/sbin/useradd -m -c "Guest FTP" -d \ /home/guests/./guest1 -s /bin/true guest1
guestuser guest1
注 - 也可以使用 ftpaccess 文件中的 guestgroup 功能指定临时用户。使用 ftpaccess 中的 guest-root 功能,临时用户的起始目录路径中就不需要 /./。
/usr/sbin/ftpconfig -d /home/guests
示例 28-6 设置临时 FTP 服务器
在此示例中,将在 /home/guests 目录中设置 FTP 区域。
# /usr/sbin/ftpconfig -d /home/guests Updating directory /home/guests
ftpconfig 脚本创建 anonymous 用户帐户并使用需要的文件填充起始目录。
有关更多信息,请参见 ftpconfig(1M)。
要使匿名用户可以访问 FTP 服务器,请按照以下说明操作:
/usr/sbin/ftpconfig anonymous-ftp-directory
有关详细信息,请参见如何定义 FTP 服务器类。
示例 28-7 设置匿名 FTP 用户
在此示例中,将在 /home/ftp 目录中设置 FTP 区域。
# /usr/sbin/ftpconfig /home/ftp Creating user ftp Updating directory /home/ftp
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
示例 28-8 创建 /etc/shells 文件
以下是 /etc/shells 文件的一个示例,其中列出了 FTP 临时用户的 /bin/true:
/sbin/sh /bin/csh /bin/jsh /bin/ksh /bin/remsh /bin/rksh /bin/rsh /bin/sh /usr/bin/csh /usr/bin/ksh /usr/bin/bash /usr/bin/tcsh /usr/bin/zsh /bin/true