Sem acesso a compartilhamentos do Samba

8

Eu tenho três pastas compartilhadas no meu diretório pessoal local - ou seja, no meu desktop / home / me / do meu Ubuntu. Todos foram configurados usando "Opções de compartilhamento" no menu de atalho do Nautilus. As pastas "Música" e "Vídeos" padrão são configuradas de forma idêntica: a caixa "Acesso para Convidado" está marcada, mas a opção "Permitir que outros criem e excluam" não é. A terceira pasta, chamada "compartilhada", está configurada para não permitir o acesso de Convidado, mas para permitir que outras pessoas modifiquem arquivos. Não alterei /etc/samba/smb.confmanualmente, usei apenas as Opções de compartilhamento para criar e modificar esses chamados "compartilhamentos".

Meus colegas de quarto têm dois computadores com Windows 7 e um netbook Ubuntu Netbook Remix. Eu tenho a máquina de desktop e laptop mencionados acima executando 10.04. Nenhuma dessas máquinas pode acessar nenhum dos compartilhamentos. Tentativas de acessar os compartilhamentos Guest resultam na mensagem

\\machine\directory is not accessible. The network name could not be found.

Essa é a mensagem de erro gerada por uma VM executando o Windows 2000. Os outros computadores Windows geram um erro semelhante. O laptop Ubuntu apresenta o erro Unable to mount location: Failed to mount Windows share. Hurrah, mais uma vez, para mensagens de erro informativas. Isso realmente ajuda muito.

Ao tentar procurar a pasta chamada "compartilhada" no laptop, sou confrontada com uma caixa de diálogo de senha. Esse comportamento é o mesmo de todas as máquinas que tentei na situação. Ao inserir meu nome de usuário e senha da conta à qual os compartilhamentos pertencem, a caixa de diálogo de senha desaparece brevemente e é substituída por uma caixa de diálogo idêntica. Nenhuma mensagem de erro, útil ou não, aparece.

Ao tentar procurar nesta pasta com a VM, o resultado é o mesmo, exceto que a caixa de diálogo de senha indica com presteza "nome de usuário ou senha incorretos". Minha suposição é que o nome de usuário e a senha em questão sejam os do usuário que possui os compartilhamentos. Eu tentei todas as outras combinações de nome de usuário e senha disponíveis neste contexto e o resultado é o mesmo.

Eu gostaria de poder compartilhar arquivos. Compartilhá-los com máquinas Windows é um recurso interessante ou seria se estivesse disponível. Realmente, considero compartilhar arquivos entre duas máquinas com a mesma versão do mesmo sistema operacional, uma condição mínima para a usabilidade da rede.

O último samba funcionou de forma confiável para mim há mais de dez anos. Eu tentei usá-lo dentro e fora desde então, com apenas sucesso intermitente.

Ah, e "Compartilhamento pessoal de arquivos" no menu Preferências não resulta em uma entrada em Lugares → Rede → meu servidor. De fato, a entrada antiga "MY-SERVER" desaparece e é substituída por "arquivos públicos do koanhead no meu servidor", que quando eu tento abri-la no laptop, fornece um "DBus.Error.NoReply: A mensagem não recebeu uma resposta."

Eu sei que venho aqui e me queixo muito do Ubuntu, mas, por outro lado, passo literalmente horas todos os dias tentando consertar as coisas no Ubuntu. É um bom sistema que aspira à grandeza, e é por isso que coisas assim

  1. Preciso trabalhar; ou

  2. Ser adequadamente documentado.

Idealmente, ambos seriam o caso. Enfim, discursar. Espero que alguém tenha algumas dicas sobre esse assunto. Obrigado a todos que se preocupam em ler este texto de parede pelo seu tempo.

