web-dev-qa-db-ja.com

Samba + Windows:異なるユーザーによる複数の接続を許可しますか?

ローカルネットワークで家族のWindowsマシンとデータを共有するために使用する、SambaでUbuntuを実行しているマシンがあります。現在、彼らは1人のユーザーで映画や音楽などの共有にアクセスしています。

それらを別のユーザー(たとえば、ユーザー「goytacaz」)として別の共有に接続したい。

この新しい共有に接続しようとすると、Windowsから "エラー1219"が表示され、同じユーザーによる複数の接続についてメッセージが表示されます。

マシンに同じユーザーによる複数の接続を受け入れるにはどうすればよいですか?

23
rgoytacaz

サンバ以上?問題はないはずです。ユーザー名とパスワードが正しい限り、両方の接続が正しく行われるはずです。

更新:re: "エラー1219"。これはクライアント側のエラーです。Windowsでは、一度に1人のユーザーとしてのみサーバーに接続できます。 ( MicrosoftのドキュメントKB93812 を参照してください。)これは、Windowsマシンが別のユーザーとして既に接続されているため、正しいユーザーとして再度接続しようとしても失敗することを意味します。

再接続する前に、最初の接続を切断する必要があります。それを行うために私が知っている2つの方法:

  • そのサーバーからログオン時再接続ネットワークドライブを切断します。リブート。サーバーに再接続し、適切なユーザー名とパスワードを入力してください。

  • WindowsのコマンドシェルからNet Use/deleteコマンドを使用します([スタート]-> [実行]-> cmd;プロンプトでコマンドを入力します。共有名を指定します)。

Update 2:ユーザーが既に1人のユーザーでサーバーに接続している場合、2人目のユーザーとの接続を許可することはできません。共有戦略を再考し、その戦略に従うようにSambaを再構成する必要があります。 (これはあなたの責任ではありません。Windowsのせいです。)

個人的には、個人ごとに個別のユーザーを使い、グループを使用して共有へのアクセスを制御することを検討します。これは、全員に読み取り/書き込みアクセスを許可する共有と、一部のユーザーを除いてすべて読み取り専用にする共有がある場合にうまく機能します。

Update 3:上記のリンクされたMSドキュメントは、これらの2つの回避策を提供して、別々のユーザーとしてサーバーに接続できるようにします。一般的な考え方は、Windowsに別の名前を使用して別のサーバーに接続していると思わせるです。

  1. 2番目のユーザー名で接続するときは、サーバーのIPアドレスを使用します。 (使用する \\ServerName\sharename最初のユーザーとして接続するとき、ただし\\X.X.X.X\sharename(2番目のユーザーとして接続する場合)。

  2. 2番目(3番目、4番目)のユーザー名で接続するときにサーバーが使用する1つ以上のDNSエイリアスを作成します。 (使用する \\ServerName\sharename最初のユーザーとして接続するとき、ただし\\ServerAlias1\sharename 2番目のユーザーとして接続する場合、\\ServerAlias2\sharename(3番目のユーザーとして接続する場合など)

24
quack quixote

これはWindows 7のソリューションです(他のバージョンでも機能する場合があります)

  1. 管理者としてメモ帳(または任意のテキストエディター)を開く
    (右クリックして「管理者として実行」と言う必要があります)

  2. 検索:c:\ WINDOWS\system32\drivers\etc\hosts(.txtだけでなく、すべてのファイルを表示する必要があります)

今、つまり:
-3人のsambaユーザーがいます:tom fred jon
-sambaサーバー上の3つのsamba共有(つまり、IP:192.168.0.100):docs stuff pics
-tomからdocsへ、fredからstuffへ、jonからpicへ接続したい

次の行をhostsファイルに追加します。

192.168.0.100   tomsdocs   tomsdocs
192.168.0.100   fredstuff  fredstuff
192.168.0.100   jonspics   jonspics

いったん閉じて保存すると、次のように「ネットワークドライブを割り当てる」ことができます。

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

上記の名前は完全にあなた次第であることに注意してください... hostsファイルに何を入力しても、ネットワークドライブをマップするときに、サーバーと呼ぶものをマッハする必要があります。

これが機能する理由は、ウィンドウが異なるサーバーに接続しているとWindowsが考える必要があるためです。おそらく、あなた自身のホームDNSサーバーをセットアップすることもできますが、私はhostsファイル(WindowsマシンがDNSに助けを求める前に評価される)のエントリーをまねることを好みます。
問題全体がクライアント側のウィンドウの問題であるため、私はこの方法でそれを行うことを好みます。

お役に立てれば。

10
Sebastian

各クライアントをいじってサーバーの問題を解決したくない場合は、smb.confファイルを使用してサーバーの名前エイリアスを設定できます。これには、Windowsネットワークで個別のサーバーとして表示される各エイリアスの追加の利点があります。

Smb.confファイルを編集し、[global]セクションに次のエントリを追加します。

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


sambaの再起動後(smbdおよびnmbdを再起動することを忘れないでください!)、WindowsエクスプローラーでUNC表記を使用して新しいサーバーエイリアスにアクセスできるはずです。
私のサイトでは、sambaの再起動後約1分で、動作するまで少し時間がかかる場合があります。
エイリアスがWindowsネットワークに表示されたら、実行しても問題ありません。

8
Line40

サーバーのIPアドレス(またはIPアドレスを使用する場合はホスト名)を使用する

http://support.Microsoft.com/kb/93812

2
leetkrew

私は同じ問題を抱えていました。

あるユーザーの場合:\ 192.168.x.x <-他のユーザーのubuntuサーバーのIP:\ server-name <-ubuntuサーバーのホスト名。

これにより、別のログインを使用してWindowsマシンに接続できました。

2
Eric

Netbiosエイリアスsambaオプションを使用します。

netbios name = share1
netbios aliases = share2

windowsは2つの異なるsambaサーバーを「認識」し、異なるユーザー認証で両方の共有に接続できます。

1
Pol Hallen