Samba + Windows: Cho phép nhiều kết nối bởi những người dùng khác nhau?


23

Tôi có một máy chạy Ubuntu với Samba mà tôi sử dụng để chia sẻ nội dung với các máy Windows của gia đình tôi trong mạng cục bộ của chúng tôi. Hiện tại họ truy cập vào một chia sẻ cho phim / nhạc / vv với một người dùng.

Tôi muốn kết nối họ với một chia sẻ khác với tư cách là một người dùng khác (ví dụ: người dùng "goytacaz").

Khi tôi thử kết nối với chia sẻ mới này, Windows sẽ cho tôi "Lỗi 1219" và phàn nàn về nhiều kết nối của cùng một người dùng.

Làm cách nào để máy của tôi chấp nhận nhiều kết nối bởi cùng một người dùng?


Bạn chỉ đang tìm cách kết nối bằng samba? Samba đã hỗ trợ AFAIK này.
heavyyd

Câu trả lời:


24

Vượt qua Samba? Không nên có bất kỳ vấn đề nào; miễn là tên người dùng và mật khẩu là chính xác, cả hai kết nối sẽ diễn ra chính xác.

Cập nhật: lại: "Lỗi 1219". Đây là lỗi phía máy khách - Windows chỉ cho phép bạn kết nối với máy chủ với tư cách một người dùng tại một thời điểm. (Xem tài liệu của Microsoft tại KB938120 .) Điều này có nghĩa là máy Windows đã được kết nối với tư cách là một người dùng khác và do đó, những nỗ lực của bạn để kết nối lại, với tư cách là người dùng chính xác, đều thất bại.

Bạn cần ngắt kết nối đầu tiên trước khi bạn có thể kết nối lại. Hai cách tôi biết để làm điều đó:

  • Ngắt kết nối mọi ổ đĩa mạng kết nối lại khi đăng nhập khỏi máy chủ đó. Khởi động lại. Kết nối lại với máy chủ và đảm bảo bạn cung cấp tên người dùng và mật khẩu phù hợp.

  • Sử dụng lệnh net use / xóa từ shell lệnh của Windows (Bắt đầu -> Chạy -> cmd; tại dấu nhắc gõ lệnh; bạn có thể cần chỉ định tên chia sẻ).

Cập nhật 2: Nếu người dùng đã kết nối với máy chủ với một người dùng, bạn sẽ không thể cho phép họ kết nối với người dùng thứ hai. Bạn sẽ phải xem xét lại chiến lược chia sẻ của mình và cấu hình lại Samba để thực hiện chiến lược đó. (Đây không phải là lỗi của bạn; tôi đổ lỗi cho Windows.)

Cá nhân, tôi gắn bó với từng người dùng cho từng người và xem xét sử dụng các nhóm để kiểm soát quyền truy cập vào các cổ phần. Điều này hoạt động tốt nếu bạn có một số chia sẻ mà bạn muốn mọi người có quyền truy cập đọc-ghi và những người khác mà bạn muốn chỉ đọc cho tất cả trừ một số người dùng được chọn.

Cập nhật 3: Tài liệu MS được liên kết ở trên cung cấp hai cách giải quyết này để cho phép kết nối với máy chủ dưới dạng người dùng riêng biệt. Ý tưởng chung là, làm cho Windows nghĩ rằng nó kết nối với một máy chủ khác bằng cách sử dụng một tên khác .

  1. Sử dụng địa chỉ IP của máy chủ khi bạn kết nối với tên người dùng thứ hai. (Sử dụng \\ServerName\sharenamekhi kết nối với tư cách là người dùng đầu tiên, nhưng sử dụng \\X.X.X.X\sharenamekhi kết nối với tư cách là người dùng thứ hai.)

  2. Tạo một hoặc nhiều bí danh DNS để máy chủ sử dụng khi bạn kết nối với tên người dùng thứ hai (, thứ ba, thứ tư ...). (Sử dụng \\ServerName\sharenamekhi kết nối với tư cách là người dùng thứ nhất, nhưng sử dụng \\ServerAlias1\sharenamekhi kết nối với tư cách là người dùng thứ hai, \\ServerAlias2\sharenamekhi kết nối với tư cách là người dùng thứ ba, v.v.)


1
Cảm ơn bạn cho câu trả lời này. Tôi gặp vấn đề tương tự và kết nối bằng địa chỉ IP của máy chủ thay vì tên DNS hoạt động với tôi cho kết nối thứ hai.
Ben Torell

