Menghubungkan dengan Samba ke Windows Share menghasilkan “NT_STATUS_DUPLICATE_NAME”

10

Saya telah menetapkan direktori bersama di mesin Windows saya, dan memberikan izin kontrol penuh ke nama pengguna @ workgroup.

Ketika saya mencoba untuk terhubung ke mesin Windows dengan Linux menggunakan smbclient, saya mendapatkan kesalahan NT_STATUS_DUPLICATE_NAME. Ini transkripnya:

$ 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

Jika saya sengaja memasukkan username yang salah, password atau workgroup, saya mendapatkan error yang berbeda: NT_STATUS_LOGON_FAILURE. Jadi sepertinya saya mendapatkan informasi lainnya dengan benar.

Saya memasukkan entri di / etc / hosts yang menunjuk windows-machineke alamat IP-nya. Nama NetBIOS dari mesin windows adalah sesuatu yang berbeda.

Adakah yang tahu apa arti kesalahan ini?

Neil
sumber

Jawaban:

9

Nama NetBIOS dari mesin windows adalah sesuatu yang berbeda

Itu masalahmu. Ini mudah diperbaiki oleh peretasan registri pada mesin Windows. Lihat http://support.microsoft.com/kb/281308 untuk detailnya.

Memperbarui

Artikel dukungan asli yang ditautkan di atas telah menghilang (terima kasih Microsoft). Artikel baru adalah akses berbagi server file SMB tidak berhasil melalui DNS CNAME alias .

Joril juga menunjukkan bahwa server dapat memiliki beberapa nama NetBIOS. Ini dilakukan dengan mengedit kunci registri:

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

dan menambahkan nama tambahan.

John Rennie
sumber
1
Saya bertanya-tanya mengapa ini tidak hanya diperbaiki di tambalan.
Neil
Itu bukan bug, itu sengaja dirancang seperti itu. Mungkin untuk keamanan, meskipun saya tidak yakin mengapa tepatnya. Saya kira itu menghentikan Anda secara tidak sengaja terhubung ke server yang salah jika Anda memiliki entri jahat di file host atau duff DNS. Secara pribadi saya meletakkan hack registri pada semua server saya.
John Rennie
Tautan terlihat mati (404). Pokoknya kuncinya adalahHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking
Joril
... atau lebih baik lagi, Nama Opsional
Joril
6

Anda mungkin mendapatkan kesalahan itu karena mesin Windows tidak memahami dirinya untuk diidentifikasi sebagai apa yang Anda hubungkan dengannya. (Menggunakan informasi autentikasi yang salah mengubah kesalahan karena masalah ini tidak muncul sampai nanti dalam proses koneksi.)

Cobalah menyambungkannya sebagai nomor IP-nya, bukan windows-machine. Jika itu berhasil, itu mengkonfirmasi bahwa hal yang sedang terjadi adalah nama, dan Anda dapat mengatasinya baik dengan membuat PDC memahami dirinya menjadi windows-machineatau hanya dengan menggunakan nomor IP.

kekacauan
sumber
3

Anda harus menggunakan bendera "-m" untuk menentukan versi protokol maks yang akan Anda gunakan. Secara default itu "NT1", di sini dari halaman manual 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.

Saya menduga versi "NT1" mengandalkan hal-hal netbios, tidak seperti SMB2 dan selanjutnya.

Jadi coba lagi dengan "-m SMB3" atau "-m SMB2", Anda juga mendapat banyak manfaat dalam kinerja.

Terima kasih
sumber
2

Anda dapat menggunakan opsi -I dan memberikan alamat ip.

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

Anda tidak dapat menggunakan nama mesin di / etc / hosts, atau mungkin juga nama dari server DNS.

Anda harus menggunakan alamat IP mesin atau nama NetBIOS dari mesin yang ditentukan dalam Windows.

Untuk menemukan nama NetBIOS di Windows XP:

  1. Klik kanan pada "My Computer"
  2. Klik "Properti"
  3. Klik tab "Nama Komputer"
  4. Baca bidang "Nama komputer lengkap" hingga periode pertama '.'
Neil
sumber