Вопрос или проблема
Я использую сетевой принтер через 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 это может быть вызвано несколькими причинами:
-
Изменение политики безопасности: после обновления системы могли измениться настройки безопасности, такие как разрешённые версии протокола SMB, которые Samba использует для обмена данными.
-
Несоответствия в паролях: Parоль пользователя в базе данных Samba может не совпадать с текущим паролем пользователя в системе.
-
Настройки конфигурации 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
Эта конфигурация позволяет гостевой доступ при небезопасном сопоставлении; при этом, для принтеров доступ гостям закрыт, что может предотвратить аутентификацию, если неправильно настроены пользователи.
Применение
-
Проверьте имена пользователей и пароли:
Убедитесь, что учетные данные (логин/пароль), используемые в Samba, совпадают с системными. Попробуйте повторно создать учетные записи в базе данных Samba:sudo smbpasswd -a <username>
Перепроверьте пароль.
-
Актуализируйте параметры протокола:
Обязательно поддерживайте использование SMBv2 или поздних версий в целях безопасности. Проверьте вашу конфигурацию, чтобы убедиться, что параметры указали на поддерживаемый и безопасный уровень протокола:[global] client min protocol = SMB2 server min protocol = SMB2
-
Обновите фаерволл (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
-
Обновление и перезапуск службы Samba:
После внесения изменений перезапустите Samba, чтобы они вступили в силу:sudo systemctl restart smbd sudo systemctl restart nmbd
-
Логи и диагностика:
Проверьте лог-файлы Samba для поиска дополнительных подсказок о причинах ошибки:/var/log/samba/log.%m
Для более детального логирования измените уровень логов:
[global] log level = 3
-
Проверка с другого устройства:
Попробуйте подключение с другого компьютера в сети, чтобы убедиться, что ошибка не связана с проблемой конкретного клиента. -
Документация и поддержка:
Ознакомьтесь с последней документацией по Samba на сайте Samba.org, чтобы убедиться, что ваша конфигурация соответствует техническим рекомендациям.
Выполнив эти шаги, вы имеете больше шансов устранить проблему с NT_STATUS_LOGON_FAILURE и обеспечить стабильную работу вашего сетевого принтера.