koanhead
fonte
11
Isso realmente não é uma boa maneira de corrigir o problema, mas é uma solução alternativa. Enquanto o /etc/samba/smb.conf tiver map to guest = bad userna seção global e o compartilhamento guest ok = yes, se você colocar um nome de usuário e senha incorretos (mas não estiver em branco, coloque lixo nos dois campos), as coisas parecem funcionar. Sei que é feio e espero que alguém tenha uma resposta melhor, para que eu possa corrigir minha configuração também.
Jeremy
11
você já pensou em usar scp? coloque o winscp nas máquinas windows e execute o servidor ssh na sua máquina. Muito simples de configurar e administrar. Os protocolos de compartilhamento de arquivos do Windows devem ser evitados a todo custo, eles nem funcionam muito bem entre máquinas Windows. Eu desisti do samba há muito tempo.
The Unix Janitor
@ Jeremy, obrigado pela sugestão, tentarei nos próximos dois dias e publicarei os resultados aqui. @ user5883, sim, eu uso rotineiramente sshfs e ocasionalmente scp- mas não consigo desistir do Samba, pois o Ubuntu o adotou como o método de compartilhamento de arquivos "oficial" e preciso ser capaz de ajudar os outros.
koanhead
@ Jeremy, 'map to guest = bad user' já estava presente na seção global do smb.conf. Adicionar guest ok = yes não teve efeito discernível.
koanhead
2
Eu concedi a recompensa por esta resposta, não porque o Samba agora está funcionando corretamente, mas porque eu não queria deixá-lo expirar. O compartilhamento de arquivos no Ubuntu ainda está irremediavelmente quebrado, até onde eu sei; isso nunca funcionou para mim desde 2006. O Samba só funcionou satisfatoriamente no Caldera OpenLinux (em 1999) e no Fedora Core 2. Nos dois casos, foram necessários vários dias de estudo, tentativa e erro. Meu objetivo ao postar essa pergunta não era que eu precisava que o Samba funcionasse, mas que o Ubuntu precisa para ele funcionar. Este é um problema para o bug nº 1 e me torna incapaz de recomendar o Ubuntu.
koanhead

Respostas:

7

Eu estou pensando que ele não tem nenhum usuário de samba.

sudo smbpasswd -a <username>  
gksu gedit /etc/samba/smbusers  
RobotHumans
fonte
11
isso é algo que costumava me jogar ... não integrando usuários de samba e usuários de sistema, mas há um motivo.
RobotHumans
Na página do manual smbpasswd: "Além disso, o comando smbpasswd é útil apenas se o Samba tiver sido configurado para usar senhas criptografadas." Eu não configurei o samba para fazer isso manualmente e não sei se o Ubuntu o configura dessa maneira por padrão. Além disso, a página do manual smbpasswd não faz referência aos smbusers. Ele insinua que o comando 'smbpasswd -a' é suficiente para adicionar um usuário, mas por que o arquivo smbusers existe? Por que isso seria relevante para a autenticação em nível de compartilhamento? Os compartilhamentos devem ser legíveis globalmente sem uma senha. Por que o Samba é utilizável apenas para especialistas em Samba?
koanhead
Adicionei um usuário via 'smbpasswd -a' e reiniciei o smbd sem nenhum efeito imediato discernível. Depois de fazer e reverter algumas das alterações no smb.conf observadas acima, com o smbd associado reiniciado, agora a pasta denominada 'shared' pode ser acessada no laptop através da senha que eu configurei. Portanto, o acesso no nível do usuário está funcionando agora, mas não o acesso no nível de compartilhamento, que é o que eu realmente queria. O acesso no nível do usuário não é muito útil para mim, pois eu uso o sshfs para isso, mas sua resposta é a mais quase correta (a única que efetuou qualquer alteração positiva), por isso vou conceder a recompensa a você.
koanhead
Agradeço a verificação ... e entendo a frustração. O uso de usuários para fornecer permissões em nível de compartilhamento foi algo que me deparei há muito tempo (até me esqueço das circunstâncias, mas me senti muito como você agora). Como solução alternativa, os usuários foram usados ​​e mapearam uma unidade com algum tipo de opção "autenticar como" na montagem da unidade. Não são verdadeiras permissões de nível de compartilhamento, mas isso me deu uma implementação gratuita que funcionou como desejado.
RobotHumans
Eu fiz isso. Não ajudou. BTW não existe esse arquivo gksu gedit / etc / samba / smbusers, então eu salvei para que seu novo vazio. O que é isso? Como esta resposta é aceita? Não está funcionando.
Canguru
3

