配置 tty 以提示特定用户的密码

配置 tty 以提示特定用户的密码

如果我切换到 tty,例如 tty3,它会要求我输入用户名,然后输入相应的密码。

我怎样才能实现(仅在 tty3 上)它只要求我输入预定义用户名(比如说myuser)的密码并提到用户名,例如password for myuser?因此,我不需要在该 tty 上输入用户名,而只需输入密码。

我使用的是 ubuntu 18.04,它使用 systemd。

答案1

您需要添加您正在使用的发行版,因为不同的发行版可能getty以不同的方式运行。

对于sysvinit,它是在 中编程的/etc/inittab,您可能会在其中找到如下行:

3:23:respawn:/sbin/getty 38400 tty3

您可以将该行更改为如下所示:

3:23:respawn:/sbin/getty -n -o ferdinand 38400 tty3

从而导致getty运行/bin/login -- ferdinand,即用用户名“ferdinand”启动它。

如 中所述man getty,该-n选项告诉它不要提示输入用户名,并且该-o ferdinand选项告诉它将“ferdinand”添加到其登录子命令行中。

我认为这些选项在其他发行版中的工作方式相同,但启动方式getty可能tty3会有所不同,特别是不使用/etc/inittab.

答案2

相当于 Ralph Rönnquist 答案的 systemd 是输入

sudo EDITOR=/usr/bin/vi systemctl edit getty@tty3

(或您最喜欢的编辑器)。这将为您提供一个临时文件,您可以在其中输入以下行:

 [Service]
 ExecStart=
 ExecStart=-/sbin/agetty -n -o ferdinand %I

并退出编辑器。它将创建该文件。请注意,您需要第一行将要执行的命令列表重置回空。然后您可以照常启用并启动该单元:/etc/systemd/system/[email protected]/override.confExecStart=

sudo systemctl enable getty@tty3
sudo systemctl start getty@tty3

/etc/systemd/system/getty.target.wants/第一个为未来创建了一个链接。看架构Linux

相关内容