10

Đây là một giải pháp cho Windows 7 (mặc dù nó cũng có thể hoạt động cho các phiên bản khác)

  1. mở Notepad (hoặc bất kỳ trình soạn thảo văn bản nào) với tư cách Quản trị viên
    (bạn phải nhấp chuột phải và nói 'chạy với tư cách Quản trị viên')

  2. tìm: c: \ WINDOWS \ system32 \ driver \ etc \ hosts (bạn sẽ cần hiển thị tất cả các tệp không chỉ .txt)

Bây giờ, nếu tức là:
- bạn có 3 người dùng samba: tom fred jon
- 3 cổ phiếu samba trên máy chủ samba của bạn (ví dụ: IP: 192.168.0.100): các bức ảnh của docs
- bạn muốn kết nối như tom với docs, như fred to Stuff và như jon để bức ảnh

Bây giờ thêm các dòng sau vào tập tin máy chủ :

192.168.0.100   tomsdocs   tomsdocs
192.168.0.100   fredstuff  fredstuff
192.168.0.100   jonspics   jonspics

Khi bạn đóng và lưu, bạn có thể "Ánh xạ ổ đĩa mạng" như vậy:

\\tomsdocs\docs as user tom
\\fredstuff\stuff as user fred
\\jonspics\pics as user jon

Lưu ý rằng các tên ở trên hoàn toàn tùy thuộc vào bạn ... Bất kể bạn đặt gì vào tệp máy chủ sẽ cần phải xử lý những gì bạn gọi cho máy chủ khi bạn ánh xạ ổ đĩa mạng.

Lý do điều này hoạt động, là bởi vì các cửa sổ cần nghĩ rằng nó đang kết nối với các máy chủ khác nhau. Có thể cho rằng, bạn cũng có thể thiết lập máy chủ DNS tại nhà của riêng mình, nhưng tôi thích giả mạo một loạt các mục trong tệp máy chủ (được đánh giá trước khi máy windows của bạn yêu cầu DNS trợ giúp).
Vì toàn bộ vấn đề là vấn đề cửa sổ phía máy khách, tôi thích làm theo cách này.

Hi vọng điêu nay co ich.


Điều này làm việc như một nét duyên dáng! Gặp khó khăn trong một giờ với chia sẻ samba trên máy chủ cho đến khi tôi tìm thấy điều này - Cảm ơn :)
khỉ lorem

Cảm ơn vì điều này. Tôi ghét phải làm việc xung quanh những thứ nhảm nhí mới mà Microsoft phát ra, nhưng điều này thật thanh lịch nếu không ngớ ngẩn ... hoạt động rất tốt!
SuperJames

1
Tò mò, mặc dù tên đôi là một lỗi đánh máy? Tại sao bạn lại sử dụng chính xác hai lần cho cùng một IP?
brezanac

8

Nếu bạn không muốn sử dụng máy khách để giải quyết vấn đề máy chủ, bạn có thể sử dụng tệp smb.conf để thiết lập bí danh tên cho máy chủ. Điều này có thêm lợi ích của mỗi bí danh hiển thị dưới dạng máy chủ riêng biệt trong Mạng Windows.

Chỉnh sửa tệp smb.conf của bạn và thêm mục nhập sau vào phần [toàn cầu]:

[global]
...
netbios aliases = alias1 alias2 readonly


Sau khi khởi động lại samba (hãy nhớ khởi động lại smbd VÀ nmbd!), Bạn sẽ có thể truy cập các bí danh máy chủ mới bằng cách sử dụng ký hiệu UNC trong Windows Explorer.
Lưu ý rằng có thể mất một chút thời gian, tại trang web của tôi khoảng 1 phút sau khi khởi động lại samba, để chúng hoạt động.
Khi các bí danh xuất hiện trong Mạng Windows, bạn chắc chắn sẽ ổn.


2

tôi chỉ gặp vấn đề tương tự

đối với một người dùng tôi sử dụng: \ 192.168.xx <- IP của máy chủ ubfox cho người dùng khác: \ tên máy chủ <- tên máy chủ của máy chủ ubfox.

điều này cho phép tôi kết nối với máy windows bằng các thông tin đăng nhập khác nhau.



1

Sử dụng tùy chọn netamba sias bí danh:

netbios name = share1
netbios aliases = share2

cửa sổ sẽ "nhìn thấy" 2 máy chủ samba khác nhau và bạn có thể kết nối với cả hai chia sẻ với xác thực người dùng khác nhau

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.