getty 命令

用途

设置端口特征。

语法

getty [[ -r | -u | -U ] [ -d ] [ -H HeraldString ] [ -M motdFile ] [ -N ]] PortName

描述

getty 命令设置和管理终端线路和端口。 getty 命令由 init 命令来运行。 getty 命令与终端状态管理员程序相链接。 终端状态管理员程序提供了终端控制和登录的复合功能。

如果还没有主目录,那么可将 getty 命令配置为登录时创建主目录。 getty 命令会调用 mkuser.sys 命令以创建主目录并定制帐户。 要启用此功能,请将 /etc/security/login.cfg 文件中 usw 节的 mkhomeatlogin 属性设置为 True。

注: 未在命令行上输入 getty 命令。

当作为 getty 命令调用时,终端状态管理员程序提供了通常的端口管理功能,这包括 :

描述
双向使用 允许使用终端线路用来启动和接受连接。
线路速度 设置发送和接收的波特率。
奇偶性校验 将奇偶性设置为偶数、奇数或无。
延迟 设置回车、制表符、换行以及换页延迟。
字符集映射 为大小写、制表符和换行控制设置字符集映射。
登录器程序 指定用于使用户登录到系统的程序。 如果设置了此属性,那么禁用安全注意密钥 (SAK) 的处理功能。 如果没有设置此属性,那么其缺省值为 /usr/sbin/login logger属性包含在对象数据管理员 (ODM) 数据库中。
字符和行擦除 设置用于字符和行擦除的击键。
回应方式 设置本地或远程回应。

当调用 getty 命令时,会发生以下步骤:

  1. 端口保护是根据 ODM 数据库中的 所有者保护 属性设置的。 如果不指定这些属性,那么其缺省值为 root 用户和 622。
  2. 打开由 PortName 参数指定的端口。 如果在端口可以进行载波检测,那么直到载波出现或其他的进程已丢失此端口的载波,打开才完成。
  3. 指定的端口可能已锁定。 如果使用 -u-r 标志运行 getty 命令,那么它会尝试锁定端口。 如果锁定了端口,此命令将一直等待端口可用为止,继而退出。 如果指定了 -r 标志,getty 命令将等待从端口接收一个字节的数据,然后继续。
  4. 根据指定端口的配置信息设置终端属性。 此时能否启用安全注意密钥处理就在于系统的配置如何。
  5. 将 herald 消息写入指定的端口。
  6. 从指定端口读取登录名。 如果发生帧错误或中断,那么 getty 命令将使用下一组配置的终端属性重复第四和第五步。 这是循环调制解调器波特率最常使用的方法。 但任何 ODM 字段 (除了logmodesrunmodes) 可以通过在 ODM 数据库中输入逗号分隔值的列表来循环。
  7. 根据runmodes参数和登录名。 如果登录名称由新行终止,那么 getty 命令打开回车符到新行的映射。 如果所有的字母字符都是大写,如果可能的话,提示用户使用小写字符登录,并打开从小写到大写的映射。
  8. 如果由记录器参数指定程序,那么将执行该程序并禁用 "安全注意密钥" 处理。 否则,“终端状态管理器”程序执行标准系统登录。
    注: 如果在用户登录期间输入了 "安全注意键" 序列,那么该用户将登录到可信 shell (如果系统配置了该端口并且在可信路径上允许该用户)。

标志

描述
-d 提供调试信息。
-H HeraldString 指定备用预告消息以在端口写入提示的登录名。 消息字符串必须是一个字而且不能包含任何空格。 该字符串将优先于在 /etc/security/login.cfg 文件中定义的预告消息。 如果 没有字符串以该选项或在 login.cfg 文件中指定,那么使用来自于消息目录的缺省预告。
-M motdFile 指定到每日文件的备用消息的路径。 如果不指定, 在缺省情况下该值为 /etc/motd
-N 使 getty 绕过在 /etc/utmp 文件中任何进程标识的检查。 这 允许不同于最低登录 Shell 程序的进程来执行 getty
-r 将端口设置为可共享(双向)使用。 如果锁定不成功,那么 getty 命令会等待至锁定可用,然后退出。 如果锁定成功, getty 命令将在锁定端口后等待从端口接收一字节的数据。
-U 将端口设置为可共享(双向)使用。 如果锁定不成功,那么 getty 命令会等待至锁定可用,然后退出。
-U 除了 getty 不会等待锁可用之外,与 -u 标志相同。 这使得端口可用,而无需顾虑锁。

安全性

访问控制:应该如可信计算库中的程序一样安装本程序,任何用户和到根的 setuid 都可执行。

示例

如果想要能够登录 tty0, 请将下一行添加到 /etc/inittab 文件中:

tty0:2:respawn: /usr/sbin/getty /dev/tty0

此命令用于初始化端口/dev/tty0并设置了端口的特征。

文件

描述
/usr/sbin/getty 包含 getty 命令。
/etc/locks 包含阻止多重使用通信设备和多重调用远程系统的锁文件。
/usr/sbin/login login 命令。
/etc/security/login.cfg 包含端口登录配置。
/etc/motd 包含登录后显示的日消息。
/usr/bin/setmaps setmaps 命令。
/etc/utmp 包含有关用户登录系统的信息。