Kết nối với Samba với Windows Share sẽ trả lại cho NT NTATAT_DUPLICATE_NAME


10

Tôi đã thiết lập một thư mục dùng chung trên máy Windows của mình và được cấp quyền kiểm soát hoàn toàn cho tên người dùng @ nhóm làm việc.

Khi tôi cố gắng kết nối với máy Windows với Linux bằng smbclient, tôi gặp lỗi NT_STATUS_DUPLICATE_NAME. Đây là bảng điểm:

$ 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

Nếu tôi cố tình nhập sai tên người dùng, mật khẩu hoặc nhóm làm việc, tôi sẽ gặp một lỗi khác : NT_STATUS_LOGON_FAILURE. Vì vậy, có vẻ như tôi đang nhận được thông tin khác đúng.

Tôi đặt một mục trong / etc / hosts trỏ windows-machineđến địa chỉ IP của nó. Tên NetBIOS của máy windows là một cái gì đó khác nhau.

Có ai biết lỗi này có nghĩa là gì không?

Câu trả lời:


9

Tên NetBIOS của máy windows là một cái gì đó khác

Đó là vấn đề của bạn. Nó dễ dàng được sửa bằng cách hack registry trên máy Windows. Xem http://support.microsoft.com/kb/281308 để biết chi tiết.

Cập nhật

Bài viết hỗ trợ ban đầu được liên kết ở trên đã biến mất (cảm ơn Microsoft). Bài viết mới là truy cập chia sẻ máy chủ tệp SMB không thành công thông qua bí danh DNS CNAME .

Joril cũng chỉ ra rằng một máy chủ có thể có nhiều tên NetBIOS. Điều này được thực hiện bằng cách chỉnh sửa khoá đăng ký:

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

và thêm tên phụ.


1
Tôi tự hỏi tại sao điều này không chỉ cố định trong một bản vá.
Neil

Đó không phải là một lỗi, nó được thiết kế có chủ ý theo cách đó. Có thể để bảo mật, mặc dù tôi không chắc tại sao chính xác. Tôi cho rằng nó dừng bạn vô tình kết nối với máy chủ sai nếu bạn có các mục giả mạo trong tệp máy chủ hoặc DNS duff. Cá nhân tôi đặt hack registry trên tất cả các máy chủ của tôi.
John Rennie

liên kết có vẻ chết (404). Dù sao, chìa khóa nên làHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking
Joril

... hoặc tốt hơn chưa, OptionalNames
Joril

6

Bạn có thể gặp phải lỗi đó vì máy Windows không hiểu chính nó được xác định là những gì bạn đang kết nối với nó. (Sử dụng thông tin xác thực sai sẽ thay đổi lỗi vì sự cố này không xảy ra cho đến sau này trong quá trình kết nối.)

Hãy thử kết nối với nó như số IP của nó, không windows-machine. Nếu công trình đó, nó khẳng định rằng điều tên là gì đang xảy ra, và bạn có thể giải quyết nó bằng cách làm cho bản thân PDC hiểu được windows-machinehoặc bằng cách chỉ sử dụng các số IP.


3

Bạn nên sử dụng cờ "-m" để chỉ định phiên bản giao thức tối đa bạn sẽ sử dụng. Theo mặc định, đó là "NT1", ở đây từ trang man của 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.

Tôi nghi ngờ phiên bản "NT1" dựa vào những thứ của netbios, không giống như SMB2 và tiếp theo.

Vì vậy, hãy thử lại với "-m SMB3" hoặc "-m SMB2", bạn cũng được hưởng lợi rất nhiều trong hiệu suất.


2

bạn có thể sử dụng tùy chọn -I và cung cấp địa chỉ IP.

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

0

Bạn không thể sử dụng tên của máy trong / etc / hosts, cũng không phải tên từ máy chủ DNS.

Bạn phải sử dụng địa chỉ IP của máy hoặc tên NetBIOS của máy được chỉ định trong Windows.

Để tìm tên NetBIOS trong Windows XP:

  1. Nhấp chuột phải vào "Máy tính của tôi"
  2. Nhấp vào "Thuộc tính"
  3. Nhấp vào tab "Tên máy tính"
  4. Đọc trường "Tên máy tính đầy đủ" cho đến giai đoạn đầu tiên '.'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.