我们有一些 HP-UX Integrity VM 很难在控制台登录,因为字符KILL
设置为@
,而该字符恰好也是某些密码的组成部分。现在我知道我们可以通过以不同用户身份登录并发出 来解决这个问题stty KILL '^U'
,并且这已经在.login
所有用户中。我也知道使用\@
会起作用。
真正的问题是我需要做什么来更改KILL
系统范围内的字符,这样我们就不必拼凑交互式登录或避免使用密码@
?
答案1
/etc/inittab
是起点。该getty
程序用于处理终端的初始设置。
根据getty
手册页,它有一个选项可以告诉它使用一个配置文件,让管理员设置特殊字符:
-f
从以下位置获取特殊控制字符的设置/dev/ttyconf
文件。请参阅特殊控制字符部分。
该部分内容很少,但会引导您查看stty
手册页。它还有更多信息:
具有 root 权限的用户可以使用以下命令更改控制字符的默认值
stty
和重定向标准输入到设备/dev/ttyconf
。中指定的四种命令形式中的任何一种 描述可以使用上面的部分。但是,只会报告或更改控制字符默认值。它不会影响任何其他模式的默认值。
并给出一个例子:
命令:
stty kill '^X' intr '^C' werase '^W' </dev/ttyconf
将删除行字符的默认值设置为
^X
(Ctrl-X),中断字符^C
,以及单词擦除字符^W
。任意终端端口打开后发出此命令将看到这些新的默认值kill
,intr
, 和werase
控制字符。
鉴于有关仅适用于开放的终端端口的评论后,这意味着您必须进行修改/etc/inittab
才能进行此初始化。
根据缓存的网络搜索,HP 的文档对此进行了回答:
HP-UX 系统管理员指南:配置管理:HP-UX 11i 版本 3
第2章 配置系统参数
更改登录特殊字符
并以要添加的示例行结束前处理控制台和终端的行:
ttc0::bootwait:/sbin/stty intr ^C erase ^H kill ^U < /dev/ttyconf
的行getty
还必须-f
添加该选项。
进一步阅读: