Samba + Windows: Izinkan beberapa koneksi oleh pengguna yang berbeda?

23

Saya memiliki mesin yang menjalankan Ubuntu dengan Samba yang saya gunakan untuk berbagi barang dengan mesin Windows keluarga saya di jaringan lokal kami. Saat ini mereka mengakses bagian untuk film / musik / dll dengan satu pengguna.

Saya ingin menghubungkan mereka ke bagian lain sebagai pengguna yang berbeda (misalnya, pengguna "goytacaz").

Ketika saya mencoba menghubungkan ke share baru ini, Windows memberi saya "Kesalahan 1219" dan mengeluh tentang beberapa koneksi oleh pengguna yang sama.

Bagaimana saya membuat mesin saya menerima beberapa koneksi oleh pengguna yang sama?

quack quixote
sumber
Apakah Anda hanya ingin terhubung menggunakan samba? Samba sudah mendukung AFAIK ini.
Astrid

Jawaban:

24

Lebih dari Samba? Seharusnya tidak ada masalah; selama nama pengguna & kata sandi benar kedua koneksi harus terjadi dengan benar.

Pembaruan: re: "Kesalahan 1219". Ini adalah kesalahan sisi klien - Windows hanya memungkinkan Anda untuk terhubung ke server sebagai satu pengguna sekaligus. (Lihat dokumentasi Microsoft di KB938120 .) Ini berarti mesin Windows telah terhubung sebagai pengguna yang berbeda, sehingga upaya Anda untuk menyambung kembali, sebagai pengguna yang benar, gagal.

Anda harus memutuskan koneksi pertama sebelum Anda dapat menghubungkan kembali. Dua cara yang saya tahu untuk melakukan itu:

  • Putuskan sambungan semua drive jaringan yang terhubung kembali dari server itu. Mulai ulang. Sambungkan kembali ke server dan pastikan Anda memberikan nama pengguna dan kata sandi yang tepat.

  • Gunakan perintah net use / delete dari shell perintah Windows (Start -> Run -> cmd; pada prompt ketik perintah; Anda mungkin perlu menentukan nama share).

Pembaruan 2: Jika pengguna sudah terhubung ke server dengan satu pengguna, Anda tidak akan dapat membiarkan mereka terhubung dengan pengguna kedua. Anda harus mempertimbangkan kembali strategi berbagi Anda, dan mengkonfigurasi ulang Samba untuk mengikuti strategi itu. (Ini bukan salahmu; saya menyalahkan Windows.)

Secara pribadi, saya akan tetap menggunakan pengguna individual untuk setiap orang, dan mempertimbangkan menggunakan grup untuk mengontrol akses ke share. Ini bekerja dengan baik jika Anda memiliki beberapa bagian yang Anda ingin semua orang memiliki akses baca-tulis, dan yang lain yang Anda ingin baca-saja untuk semua kecuali beberapa pengguna tertentu.

Pembaruan 3: Dokumen MS yang ditautkan di atas menawarkan dua solusi ini untuk memungkinkan koneksi ke server sebagai pengguna yang terpisah. Gagasan umum adalah, membuat Windows berpikir itu terhubung ke server yang berbeda dengan menggunakan nama yang berbeda .

  1. Gunakan alamat IP server ketika Anda terhubung dengan nama pengguna kedua. (Gunakan \\ServerName\sharenamesaat menghubungkan sebagai pengguna pertama, tetapi gunakan \\X.X.X.X\sharenamesaat menghubungkan sebagai pengguna kedua.)

  2. Buat satu atau lebih alias DNS untuk server untuk digunakan ketika Anda terhubung dengan nama pengguna kedua (, ketiga, keempat ...). (Gunakan \\ServerName\sharenamesaat menghubungkan sebagai pengguna pertama, tetapi gunakan \\ServerAlias1\sharenamesaat menghubungkan sebagai pengguna kedua, \\ServerAlias2\sharenamesaat menghubungkan sebagai pengguna ketiga, dll.)

