Я установил /etc /nologin, чтобы он содержал пользовательское сообщение, поэтому, когда пользователи с оболочкой /usr /sbin /nologin, определенной в passwd, попытаются войти в систему, это пользовательское сообщение появится на их терминале, прежде чем выбросить их.

Проблема в том, что эта ошибка появляется для ВСЕХ пользователей, даже для пользователя root (с определением /bin /bash ...)

со страницы руководства nologin:

NAME nologin - запретить вход в систему непривилегированным пользователям

ОПИСАНИЕ Если файл /etc /nologin существует и доступен для чтения, то login(1) разрешит доступ только root. Другим пользователям будет показано содержимое этого файла, и их логины будут отклонены.

ФАЙЛЫ /etc /nologin

Идеи?

Linux mybox02 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

1 ответ1

1

Все работает как положено:

  • Источник /usr /sbin /nologin очень маленький и его легко проверить: /usr /sbin /nologin не требует параметров, не может быть настроен и не связан с /etc /nologin.

  • /etc /nologin связан с /bin /login. поэтому при входе в систему отображается содержимое /etc /nologin, но все же разрешается вход пользователя root. Таким образом, пользователь root может знать, почему никто не может войти в систему (более одного человека может быть пользователем root, поэтому коллега будет проинформирован о том, почему это сделал другой сотрудник).

Для справки, основным "пользователем" /etc/nologin была команда shutdown когда она не использовалась с параметром "сейчас" (например: shutdown -r 23:10 "reboot for maintenance"), это может занять несколько минут вперед. файл /etc /nologin, чтобы запретить пользователям входить в систему до скорого завершения работы. Теперь он помещается в /run /nologin (который также проверяется /bin /login), чтобы избежать проблем с доступом только для чтения /etc
Затем root может войти в систему и запустить shutdown -c чтобы прервать его, если это необходимо.

Единственной "вводящей в заблуждение" частью является документация, в которой, хотя и не ложно, не говорится, что нологин также будет отображаться для пользователя root.

Поэтому вам придется создать небольшую специальную программу и поместить ее в качестве оболочки, и лучше не использовать интерпретируемую оболочку, иначе кто-нибудь найдет способ обойти ее (с помощью .profile и т. П.)

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