У меня есть корпус NAS (Noontec N5), с которым я могу взаимодействовать только через веб-интерфейс (т. е. no ssh). Это позволяет мне показывать службу SMB и добавлять пользователей с паролем или без него.
Могу регистрироваться анонимно, например. с smbclient -L 10.1.0.25 -UGuest и без пароля:
~ • smbclient -L 10.1.0.25 -Uguest
Enter guest's password:
Anonymous login successful
Domain=[R] OS=[R] Server=[R]
Sharename Type Comment
--------- ---- -------
PUBLIC Disk
IPC$ IPC
Anonymous login successful
Domain=[R] OS=[R] Server=[R]
Server Comment
--------- -------
Workgroup Master
--------- -------
Я не могу войти с паролем, хотя:
~ • smbclient -L 10.1.0.25 -Ujason
Enter jason's password:
session setup failed: NT_STATUS_LOGON_FAILURE
Это же имя пользователя работает, если я удаляю пароль и регистрирую (!)
Как я могу диагностировать это дальше или исправить?
Рабочая группа используемое для устройства SUNNYDALE:
~ • nmblookup -A 10.1.0.25 | grep GROUP
SUNNYDALE <00> - <GROUP> B <ACTIVE>
Добавление этого в команду smbclient не помогает (теперь он также находится в /etc/samba/smb.conf):
~ • smbclient -L 10.1.0.25 -W SUNNYDALE -U jason
Enter jason's password:
session setup failed: NT_STATUS_LOGON_FAILURE
[d8 ] Обновление: другие ОС Я нашел машину для OS X и Windows XP, с которой можно протестировать, и они оба могут нормально подключаться. Похоже, это какая-то магия, о которой smbclient не знает (что не снижает вероятность того, что она не находится в официальном протоколе SMB).
Я использовал Wireshark для захвата пакетов между тестовой виртуальной машиной Windows XP и NAS. Похоже, что XP многократно пытается использовать различные комбинации доменных имен и протоколов безопасности, пока что-то не работает. Последняя (успешная) попытка, по-видимому, использует SMB для имени домена и NTLMSSP для аутентификации.
Однако попытки использовать эти настройки с smbclient и mount.cifs не работали. [!d14 ]
С этими полями кажется, что требуется принудительная рабочая группа:
smbclient -L 10.1.0.25 -W WORKGROUP -U jason
Вы можете проверить рабочую группу окна, выполнив:
$ nmblookup -A 10.1.0.25 | grep GROUP
..__MSBROWSE__. <01> - <GROUP> B <ACTIVE>
WORKGROUP <00> - <GROUP> B <ACTIVE>
WORKGROUP <1e> - <GROUP> B <ACTIVE>