AIX命令参考大全,卷 2,d - h - ftpd 守护进程

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 2,d - h

ftpd 守护进程

用途

为因特网 FTP 协议提供服务器功能。

语法

注意: ftpd 守护进程一般由 inetd 守护进程启动。也可以用 SRC 命令从命令行来控制。

/usr/sbin/ftpd [ -d ] [ -f ] [ -ff ] [ -k ] [ -l] [ -U ] [ -t TimeOut ] [ -T MaxTimeOut ] [ -s ] [ -u OctalVal ] [-q [-C]]

描述

/usr/sbin/ftpd 守护进程是 DARPA 因特网文件传输协议(FTP)服务器进程。 ftpd 守护进程使用传输控制协议(TCP)侦听指定的端口,端口在 /etc/services 文件中的 ftp 命令服务规范中指定。

ftpd 守护进程的修改可以通过系统管理界面程序(SMIT)或者系统资源控制器(SRC)来完成,通过编辑 /etc/inetd.conf 或者 /etc/services文件来实现。不建议在命令行下输入 ftp。 ftpd 守护进程如果在 /etc/inetd.conf 文件中未注释,缺省情况下它将启动。

inetd 守护进程从 /etc/inetd.conf 文件和 /etc/services 文件中获取信息。

如果您改变 /etc/inetd.conf 或者 /etc/ services 文件,运行 refresh -s inetd 或者 kill -1 InetdPID 命令以通知 inetd 守护进程关于配置文件的改动。

ftpd 守护进程根据 csh 命令的约定来扩展文件名。 此命令可以使用如下的元字符串:*(星号), ? (问号), [ ](左右方括号), { } (左右花括号) 以及 ~ (代字号)。

ftpaccess.ctl 文件

搜索/etc/ftpaccess.ctl 文件,寻找以 allow: deny: readonly: writeonly: readwrite: useronly: grouponly: herald: 和/或 motd: 开始的行。其余的行忽略。如果文件不存在,则所有主机均允许 ftp 访问。allow:deny: 行用于限制对主机的访问。 readonly:, writeonly: readwrite: 行用于限制 ftp 的读(获取)写(存放)。useronly: grouponly: 行用于定义匿名用户。 herald: motd: 行用于登录前后的多行消息。

/etc/ftpaccess.ctl 文件中所有行的语法形式:

关键字:值,值 ...

每个关键字可以指定一个或者多个值。同样的关键字可以出现在很多行里。/etc/ftpaccess.ctl 文件中的每一行最多包含 1024 个字符,超过的将被忽略。

allow: deny: 行的语法是:

allow: host, host, ...
dent: host, host, ...

如果指定了一个 allow: 行,那么只有在 allow: 行里列出的主机允许访问 ftp。其它的主机将拒绝访问 ftp。如果不包含 allow: 行,那么,除了那些在 deny: 行中已经指定的之外,所有的主机都可以访问 ftp。主机可以通过主机名或者 IP 地址来指定。

readonly:、writeonly: 和 readwrite: 行的语法如下:

readonly: dirname, dirname, ...
writeonly: dirname, dirname, ...
readwrite: dirname, dirname, ...
readonly:

行列出了只读目录, writeonly: 行列出了只写目录。如果在只写目录下进行读访问或者在只读目录下进行写访问,访问将被拒绝。所有其它目录都被授权访问,除非指定了 readwrite: 行。 如果指定了 readwrite: 行,只有在 readwrite: 行和/或 readonly: 行中列出的目录可以进行读访问,同时只有在 readwrite: 行和/或 writeonly: 行中列出的目录可以进行写访问。 同时,这些行的值可以是“ALL” 或者“NONE”。

useronly: grouponly: 行的语法如下:

useronly: username, username, ...
grouponly: groupname, groupname, ...

