smbclient получает NT_STATUS_LOGON_FAILURE подключение к Windows box


21

Я запускаю smbclient в Ubuntu, пытаюсь подключиться к Windows, и получаю сообщение «Ошибка установки сеанса: NT_STATUS_LOGON_FAILURE».

Я проверил, что могу пинговать коробку и telnet к портам 139/445, поэтому я почти уверен, что это не проблема брандмауэра. И мой клиент говорит, что они могут без проблем подключиться к этой коробке Windows из другой коробки Windows с комбинацией ИД-пароль / пароль. Кроме того, этот блок может подключаться через smbclient к другим блокам Windows, которые есть у этого клиента.

Любые другие идеи, почему это не работает?

Ответы:


28

Вы проверили свой smb.conf?

Убедитесь, что ваша рабочая группа и настройки безопасности установлены правильно. Если вы работаете с компьютером как частью домена, запросы на аутентификацию сначала передаются через контроллер домена, поэтому убедитесь, что у вас есть что-то похожее на:

security = domain
workgroup = WORKGROUP

Вы также можете использовать -Wопцию, чтобы указать рабочую группу, и добавить DOMAIN/перед своим именем пользователя, чтобы указать домен:

$smbclient -L myhost -U DOMAIN/user -W workgroup

Надеюсь это поможет!


Оказывается, добавление домена сделал свое дело. Очевидно, что некоторые версии Windows требуют домен, а другие нет? Но спасибо!
Дэвид Jaquay

обратите внимание, что бит «security = domain» здесь не нужен. Помимо указания рабочей группы в smb.conf, вы также можете указать ее в командной строке для smbclient.
Jelmer

Да, опция -W для smbclient - это то, что я использовал, чтобы она работала.
Дэвид Jaquay

7
ДОМЕН / имя пользователя также должны работать.
Кальмариус

1
Вы также можете использовать smbclient с аргументом -W.
Андре Мирас

7

Та же проблема. Я должен был добавить пользователей в файл паролей Samba с

sudo smbpasswd -a

Видимо, это потому, что конфигурация по умолчанию в /etc/samba/smb.conf

безопасность = пользователь

passdb backend = tdbsam

Я не использую контроллеры домена или активный каталог, поэтому я бы подумал, что доступ к обычному файлу паролей будет по умолчанию, но я думаю, что нет. Было бы хорошо, если бы это было ясно в документации, которую я нашел. Ссылка «smbpasswd» предоставила подсказку, которая привела к этому решению.


Я нахожусь в домене, и я думаю, что именно так мне и понадобится, потому что я не использую своего пользователя домена в Linux, это личный гость Linux для разработки на хосте Windows. Кроме того, теперь я могу успешно подключиться к smbclient -L localhostгостю, но пока не могу подключиться с помощью хоста Windows. Я думаю, что это был хотя бы один шаг вперед. Я думаю, что его порты отсюда, вы должны включить номера портов, чтобы проверить в вашем ответе.
Брайан Томас

2

У меня была та же проблема с smbclient, и я заметил, что она исчезла, когда я вручную выбрал опцию «Просто включить общий доступ к файлам» в диалоговом окне «Общий доступ к файлам», которое вы получаете после ручного щелчка правой кнопкой мыши на папке, которую вы хотите отправить.

На некоторых компьютерах с Windows (например, Windows XP) вам нужно добавить это, чтобы разрешить удаленный доступ для не гостевых пользователей:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\forceguest=dword:0

или, автоматизируя использование командной строки windows xp:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 00000000 /f

После этого smbclient работал без проблем с любым пользователем.

Большое спасибо Jethomas в http://www.techsupportforum.com/forums/f10/enable-file-sharing-via-the-command-line-133562.html


1

Это может быть связано со следующей причиной:

  1. Если в smb.conf указаны действительные пользователи, проверьте smbpasswd.
  2. Проверьте файл hosts.

Не уверен, почему за это проголосовали. Этот ответ указал мне на smbpasswdто, что мне нужно было использовать для установки учетных данных, когда я получал эту же ошибку.
Рик Чатем

1

У меня та же проблема, когда я побежал

smbclient \\\\[ip]\\[sharedresource]

Эта команда просит меня ввести пароль для пользователя root, однако, когда я ввел пароль, я получил ошибку NT_STATUS_LOGON_FAILURE.

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

smbclient \\\\[ip]\\[sharedresource] -U [username]

1

В Windows 10 (хост) и CentOS 7 (гость) мне удалось решить проблему аутентификации, отключив общий доступ с защитой паролем: Центр управления сетями и общим доступом / Расширенные настройки общего доступа / все сети / Общий доступ с паролем

Это может быть полезно только для устранения неполадок , я бы не рекомендовал оставлять его для повседневного использования.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.