如何在 OpenBSD 上支持类似 /etc/issue 的东西?

如何在 OpenBSD 上支持类似 /etc/issue 的东西?

Linux 和大多数其他形式的 Unix 的长期用户(特别是那些曾经使用基于古老的 SysV init 的启动框架的用户)支持一个特殊的文件/etc/问题在本地控制台和串行终端上显示登录:迅速的。

我需要为我的 OpenBSD 便携式跳转主机做类似的事情。我把这些系统带到活动现场,远程维护一些配线柜(它们采用 NUC 外形,不比一包香烟大多少)。但我希望快速、轻松且无需身份验证即可访问 MAC 和 IP(DHCP)地址(仅em0)。

然而,OpenBSD 不支持/etc/问题...所以我不得不用rc.本地和一个gettytab.模板.(作为答案发布在下面)。

问题:有没有更好的方法来做到这一点?

答案1

我创建了一个/etc/gettytab模板如下:

# The default gettytab entry, used to set defaults for all other
# entries, and in cases where getty is called with no table name
#
default:\
    :np:im=\r\n%s/%m\r\n{MACADDR}\r\n(%h@{IPADDR}) (%t)\r\n\r\n:sp#1200:

...相关更改是插入字符串\r\n{MACADDR}\r\n@{IP地址}在该条目中。“im:”是该表的“问题消息”字段吗?

从那里我在我的/etc/rc.local

## Include IP and MAC address of em0 in login screen message:
mv ./gettytab ./gettytab.old
ifconfig em0 | egrep "(lladdr|inet) " \
   | sed 's/:/-/g' \
   | { read x macaddr x; read x ip x; 
       sed -e "s/{IPADDR}/$ip/;s/{MACADDR}/$macaddr/" ./gettytab.template 
     } > ./gettytab
## : in MAC address translated to - for compatibility with gettytab syntax

(我想我可以尝试一种优化,只有当这两个变量中的任何一个发生变化时才更改文件;但是这些系统通常会在重新启动时移动……所以节省的并不多)。

相关内容