用户名在 /etc/passwd 中,组名在 /etc/group 中。useronly: 行定义了一个匿名用户。 grouponly: 行定义了匿名用户组。这些匿名用户类似于在 ftp 活动中的匿名用户,他们被限制在自己的主目录下。

herald: motd: 行的语法如下:

herald: path
motd: on|off

path 是包含将在登录前显示的多行 herald 的文件的全路径名称。当 motd: 行的值为‘on' 时, $HOME/motd 文件包含登录后将显示的多行消息。如果用户是定义好的匿名用户, /etc/motd 文件包含登录后将显示的多行消息。(请注意 /etc/motd 是在匿名用户的登陆根目录下)。 motd: 行的缺省值是 off。

如果当前的认证方法是标准操作系统的认证方法:

ftpd 守护进程可以为客户进程传输文件之前,它必须认证客户进程。 ftpd 守护进程根据如下规则认证客户进程:

如果 Kerberos 5 是当前的认证方法:

ftpd 守护进程允许在以下条件均满足时进行访问:

文件传送协议子树方针

当处理某个匿名 FTP 用户时,服务器在 FTP 用户帐户的主目录中执行 chroot 命令。为获得较高的安全性,请在构造 FTP 子树时执行以下规则:

~ftp 创建 root 用户的主目录,方式为 r-xr-xr-x (555)。
~ftp/bin 创建 root 用户的目录,并且对其他人是不可写的。 ls 程序必须在此目录中以支持列表命令。此程序应该有 111 方式。
~ftp/etc 创建 root 用户的目录,并且对其他人是不可写的。
~ftp/pub 在 777 方式下创建此目录,并被 FTP 所有。用户应该将匿名帐户可访问的文件放在此目录下。

注:
shell 脚本 /usr/samples/tcpip/anon.ftp 使用以上规则为您设置匿名 FTP 帐户。

当处理 /etc/ftpaccess.ctl 中定义的匿名 FTP 用户时,服务器在用户帐户的主目录下执行 chroot 命令。为获得更好的安全性,当构造用户子树时请执行以下规则:

~user
创建 root 用户的主目录,方式为 r-xr-xr-x (555)。
~user/bin
创建 root 用户的目录,并对其他人不可写。 ls 程序必须在此目录中以支持列表命令。此程序应该有 111 方式。
~user/etc
创建 root 用户的目录,并对其他人不可写。
~user/pub
以 777 方式创建此目录,并被用户所有。用户应该将可以通过匿名帐户访问的文件放在此目录中。
注:
shell 脚本 /usr/samples/tcpip/anon.users.ftp 使用以上规则为您设置匿名 FTP 帐户。

服务器必须以 root 用户运行,来创建有特权端口号的套接字。服务器维护一个登录用户的有效的用户标识当在套接字上绑定地址时回复给 root 用户。

支持文件传送协议请求

ftpd 守护进程目前支持以下 FTP 请求:

ABOR 终止前一次命令。
ACCT 指定帐户(被忽略)。
ADAT 指定认证 / 安全数据。
ALLO 分配存储器(空)。
APPE 添加到文件。
AUTH 指定认证 / 安全机制。
CCC 指定清除命令通道。
CDUP 转到当前工作目录的父目录。
CWD 改变工作目录。
DELE 删除文件。
ENC 指定私有保护命令。
HELP 给出帮助信息。
LIST 在目录中给出列表文件(此 FTP 请求和 ls -lA 命令是同样的)。
MKD 创建目录。
MDTM 显示文件最后的修改时间。
MIC 指定完整性保护命令。
MODE 指定数据传输方式。
NLST 给出目录下文件的名称列表(此 FTP 请求和 ls 命令是同样的)。
NOOP 无操作。
PASS 指定密码。
PASV 为服务器间的传输做准备。
PBSZ 指定保护缓冲区的大小。
PORT 指定数据连接端口。
PROT 指定数据通道保护级别。
PWD 显示当前工作目录。
QUIT 终止会话。
RETR 检索文件。
RMD 除去目录。
RNFR 指定重命名源文件名。
RNTO 指定重命名目标文件名。
SITE SITE 请求支持以下非标准的或者 UNIX 专用的命令:
UMASK
改变 umask( SITE UMASK 002 )。
IDLE
设置闲置时间( SITE IDLE 60 )。
CHMOD
改变文件的方式( SITE CHMOD 755 文件名)。
HELP
给出帮助信息( SITE HELP )。
SIZE 返回当前文件的大小。
STAT 返回服务器的状态。
STOR 存储文件。
STOU 使用唯一的文件名存储文件。
STRU 指定作为文件结构传输的数据结构。
SYST 显示服务器系统的操作系统类型。
TYPE 用 Type 参数指定数据传输类型。
USER 指定用户名。
XCUP 改变当前工作目录的父目录(通常不使用)。
XCWD 改变当前目录(通常不使用)。
XMKD 创建目录(通常不使用)。
XPWD 打印当前工作目录(通常不使用)。
XRMD 除去目录(通常不使用)。

