Samba + Windows: permite múltiplas conexões por diferentes usuários?

23

Eu tenho uma máquina executando o Ubuntu com Samba que eu uso para compartilhar coisas com as máquinas Windows da minha família em nossa rede local. Atualmente, eles acessam um compartilhamento de filmes / música / etc com um usuário.

Quero conectá-los a outro compartilhamento como um usuário diferente (por exemplo, usuário "goytacaz").

Quando tento me conectar a esse novo compartilhamento, o Windows me dá "Erro 1219" e reclama de várias conexões pelo mesmo usuário.

Como faço para que minha máquina aceite várias conexões pelo mesmo usuário?

charlatão quixote
fonte
Você só quer se conectar usando o samba? O Samba já suporta este AFAIK.
heavyd

Respostas:

24

Over Samba? Não deve haver problemas; contanto que o nome de usuário e a senha estejam corretos, ambas as conexões devem ocorrer corretamente.

Atualização: re: "Erro 1219". Este é um erro do lado do cliente - o Windows permite apenas conectar-se a um servidor como um usuário por vez. (Consulte a documentação da Microsoft em KB938120 .) Isso significa que a máquina Windows já se conectou como um usuário diferente e, portanto, suas tentativas de conexão novamente, como o usuário correto, estão falhando.

Você precisa desconectar a primeira conexão antes de poder se reconectar. Conheço duas maneiras de fazer isso:

  • Desconecte todas as unidades de rede de reconexão no logon desse servidor. Reinicie. Reconecte-se ao servidor e certifique-se de fornecer o nome de usuário e a senha adequados.

  • Use o comando net use / delete no shell de comando do Windows (Iniciar -> Executar -> cmd; no prompt, digite o comando; pode ser necessário especificar um nome de compartilhamento).

Atualização 2: se os usuários já estiverem se conectando ao servidor com um usuário, você não poderá permitir que eles se conectem com um segundo usuário. Você terá que reconsiderar sua estratégia de compartilhamento e reconfigurar o Samba para seguir essa estratégia. (A culpa não é sua; eu culpo o Windows.)

Pessoalmente, eu ficaria com usuários individuais para cada pessoa e consideraria o uso de grupos para controlar o acesso aos compartilhamentos. Isso funciona bem se você tiver alguns compartilhamentos aos quais deseja que todos tenham acesso de leitura e gravação e outros aos quais deseja que sejam somente leitura para todos, exceto alguns usuários selecionados.

Atualização 3: O documento MS vinculado acima oferece essas duas soluções alternativas para permitir a conexão ao servidor como usuários separados. A idéia geral é fazer o Windows pensar que está se conectando a um servidor diferente usando um nome diferente .

  1. Use o endereço IP do servidor ao se conectar com o segundo nome de usuário. (Use \\ServerName\sharenameao conectar como o primeiro usuário, mas use \\X.X.X.X\sharenameao conectar como o segundo usuário.)

  2. Crie um ou mais alias DNS para o servidor usar ao se conectar com o segundo (, terceiro, quarto ...) nome de usuário. (Use \\ServerName\sharenameao conectar como o primeiro usuário, mas use \\ServerAlias1\sharenameao conectar como o segundo usuário, \\ServerAlias2\sharenameao conectar como o terceiro usuário, etc.)

charlatão quixote
fonte
1
Obrigado por esta resposta. Eu tive o mesmo problema, e conectar usando o endereço IP do servidor em vez do nome DNS funcionou para mim na segunda conexão.
Ben Torell 25/05
10

Esta é uma solução para o Windows 7 (embora possa funcionar para outras versões também)

  1. abra o Bloco de notas (ou qualquer editor de texto) como administrador
    (você precisa clicar com o botão direito do mouse e dizer 'executar como administrador')

  2. localize: c: \ WINDOWS \ system32 \ drivers \ etc \ hosts (você precisará mostrar todos os arquivos, não apenas .txt)

Agora, se:
- você tem 3 usuários de samba: tom fred jon
- 3 compartilhamentos de samba no servidor samba (ou seja, IP: 192.168.0.100): docs stuff pics
- você deseja conectar como tom a docs, como fred to stuff e como jon para fotos

Agora adicione as seguintes linhas ao arquivo hosts :

192.168.0.100   tomsdocs   tomsdocs
192.168.0.100   fredstuff  fredstuff
192.168.0.100   jonspics   jonspics

Depois de fechar e salvar, você pode "Mapear uma unidade de rede" da seguinte maneira:

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

Observe que os nomes acima dependem totalmente de você ... O que você colocar no arquivo hosts precisará fazer o que você chama de servidor ao mapear a unidade de rede.

A razão pela qual isso funciona é porque o Windows precisa pensar que está se conectando a diferentes servidores. Indiscutivelmente, você também pode configurar seu próprio servidor DNS doméstico, mas eu prefiro falsificar várias entradas no arquivo hosts (que é avaliado antes que a máquina Windows solicite ajuda ao DNS).
Como todo o problema é do Windows, eu prefiro fazê-lo dessa maneira.

Espero que isto ajude.

Sebastian
fonte
Isso funcionou como um encanto! Brincava por uma hora com a participação de samba no servidor até que eu encontrei isso - Thanks :)
macaco lorem
Obrigado por isso. Eu odeio ter que contornar a nova porcaria que a Microsoft vomita, mas isso é elegante se não for pateta ... funciona muito bem!
SuperJames
1
Curioso, porém, os nomes duplos são um erro de digitação? Por que você usaria exatamente os mesmos duas vezes para o mesmo IP?
brezanac
8

Se você preferir não mexer com cada cliente para resolver um problema do servidor, poderá usar o arquivo smb.conf para configurar aliases de nome para o servidor. Isso tem o benefício adicional de cada alias aparecer como servidor distinto na rede Windows.

Edite seu arquivo smb.conf e adicione a seguinte entrada na seção [global]:

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


Após uma reinicialização do samba (lembre-se de reiniciar o smbd AND nmbd!), Você poderá acessar os novos aliases do servidor usando a notação UNC no Windows Explorer.
Observe que pode demorar um pouco, no meu site, cerca de 1 minuto após a reinicialização do samba, para que eles funcionem.
Depois que os aliases aparecerem na rede Windows, você estará pronto.

Line40
fonte
2

Eu estava apenas tendo o mesmo problema.

para um usuário, eu uso: \ 192.168.xx <- IP do servidor ubuntu para o outro usuário: \ server-name <- nome do host do servidor ubuntu.

isso me permitiu conectar-me a uma máquina Windows usando logins diferentes.

Eric
fonte
1

Use a opção netbios alias samba:

netbios name = share1
netbios aliases = share2

o Windows "verá" 2 servidores samba diferentes e você pode se conectar para compartilhar com autenticação de usuário diferente

Pol Hallen
fonte