20.04 – ошибка samba NT_STATUS_LOGON_FAILURE при сетевой печати

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

Я использую сетевой принтер через Samba уже много лет с моего рабочего стола 20.04, но после недавнего обновления системы это больше не работает и выдает ошибку NT_STATUS_LOGON_FAILURE. Попробовал понизить протокол с SMBv2 до SMBv1 (для client min protocol и server min protocol), добавил свое имя пользователя в базу данных паролей Samba, но все равно безуспешно. Мои настройки:

smb.conf

[global]
  server string = %h server (Samba, Ubuntu)
  log file = /var/log/samba/log.%m
  max log size = 1000
  logging = file
  panic action = /usr/share/samba/panic-action %d
  server role = standalone server
  obey pam restrictions = yes
  unix password sync = yes
  passwd program = /usr/bin/passwd %u
  passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
  pam password change = yes
  map to guest = bad user
  usershare allow guests = yes

[printers]
  comment = All Printers
  browseable = no
  path = /var/spool/samba
  printable = yes
  guest ok = no
  read only = yes
  create mask = 0700

[print$]
  comment = Printer Drivers
  path = /var/lib/samba/printers
  browseable = yes
  read only = yes
  guest ok = no

ufw status

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
48524/tcp                  ALLOW       Anywhere                  
5353/udp                   ALLOW       Anywhere                  
3389/tcp                   ALLOW       Anywhere                  
3389/udp                   ALLOW       Anywhere                  
22/tcp (v6)                ALLOW       Anywhere (v6)             
48524/tcp (v6)             ALLOW       Anywhere (v6)             
5353/udp (v6)              ALLOW       Anywhere (v6)             
3389/tcp (v6)              ALLOW       Anywhere (v6)             
3389/udp (v6)              ALLOW       Anywhere (v6) 

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

Поскольку вы столкнулись с проблемой NT_STATUS_LOGON_FAILURE при печати через сеть с использованием Samba после обновления вашей системы Ubuntu 20.04, давайте разберёмся, что может быть причиной и как это исправить.

Теория

Ошибка NT_STATUS_LOGON_FAILURE связана с аутентификацией. Это означает, что текущие настройка, вероятно, не позволяют вам успешно пройти аутентификацию при попытке доступа к сетевому ресурсу. В контексте Samba это может быть вызвано несколькими причинами:

  1. Изменение политики безопасности: после обновления системы могли измениться настройки безопасности, такие как разрешённые версии протокола SMB, которые Samba использует для обмена данными.

  2. Несоответствия в паролях: Parоль пользователя в базе данных Samba может не совпадать с текущим паролем пользователя в системе.

  3. Настройки конфигурации Samba: Некорректно настроенные параметры smb.conf могут препятствовать успешной аутентификации.

Пример

При рассмотрении вашей конфигурации smb.conf, видно, что были сделаны попытки снизить уровень протокола до SMBv1. Однако, использование SMBv1 не рекомендуется из соображений безопасности, так как этот протокол содержит уязвимости, уже много лет поддерживается устаревшим.

Вы также добавили пользователя в базу данных паролей Samba с помощью команды, подобной smbpasswd -a <username>, но это не обеспечило успеха.

Ваша текущая конфигурация:

[global]
  ...
  map to guest = bad user
  usershare allow guests = yes

[printers]
  ...
  guest ok = no

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

Применение

  1. Проверьте имена пользователей и пароли:
    Убедитесь, что учетные данные (логин/пароль), используемые в Samba, совпадают с системными. Попробуйте повторно создать учетные записи в базе данных Samba:

    sudo smbpasswd -a <username>

    Перепроверьте пароль.

  2. Актуализируйте параметры протокола:
    Обязательно поддерживайте использование SMBv2 или поздних версий в целях безопасности. Проверьте вашу конфигурацию, чтобы убедиться, что параметры указали на поддерживаемый и безопасный уровень протокола:

    [global]
     client min protocol = SMB2
     server min protocol = SMB2
  3. Обновите фаерволл (ufw):
    Возможно, фаерволл блокирует доступ к необходимым портам для Samba. Добавьте правила для SMB (обычно это порты 137, 138, 139, 445):

    sudo ufw allow from <IP_адрес_сети> to any port 137
    sudo ufw allow from <IP_адрес_сети> to any port 138
    sudo ufw allow from <IP_адрес_сети> to any port 139
    sudo ufw allow from <IP_адрес_сети> to any port 445

    Перезапустите фаерволл:

    sudo ufw reload
  4. Обновление и перезапуск службы Samba:
    После внесения изменений перезапустите Samba, чтобы они вступили в силу:

    sudo systemctl restart smbd
    sudo systemctl restart nmbd
  5. Логи и диагностика:
    Проверьте лог-файлы Samba для поиска дополнительных подсказок о причинах ошибки:

    /var/log/samba/log.%m

    Для более детального логирования измените уровень логов:

    [global]
     log level = 3
  6. Проверка с другого устройства:
    Попробуйте подключение с другого компьютера в сети, чтобы убедиться, что ошибка не связана с проблемой конкретного клиента.

  7. Документация и поддержка:
    Ознакомьтесь с последней документацией по Samba на сайте Samba.org, чтобы убедиться, что ваша конфигурация соответствует техническим рекомендациям.

Выполнив эти шаги, вы имеете больше шансов устранить проблему с NT_STATUS_LOGON_FAILURE и обеспечить стабильную работу вашего сетевого принтера.

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

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