Esta não é uma resposta, mas mais como um comentário, pois ainda não tenho o privilégio de comentar. Não estou surpreso que seu colega de quarto use o Windows 7. Às vezes, tenho problemas para compartilhar arquivos entre o Windows XP e o Windows 7.

Eu costumava trabalhar em um computador com Windows XP com o Ubuntu rodando no VMware e transferir arquivos através do compartilhamento via Samba. Quando tentei a mesma configuração com o Windows 7, não há alegria.

Parece que algo mudou no Windows 7. Portanto, a menos que você esteja tendo problemas para compartilhar com o Windows XP, eu não diria exatamente que o Samba era mais confiável há 10 anos.

referência aqui e / ou tente obter versões mais recentes do Samba

http://wiki.samba.org/index.php/Windows7

hansioux
fonte
11
Obrigado pela resposta e suspeitei que o Windows 7 possa estar contribuindo para o problema. No entanto, também não consigo conectar-me a partir de outro computador executando o mesmo sistema operacional do servidor (Ubuntu 10.04) nem da VM Win2k local. Infelizmente, não há uma máquina XP por perto com a qual eu possa testar isso. Meu argumento no discurso prolongado foi que, no Ubuntu, o Samba deveria funcionar (tm), já que é o método de compartilhamento de arquivos 'oficial'. Ter que invadir as coisas para fazê-las funcionar é bom no Arch ou no Fedora, mas não no Ubuntu. Aliás, quando realmente quero usar arquivos remotos, uso sshfs.
9289 koanhead
Não consegue nem se conectar a outra máquina Ubuntu? seu Ubuntu 10.04 pode ver o outro computador perfeitamente? Sei que você provavelmente verificou isso, mas esses computadores estão no mesmo GRUPO?
hansioux
sim, os dois computadores Ubuntu aparecem nos locais-> Rede. De fato, todos os computadores envolvidos podem se ver, mas nenhum pode acessar os compartilhamentos hospedados na caixa Ubuntu e nem a caixa Ubuntu pode acessar compartilhamentos (eu não tenho uma conta na máquina Windows, por isso não espero que de qualquer maneira.) Inicialmente, os dois computadores Ubuntu faziam parte de um grupo de trabalho separado, mas eu mudei isso para que todos os computadores na rede local estejam no 'GRUPO DE TRABALHO'.
koanhead
3

Geralmente faço isso editando o arquivo conf. Eu fiz isso sudo nano /etc/samba/smb.conf:, e adicionei isso no final do arquivo.

[Shared]
     comment = My Files
     path = /home/me
     read only = yes
     write list = koanhead
     guest ok = yes

Na lista de gravação, mencione o nome de usuário do sistema, para que você tenha apenas permissão de gravação. Na máquina Windows, digite isto em run: \\ ip-of-the-samba-pc \ shared. Na máquina ubuntu, abra o navegador de arquivos e digite-o na barra de localizaçãosmb://ip-of-the-samba-pc/shared

nixnotwin
fonte
Obrigado pela sugestão, tentarei nos próximos dois dias e apresentarei um relatório.
koanhead
A adição do texto citado ao /etc/samba/smb.conf faz com que todos os compartilhamentos desapareçam da janela "compartilhamentos do Windows no meu servidor" do Nautilus.
koanhead
3

Você diz que conseguiu fazer o acesso no nível do usuário funcionar. Parece-me que é apenas a sua configuração de samba que está errada. Antigamente, eu diria limpar o samba.conf e fazer um simples que atenda às suas necessidades, um samba.conf adequado não precisa ter mais do que 10 linhas, talvez.