其余在因特网 RFC 959 中定义的 FTP 请求被识别,但是不执行。 MDTM SIZE 请求在 RFC 959 中没有指定,但它们已经被列入下次的 FTP RFC 更新计划。

如果在数据传输过程中收到 STAT 请求而且前面有 Telnet IP 信号和 SYNCH 信号,则返回传输状态。

ftpd 守护进程应该通过使用系统管理界面程序(SMIT)或者修改 /etc/inet.conf 文件来被控制。不建议在命令行中输入 ftpd

使用系统资源控制器来操作 fptd 守护进程

ftpd 守护进程是 inetd 守护进程的子服务器,而 inetd 守护进程则是系统资源控制器的子系统(SRC)。ftpd 守护进程是 tcpip SRC 子系统组的成员。此守护进程在 /etc/inetd.conf 文件中缺省启用,它可以通过以下 SRC 命令来进行操作:

startsrc 启动一个子系统、子系统组,或是一个子服务器。
stopsrc 终止子系统、子系统组或子服务器。
lssrc 获取一个子系统,子系统组,或是一个子服务器的状态。

标志

-C 允许用户指定:通过 send_file 命令发出的文件必须在网络高速缓冲区(NBC)中经过缓存处理。此标志必须在指定了 -q 标志的情况下使用。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。
-d 向 syslogd 守护进程发送关于 ftpd 守护进程操作的调试信息。如果指定了 -d 标志,必须编辑 /etc/syslog.conf 文件,然后增加如下条目:

daemon.debug FileName

注意: syslogd 守护进程的调试级别包含了信息级别消息。

如果不编辑 /etc/syslog.conf 文件,则没有消息产生。在修改完 /etc/syslog.conf 文件后,运行 refresh -s syslogd 命令,或者 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置文件的更改。要获取更多关于调试级别的信息,请参考 /etc/syslog.conf 文件。

-f 当客户机请求服务器连接回特定端口时,禁用特权端口的检查。在缺省情况下, ftpd 不允许客户机请求连接到特权端口,这是出于安全方面的考虑。
-ff 当客户机请求服务器连接回特定客户机端口时,禁用特权端口和匹配用于控制连接的那个的 IP 地址的检查。使用此标志后,客户机可以请求服务器向备用的主机或者接口发送数据。在缺省情况下, ftpd 出于安全考虑,不允许此操作。
-k 在数据传输套接字上,设置在 /sys/socket.h 文件中定义的 SO_KEEPALIVE 选项,以启用在事件 TCP/IP 暂挂中的数据传输到超时。空闲的间隔时间依 system-wide 的取值而定,此参数通过 no 命令中的 tcp_keepidle tcp_keepintvl 选项指定。如果没有此标志, ftpd 数据传输将不会超时。
-l syslogd 守护进程发送关于 ftpd 守护进程的日志信息。如果指定 -l 标志,必须编辑 /etc/syslog.conf 文件并增加如下条目:

