Блокировка системы при запланированном выключении на Debian

Вопрос или проблема

Чтобы воспроизвести это на устройстве Debian, просто выполните команду sudo shutdown -h +5, после чего подтвердите и заблокируйте устройство.
В окне входа в систему вы получите сообщение:

система завершает работу. непривилегированным пользователям больше не разрешен вход в систему. pam_nologin(8)

К сожалению, это навсегда заблокировало меня и не завершает работу через 5 минут. Единственный способ исправить это — принудительное завершение работы путем удержания кнопки питания.

Я хотел бы иметь доступ на случай, если устройство заблокируется, и желательно, чтобы скрипт завершения работы выполнялся, даже если устройство заблокировано.

Ответ или решение

На устройствах, работающих под управлением Debian, иногда возникает проблема при запланированном завершении работы системы с помощью команды sudo shutdown -h +5. После выполнения этой команды и блокировки устройства, пользователи сталкиваются с ситуацией, когда при попытке входа появляется сообщение: "system is going down. unprivileged users are not permitted to log in anymore. pam_nologin(8)". Это стало причиной невозможности входа в систему и, в конечном итоге, система не завершает работу через заданные пять минут.

Теория

Основную роль в данном сценарии играет процесс управления завершением работы системы в Unix-подобных системах, таких как Debian. Когда вы используете команду shutdown, система начинает процесс уведомления всех пользователей и служб о планируемом завершении работы. Использование опции -h указывает на желание системы выключиться, а +5 сообщает системе, что она должна завершить работу через пять минут после выполнения команды.

Когда команда shutdown выполняется, она создаёт файл /etc/nologin, который предотвращает вход обычных пользователей, что объясняет появление сообщения с pam_nologin.

Пример

Рассмотрим пример выполнения этой команды:

  1. Вы вводите команду: sudo shutdown -h +5.
  2. Система создает файл /etc/nologin: Это блокирует входы для всех пользователей, кроме привилегированных, предотвращая любые новые сеансы. Те текущие сессии, как правило, продолжаются без прерываний.
  3. Ожидание завершения: Система должна выключиться через пять минут, но в вашем случае этого не происходит, что может быть связано с различными факторами, включая возможные системные ошибки или проблемы в конфигурации.

Применение

С точки зрения решения проблемы, можно предложить нескольких подходов.

  1. Проверка системных журналов: Начните с анализа системных журналов (/var/log/syslog или /var/log/messages), чтобы выявить потенциальные ошибки, препятствующие корректному завершению работы.

  2. Исправление конфигурации PAM: Используйте временный доступ через аварийный режим или восстановление системы, чтобы изменить конфигурации PAM и устранить последствия от pam_nologin.

  3. Проверка сценариев завершения работы: Убедитесь, что все сценарии завершения (shutdown scripts), которые запускаются на вашей системе, корректно завершают работу и не содержат ошибок, прерывающих процесс завершения работы.

  4. Сценарии обхода блокировки: Если необходимо сохранить доступ к устройству после блокировки, можете использовать команду, которая удерживает открытый терминал или выполняет необходимый скрипт с другой привилегированной учётной записи.

Например, можно использовать команду:

sudo shutdown -h +5 & sleep 300; [команда для разблокировки]

Таким образом, у вас будет пять минут до того, как выполняется разблокировка и последующий безопасный выход из системы.

  1. Автоматизация и управление сервисами: Если проблема в сервисах, рассмотрите возможность их отключения до завершения работы или перехода на управление через systemd, чтобы более детально контролировать порядок их выполнения и завершения.

  2. Аппаратные проверка: Если проблема в железе (например, драйверы ACPI или другие аппаратные компоненты), это также может стоить проанализировать, сравнивая с аналогичными устройствами или путем обновления/переустановки драйверов.

Эти шаги помогут вам не только устранить текущие проблемы с запланированным завершением работы на Debian, но и в дальнейшем более эффективно управлять системой, предотвращая повторные случаи возникновения подобных ситуаций.

Оцените материал
Добавить комментарий

Капча загружается...