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