1

Я пытаюсь отобразить настроенное сообщение для "/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 ответ1

2

Вы можете проверить вывод

 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. Другим пользователям будет показано содержимое этого файла, и их логины будут отклонены.

Но это, вероятно, не то, что вы тоже хотите ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .