Підключення з Samba до Windows Share повертає "NT_STATUS_DUPLICATE_NAME"


10

Я встановив загальний каталог на своїй машині Windows і надав повні дозволи на управління ім'ям користувача @ workgroup.

Коли я намагаюся підключитися до машини Windows з Linux за допомогою smbclient, я отримую помилку NT_STATUS_DUPLICATE_NAME. Ось стенограма:

$ smbclient -U username -W workgroup -L //windows-machine
Enter username's password: 
Domain=[workgroup] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
tree connect failed: NT_STATUS_DUPLICATE_NAME

Якщо я навмисно ввести неправильний логін, пароль або робочу групу, я отримую іншу помилку: NT_STATUS_LOGON_FAILURE. Тож, схоже, я іншу інформацію отримую правильно.

Я ставлю запис у / etc / hosts, який вказує windows-machineна його IP-адресу. Назва NetBIOS в машині Windows - це щось інше.

Хтось знає, що ця помилка означає?

Відповіді:


9

Назва NetBIOS в машині Windows - це щось інше

Це ваша проблема. Це легко виправити злом реєстру на машині Windows. Докладні відомості див. У розділі http://support.microsoft.com/kb/281308 .

Оновлення

Початкова стаття підтримки, зв'язана вище, зникла (дякую Microsoft). Нова стаття - доступ до спільного доступу до файлового сервера SMB не вдався через псевдонім DNS CNAME .

Йоріл також вказує, що сервер може мати кілька імен NetBIOS. Це робиться шляхом редагування ключа реєстру:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\OptionalNames

і додавання зайвих імен.


1
Цікаво, чому це не просто зафіксовано в патчі.
Ніл

Це не помилка, це навмисно розроблено саме так. Можливо, для безпеки, хоча я не впевнений, чому саме так. Я вважаю, що це зупиняє вас випадково підключитися до неправильного сервера, якщо у вас файли хостів або файли DNS відсутня. Особисто я виставив злом реєстру на всіх своїх серверах.
Джон Ренні

посилання виглядає мертвим (404). У будь-якому випадку ключем має бутиHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking
Джоріл,

... або ще краще, Необов’язкові
імена

6

Ви, мабуть, отримуєте цю помилку, оскільки машина Windows не розуміє себе, щоб її ідентифікували як те, що ви до неї підключаєте. (Використання неправильної інформації про автентифікацію змінює помилку, оскільки ця проблема не з’являється пізніше в процесі підключення.)

Спробуйте підключитися до нього як його номер IP, а не windows-machine. Якщо це працює, це підтверджує, що з іменем відбувається те, що відбувається, і ви можете вирішити це, зробивши PDC зрозумілим, windows-machineчи є, або просто скориставшись IP-номером.


3

Ви повинні використовувати прапор "-m", щоб вказати максимальну версію протоколу, яку ви будете використовувати. За замовчуванням це "NT1", тут на сторінці людини smbclient:

-m|--max-protocol protocol
    This allows the user to select the highest SMB protocol level that
    smbclient will use to connect to the server. By default this is set
    to NT1, which is the highest available SMB1 protocol. To connect
    using SMB2 or SMB3 protocol, use the strings SMB2 or SMB3
    respectively. Note that to connect to a Windows 2012 server with
    encrypted transport selecting a max-protocol of SMB3 is required.

Я підозрюю, що версія "NT1" покладається на речі Netbios, на відміну від SMB2 та наступних.

Тому спробуйте ще раз з "-m SMB3" або "-m SMB2", ви також дуже корисні для продуктивності.


2

ви можете скористатися опцією -I та вказати ip-адресу.

smbclient -U username -W workgroup -L //windows-machine  -I <machine-ipaddr>

0

Ви не можете використовувати ні ім'я машини в / etc / hosts, ні, мабуть, ім'я з DNS-сервера.

Потрібно використовувати IP-адресу пристрою або ім'я NetBIOS машини, вказане в Windows.

Щоб знайти ім'я NetBIOS в Windows XP:

  1. Клацніть правою кнопкою миші на "Мій комп'ютер"
  2. Натисніть "Властивості"
  3. Перейдіть на вкладку "Ім'я комп'ютера"
  4. Прочитайте поле "Повне ім'я комп'ютера" до першого періоду '.'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.