在 Ubuntu 12.04 中定制 nologin 消息(nologin.txt)?

在 Ubuntu 12.04 中定制 nologin 消息(nologin.txt)?

我正在尝试显示“/usr/sbin/nologin”的自定义消息。据我所知,这可以通过创建包含所需文本的文件“/etc/nologin.txt”来实现。

但它在 Ubuntu 12.04 (LTS (GNU/Linux 3.2.0-38-generic x86_64)) 中不起作用 - 它只显示“标准”消息:

$ cat /etc/nologin.txt
Sorry, there is no login shell
$ nologin
This account is currently not available.

我是否遗漏了什么?

答案1

您可以检查输出

 strace /usr/sbin/nologin 2>&1 | grep open

这些文件通过 访问nologin。我没有 Ubuntu,但在 Debain 中有以下输出:

 open("/etc/ld.so.cache", O_RDONLY)      = 3
 open("/lib/libc.so.6", O_RDONLY)        = 3
 open("/var/run/utmp", O_RDONLY|O_CLOEXEC) = 3
 open("/etc/localtime", O_RDONLY)        = 3

与显示的系统/etc/nologin.txt(openSuSE 11)相比,缺少重要的一行

 open("/etc/nologin.txt", O_RDONLY)      = -1 ENOENT (No such file or directory)

此外,

strings /usr/sbin/nologin

显示该消息似乎嵌入在二进制文件中。它也可以通过以下方式查看:

cat /usr/bin/nologin | xxd

看起来没有提供更改默认消息的功能。

man 5 nologin状态

如果文件 /etc/nologin 存在,login(1) 将只允许 root 访问。其他用户将看到此文件的内容,并且他们的登录将被拒绝。

但这可能也不是你想要的……

相关内容