daemon.info FileName

如果不编辑 /etc/syslog.conf 文件,则不会产生消息。当修改完 /etc/syslog.conf 文件,运行 refresh -s syslogd 命令或者 kill -1 SyslogdPID 命令以通知 syslogd 守护进程其配置文件的修改。关于调试级别的更多信息,请参考 /etc/syslog.conf 文件。

-q 允许用户指定: send_file 子例程必须用于在网络上发送文件。只有当文件在无保护的情况下以二进制方式发送时此标志才适用。
-tTimeOut 经过指定的秒数后退出已经停止的会话,秒数通过 TimeOut 变量来指定。缺省值是 15 分钟(900 秒)。
-T MaxTimeOut 经过指定的最大秒数后退出已经停止的会话,最大秒数通过 MaxTimeOut 变量来指定。缺省值是 2 小时(7200 秒)。
-s 打开 socket-level 调试。
-u OctalVal 设置 ftpd 守护进程的 umask。OctalVal 变量必须指定为八进制的值,用来定义 umask。缺省的 umask 是八进制的 027,它导致了 rw-r- 的文件许可。
-U 在传输中保持文件未锁定。如果此标志通过 /usr/sbin/ftpd 来指定,那么文件在传输过程中仍可打开。

示例

注意: ftpd 守护进程的参数可以通过 SMIT 来指定,也可以通过编辑 /etc/inetd.conf 文件来指定。
  1. 启动 ftpd 守护进程,请输入:

    startsrc -t ftp

    startsrc 命令带 -t 标志启动 ftpd 子服务器。您必须使用 -t 标志来指定子服务器。否则,命令不会正确执行。

  2. 要停止ftpd守护进程,一般输入:

    stopsrc -t ftp 

    stopsrc 命令带 -t 标志停止 ftpd 子服务器。 stopsrc 命令允许启动所有暂挂的连接,并完成所有现存的连接,但不允许启动新的连接。您必须使用 -t 标志来指定子服务器。否则,命令不会正确执行。

  3. 要强制中止 ftpd 守护进程和所有 ftpd 连接,请输入:

    stopsrc -t -f ftp 

    stopsrc命令和 -t -f 标志迫使 ftpd 子服务器停止。它立刻中止所有暂挂的连接和现存的连接。

  4. 要显示关于 ftpd 守护进程的简短状态报告,请输入:

    lssrc -t ftp

    lssrc 命令和 -t 标志返回守护进程的名称、进程标识和状态(活动或者中止)。您必须使用 -t 标志来指定子服务器。否则,命令不会正确执行。

文件

/etc/locks/ftpd 包含内部锁和进程标识存储器。
/etc/group 包含组的密码。
/etc/passwd 包含用户的密码。
/etc/security/login.cfg 包含登录和用户认证的配置信息。
/etc/security/passwd 包含加密后的密码。
/etc/syslog.conf 包含 syslogd 守护进程的配置信息。
/usr/samples/tcpip/anon.ftp 包含示例 shell 脚本,通过它可以设置匿名 FTP 帐户。此文件也包含使用说明书。

相关信息

ftp 命令、 lssrc 命令、 kill 命令、 no 命令、 rcp 命令、 refresh 命令、 rlogin 命令、 rsh 命令、 startsrc 命令、 stopsrc 命令以及 telnet 命令。

inetd 守护进程、 syslogd 守护进程。

kvalid_user 函数。

/etc/ftpusers 文件格式、 /etc/inetd.conf 文件格式、 /etc/services $HOME/.k5login 文件格式。

《AIX 5L V5.2 系统管理指南:通信与网络》中的『TCP/IP 守护进程』

《AIX 5L V5.2 系统用户指南:通信与网络》中的『安全 Rcmd』

《AIX 5L V5.2 性能管理指南》中的『网络选项可调参数』

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]