De qualquer forma, desde então, surgiu uma solução mais simples: install system-config-samba

sudo apt-get install system-config-samba

Antes de começar, você pode redefinir o samba.conf para o estado original. Para garantir que nenhum erro de sintaxe "oculto" ocorra durante toda a solução de problemas

O painel de controle é bastante simples:

  • clique no sinal '+'
  • selecionar diretório
  • tornar visível (e gravável?)
  • vá para a guia "Acesso"
  • escolha "Permitir acesso a qualquer pessoa"

Uma maneira alternativa (e um pouco mais adequada) de fazer isso:

  • crie um usuário * nix chamado: guest (ou o que você quiser)
    • por motivos de segurança, verifique se "guest" tem /bin/falsecomo shell de logon (a menos que você deseje que o convidado possa fazer login através do ssh etc.)
  • no menu "Preferências": selecione "Usuários do Samba"
  • verifique se "convidado" está na lista: se não estiver, crie-o.

então

  • no menu "Preferências": selecione "Configurações do servidor"
  • Na guia "Segurança": em "Conta de convidado", selecione 'convidado'

Agora, qualquer pessoa que tentar fazer login anonimamente será atribuída ao usuário 'convidado' e, portanto, terá todos os direitos que o 'convidado' tiver.

  • agora crie o compartilhamento como descrito anteriormente, exceto em vez de escolher "Permitir acesso a todos", apenas selecione 'convidado'.

verifique se o usuário * nix 'guest' possui direitos suficientes para ler e / ou gravar na pasta compartilhada.

Boa sorte!

/ B2S

Born2Smile
fonte
2

Para que novos sistemas Windows acessem os compartilhamentos atuais / antigos do Ubuntu Samba, você precisa habilitar a criptografia de senha (criptografar senhas = yes no smb.conf).

O que mudou no Windows 7 é que eles criaram um requisito de segurança para que as senhas do Samba sejam criptografadas. O mesmo se aplica ao XP se você tiver o KB2536276 instalado.

Fiz várias voltas com esse problema em nossa rede no trabalho até encontrar a solução de alterar esse " não " para " sim " nas senhas criptografadas. Isso ainda funciona para um compartilhamento aberto a que todos têm acesso de leitura / gravação sem senha - mesmo que você não tenha uma senha, ele ainda deve informar ao Windows que a senha inexistente é criptografada para que o Windows o permita.

Esta resposta pressupõe que você tenha todo o resto configurado para o Samba funcionar corretamente, como usuários (ou a falta dela) e permissões definidas.

Para o compartilhamento aberto / fácil sem senhas etc, certifique-se que você tem security = share, guest account = nobodye / ou map to guest = Bad Userno conf.

Remo
fonte
1

Lamento dizer isso, mas tive o mesmo problema, meu computador não era detectável na LAN, depois reinstalei o sistema (reinstale com formatação completa) e tudo funcionou bem.

antivirtel
fonte
1

Se você usa o Windows 7, pode ser necessário alterar as configurações do registro:

Consulte o wiki do Samba para obter mais informações ou simplesmente execute o arquivo Win7_SambaDomainMember.reg

Se estiver usando o Ubuntu 11.10, verifique se o python-glade2 está instalado

sudo apt-get install python-glade2
David LeBauer
fonte
1

Uma solução fácil para compartilhar sua pasta pessoal é descomentar as linhas na [homes]seção /etc/samba/smb.conf (remova o ";")

max
fonte
0

Eu acredito que deve verificar se você tem ou não regras de firewall / iptables impedindo-o. Se você não tiver certeza de que a maneira mais fácil é (e também gerenciar o iptables no futuro) instalar o ufw e

sudo ufw allow samba
sudo ufw enable
eXlin
fonte
O ufw já está configurado para permitir samba.
koanhead