Монтирование SMB-подключения работает на Debian 11, но не на Debian 12, и используется неправильный пользователь.

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

У меня есть странная ошибка. Я пытаюсь подключить smb/cifs общий ресурс сервера Windows 2019 как сервер, используя Debian в качестве клиента. Следующая точная команда работает на Debian 11.11, но не на 12.9 с myuser как пользователем домена:

mount -v -t cifs "//host/Backup/myhost" /mnt/backup-myhost/ -o "username=myuser,password=mypassword,domain=mydomain"

что выдает для обоих подробный вывод

mount.cifs kernel mount options: ip=1.2.3.4,unc=\\host\Backup,user=myuser,domain=mydomain,prefixpath=myhost,pass=*******

Debian 12.9 выдает дополнительную ошибку
mount error(13): Permission denied

Я также пробовал различные опции “sec” и “version”. Разрешения /mnt/backup-myhost/ равны 755 на обоих. Сервер Windows сообщает, что пользователь “root” (sic!) пытается подключиться, но mount использует “myuser”.

Вот последняя часть вывода dmesg Debian 12.9, но я не вижу причины даже после сравнения с Debian 11.11:

...
[499614.187245] CIFS: fs/smb/client/transport.c: wait_for_free_credits: remove 1 credits total=0
[499614.187248] CIFS: fs/smb/client/transport.c: Sending smb: smb_len=372
[499614.188538] CIFS: fs/smb/client/connect.c: RFC1002 header 0x48
[499614.188542] CIFS: fs/smb/client/smb2misc.c: SMB2 data length 0 offset 0
[499614.188543] CIFS: fs/smb/client/smb2misc.c: SMB2 len 73
[499614.188545] CIFS: fs/smb/client/smb2ops.c: smb2_add_credits: added 1 credits total=1
[499614.188556] CIFS: fs/smb/client/transport.c: cifs_sync_mid_result: cmd=1 mid=2 state=64
[499614.188560] CIFS: Status code returned 0xc0000070 STATUS_INVALID_WORKSTATION
[499614.188562] CIFS: fs/smb/client/smb2maperror.c: Mapping SMB2 status code 0xc0000070 to POSIX err -13
[499614.188563] CIFS: fs/smb/client/misc.c: Null buffer passed to cifs_small_buf_release
[499614.188566] CIFS: VFS: \\host Send error in SessSetup = -13
[499614.188569] CIFS: fs/smb/client/connect.c: VFS: leaving cifs_get_smb_ses (xid = 111) rc = -13
[499614.188572] CIFS: fs/smb/client/dfs_cache.c: cache_refresh_path: search path: \host\Backup
[499614.188576] CIFS: fs/smb/client/dfs_cache.c: get_dfs_referral: get an DFS referral for \host\Backup
[499614.188586] CIFS: fs/smb/client/connect.c: VFS: leaving mount_put_conns (xid = 110) rc = 0
[499614.188588] CIFS: VFS: cifs_mount failed w/return code = -13
CIFS: Status code returned 0xc0000070 STATUS_INVALID_WORKSTATION

Эту ошибку Microsoft документирует как:

Учетная запись пользователя ограничена, и она не может использоваться для входа с данного рабочей станции.

Это была бы проблема настройки пользователя Active Directory.

В Active Directory откройте свойства этого пользователя. Перейдите на вкладку Account и нажмите кнопку Log On To.... Убедитесь, что либо выбран параметр “Этот пользователь может входить на… все компьютеры”, либо хосты Debian 11 и 12 перечислены в списке разрешенных компьютеров.

.

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

На рассмотрение нам предоставлена ситуация, в которой сама команда монтирования SMB/CIFS ресурса, успешно работающая на Debian 11, не работает на Debian 12, и ожидаемо используемый пользователь отличается от фактического (система пытается использовать пользователя "root"). Основные моменты самой задачи включают в себя попытку монтирования сетевого ресурса Windows Server 2019 в Debian 12 с ошибкой доступа и сообщение от сервера о попытке использования пользователя "root", в то время как команда монтирования использует пользователя "myuser".

Теория

Различия в поведении между Debian 11 и Debian 12, вероятнее всего, связаны с изменениями в программном обеспечении, ответственном за работу с CIFS/Samba монтированиями. Возможны задействования новых зависимостей, обновление пакетов, или даже изменения конфигурации на уровне ядра операционной системы. Ошибка "Permission denied" и упоминание некорректности источника рабочей станции ("STATUS_INVALID_WORKSTATION") могут сигнализировать о нескольких вещах:

  1. Изменения в заголовках и параметрах безопасности SMB: Возможно, появились изменения в способах обработки учетных данных и их передачи между системами.
  2. Политики безопасности Active Directory: Важным фактором является настройка учетной записи пользователя в Active Directory. Ошибка STATUS_INVALID_WORKSTATION указывает, что учетная запись имеет ограничения для входа с текущей машины.
  3. Клиентские параметры по умолчанию: В новой версии могут по умолчанию использоваться другие механизмы аутентификации или шифрования, которые требуют дополнительной настройки для совместимости с вашим сервером.

Пример

В вашем случае важно, что Debian 11 и Debian 12 по-разному взаимодействуют с сервером. На самом сервере Windows Server 2019 учетная запись "myuser" имеет ограничения по подключению с определенных машин. Это подтверждает сообщение об ошибке с идентификатором 0xc0000070 STATUS_INVALID_WORKSTATION. Данный код ошибки указывает на то, что пользователь может иметь ограничения входа на определенные рабочие станции в настройках Active Directory. Аккаунт может быть настроен только для определенных машин, и ваша Debian 12 не входит в этот список.

Применение

  1. Проверка Active Directory: В первую очередь необходимо проверить настройки учетной записи в Active Directory. Убедитесь, что пользователь "myuser" может логиниться с вашего хоста Debian 12. Откройте свойства аккаунта и проверьте опцию "Log on To…". Убедитесь, что Debian 12 включена в список допустимых машин, или выберите опцию "все компьютеры".

  2. Проверка конфигураций на уровне клиента Debian 12:

    • Проверьте, какие версии SMB/CIFS используются по умолчанию в Debian 12 и попробуйте явно установить SMB version, с которой сервер может работать (vers=3.0 например).
    • Проверьте параметры безопасности, например sec=ntlm или sec=ntlmssp, они зависят от вашей конфигурации сервера.
  3. Проверка прав и владельцев каталогов: Убедитесь, что директория /mnt/backup-myhost/ имеет правильные права и принадлежит нужному пользователю. Это может также повлиять на процесс монтирования.

  4. Логи и отладка: Пересмотрите лог-файлы, например dmesg, syslog, journalctl, чтобы получить более детальную информацию о взаимодействии клиент-сервер. Это может дать дополнительное представление о причине ошибки.

  5. Настройки системных параметров в Debian 12: В случае, если ни одно из вышеперечисленных решений не помогает, проверьте документацию на предмет изменений в модулях или исходниках, влияющих на функциональность CIFS. Возможно, потребуется ручная настройка параметров клиента через файлы конфигурации, такие как /etc/samba/smb.conf.

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

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

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