quack quixote
sumber
1
Terima kasih atas jawaban ini. Saya memiliki masalah yang sama, dan menghubungkan menggunakan alamat IP server dan bukannya nama DNS bekerja untuk saya untuk koneksi kedua.
Ben Torell
10

Ini adalah solusi untuk Windows 7 (walaupun mungkin juga bisa digunakan untuk versi lain)

  1. buka Notepad (atau editor teks apa pun) sebagai Administrator
    (Anda harus mengklik kanan dan mengatakan 'jalankan sebagai Administrator')

  2. find: c: \ WINDOWS \ system32 \ drivers \ etc \ hosts (Anda harus menunjukkan semua file tidak hanya .txt)

Sekarang, jika yaitu:
- Anda memiliki 3 pengguna samba: tom fred jon
- 3 samba share di server samba Anda (yaitu IP: 192.168.0.100): foto dokumen docs
- Anda ingin terhubung sebagai tom ke dokumen, seperti fred ke barang dan sebagai jon ke foto

Sekarang tambahkan baris berikut ke file host :

192.168.0.100   tomsdocs   tomsdocs
192.168.0.100   fredstuff  fredstuff
192.168.0.100   jonspics   jonspics

Setelah Anda menutup dan menyimpan, Anda dapat "Memetakan drive jaringan" seperti:

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

Perhatikan bahwa nama-nama di atas sepenuhnya terserah Anda ... Apa pun yang Anda masukkan ke dalam file hosts harus memeriksa apa yang Anda sebut server saat Anda memetakan drive jaringan.

Alasan ini berhasil, adalah karena windows perlu berpikir itu terhubung ke server yang berbeda. Bisa dibilang, Anda juga bisa mengatur server DNS rumah Anda sendiri, tetapi saya lebih suka memalsukan banyak entri dalam file host (yang akan dievaluasi sebelum mesin windows Anda meminta bantuan DNS).
Karena seluruh masalah adalah masalah windows sisi klien, saya lebih suka melakukannya dengan cara ini.

Semoga ini membantu.

Sebastian
sumber
Ini bekerja seperti pesona! Mengotak-atik satu jam dengan berbagi samba di server sampai saya menemukan ini - Terima kasih :)
lorem monkey
Terima kasih untuk ini. Aku benci harus bekerja di sekitar omong kosong baru yang dikeluarkan Microsoft, tapi ini elegan jika tidak konyol ... bekerja dengan baik!
SuperJames
1
Penasaran, apakah nama ganda salah cetak? Mengapa Anda menggunakan yang sama persis dua kali untuk IP yang sama?
brezanac
8

Jika Anda memilih untuk tidak bermain-main dengan setiap klien untuk memecahkan masalah server, Anda dapat menggunakan file smb.conf untuk mengatur alias nama untuk server. Ini memiliki manfaat tambahan dari setiap alias yang muncul sebagai server berbeda di Jaringan Windows.

Edit file smb.conf Anda dan tambahkan entri berikut di bagian [global]:

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


Setelah restart samba (ingat untuk me-restart smbd DAN nmbd!) Anda harus dapat mengakses alias server baru menggunakan notasi UNC di Windows Explorer.
Perhatikan bahwa mungkin perlu sedikit waktu, di situs saya sekitar 1 menit setelah samba-restart, bagi mereka untuk bekerja.
Setelah alias muncul di Jaringan Windows Anda pasti baik untuk pergi.

Line40
sumber
2

Saya hanya mengalami masalah yang sama.

untuk satu pengguna saya menggunakan: \ 192.168.xx <- IP server ubuntu untuk pengguna lain: \ server-name <- nama host dari server ubuntu.

ini memungkinkan saya untuk terhubung dengan mesin windows menggunakan login yang berbeda.

Eric
sumber
1

Gunakan opsi netbios alias samba:

netbios name = share1
netbios aliases = share2

windows akan "melihat" 2 server samba yang berbeda dan Anda dapat terhubung ke keduanya berbagi dengan otentikasi pengguna yang berbeda

Pol Hallen
sumber