更改tty登录超时-ArchLinux


10

默认情况下,当我在tty中登录Arch Linux框时,在输入用户名之后但在输入密码之前会有超时。

像这样

Login:  mylogin <enter>
Password:
(+ 60 seconds)
Login:

如您所见,如果我不键入密码,它将回收提示-我希望它无限期地等待我的密码,而不是回收登录提示。

这可能吗?

这似乎是--timeout选项agetty会是我想要的。但是,我尝试将此标志添加到getty文件中/usr/lib/systemd/system/(默认情况下不使用该选项),然后重新启动-似乎没有任何效果。

Answers:


11

agettylogin读完用户名后会调用,因此读密码时的任何超时都由完成login

要更改此设置,请编辑/etc/login.defs并更改LOGIN_TIMEOUT值。

#
# Max time in seconds for login
#
LOGIN_TIMEOUT       60

2
您将如何使其无限持续?
Will Dereham

3
@AnEpicPerson据我所知,它没有记录在案,但是通过代码查找#define ALARM 60timeout = getdef_unum ("LOGIN_TIMEOUT", ALARM); if (timeout > 0) { (void) alarm (timeout); }。因此,放入LOGIN_TIMEOUT 0login.defs应该禁用任何超时。
Mark Plotnick

2
  1. 在Arch中,程序安装默认为/usr/lib。您不应该在附近(几乎)手动弄乱;绝对不可以systemdsystemd提供默认单位的覆盖是有原因的(请参见“单位加载路径”部分)。

  2. 这部分是安全问题。超时会检查是否存在疏忽(例如,您输入了整个密码,但忘记按Enter并被某些事情分散了注意力)。您应该意识到,禁用它不是最安全的决定。

  3. 在编辑或覆盖单位时,需要运行systemctl daemon-reload才能使systemd完全识别更改。在中创建新的单位后/etc/systemd/,您必须daemon-reload然后disable选择默认单位和enable新单位。然后,重新启动应会产生所需的结果。(注意:我建议不要这样做;请参阅第2点。)


1
关于您的观点2.-这样做的实际意义是让我4岁的孩子在受到挫折之前可以设法输入她的9个字母的密码。完整地回答您的问题,请在您的内心深处找到它,以便为我解决我的问题。
g33kz0r 2014年

我以为您实际上可以使用该--timeout选项,但是如果进一步查看(即agetty手册页),该--timeout选项似乎是指输入用户名,而不是密码。
HalosGhost 2014年

@HalosGhost编辑帖子时,无需在命令前放置“ $”,这很浪费,这使得剪切和粘贴更加困难。仅当命令和输出混合在一个块中时才这样做
Zelda 2014年

1
@Zelda,我实际上不确定为什么要在这里发布。但是,我会记住这一点。
HalosGhost
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.