Compartilhar Samba Simples - SEM SENHA


16

O que eu preciso:

Configuração simples do samba para servidor de arquivos sem senha e gravação de leitura completa para todos. Nenhuma segurança necessária.

História:

Estou criando um servidor para hospedar arquivos para minha casa. O objetivo do servidor é hospedar arquivos para máquinas Windows. O melhor que consegui fazer até agora é essa configuração. Com isso, consigo ver os compartilhamentos e o servidor da rede, mas diz que o Windows não pode acessá-los. Estou usando o Linux mate no servidor, com todas as atualizações mais recentes.

Minha configuração:

[global]

   workgroup = BIOHAZARD
   netbios name = MATUSALEM
   guest account = nobody
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   security = user
   map to guest = bad user
   encrypt passwords = yes

# Share Definitions 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[Teste]
    path = /home/peter/share
    writable = yes
    printable = no
    comment = teste
    only guest = yes
    public = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
[REDE]
    comment = TESTE 2
    public = yes
    delete readonly = yes
    path = /HOME/REDE
    writeable = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
######

Alguma ideia?


Respostas:


22

Sim, o samba pode ser uma dor. Eu o uso tanto na minha casa quanto no trabalho.

A primeira coisa que você deve fazer é começar do zero para facilitar a solução de problemas. Você pode fazer isso executando o comando abaixo no terminal.

dpkg-reconfigure samba-common

Em seguida, vá para a pasta no servidor samba que você deseja compartilhar e verifique se o usuário que ninguém pode ler e gravar no compartilhamento. Isso ocorre porque o usuário ninguém é o nome de usuário do Windows que os clientes usam. Normalmente, apenas faço uma pasta no diretório / para manter as coisas simples, mas a maneira "correta" seria criar uma subpasta de / srv. Se você ainda não modificou as permissões, use os comandos abaixo.

sudo chown -R nobody.nogroup the_folder
sudo chmod -R 777 the_folder

Você também pode testar para ver se ninguém pode gravar no diretório executando o seguinte comando como root.

sudo -u nobody touch test_file

Edite seu /etc/samba/smb.conf e adicione as linhas abaixo da definição de compartilhamento [impressoras].

[share_name]              ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777

Quando terminar, salve-o e execute o seguinte.

testparm

Isso irá avisá-lo se você fez algum erro de digitação. Em seguida, você só precisa reiniciar os serviços de samba.

sudo systemctl restart smbd
sudo systemctl restart nmbd

Isso funcionou perfeitamente! Copiado para referência futura. o problema era o chmod! muito obrigado.
Peter Reynold Robinson Junior

11
Bom trabalho para descobrir, a maioria teria desistido. Lembre-se de que com o compartilhamento de arquivos, em qualquer sistema operacional, as permissões costumam ser o problema.
27416 Andrew Andrew

11
Ótimo. Isso funciona para mim, eu só tenho um problema quando tentar reinstalar o samba, mas a questão era porque também é necessário fazer sudo apt-get autoremovee depois sudo apt-get purge samba*
iLevi

Isso resultou em um erro ao iniciar o nmdb após a conclusão da instalação do samba, com log.nmdb dizendo "erro ao abrir o arquivo de configuração" e nenhuma pasta / etc / samba presente. Uma nova tentativa do processo de remoção e remoção e reinstalação resultou no mesmo novamente.
Frank H.

Esta é a ÚNICA abordagem de trabalho em toda a Internet! Você salva meu dia, obrigado.
Evi Song

0

Sei que esse é um encadeamento antigo, mas ele me ajudou a resolver o problema de criar e compartilhar uma pasta sem o login necessário. Muitos outros tópicos por aí, mas eles são enganosos. Dei um guia semi-biginners abaixo, já que existem tantas pequenas diferenças com outros posts por aí que achei que poderia ajudar alguém que quase desistiu e arrancou metade do cabelo :-)

Para mim, em uma imagem padrão do AWS Linux (Amazon Linux AMI 2017.03.0 (HVM)), tive que criar a pasta no diretório raiz / pois não podia atribuir as permissões se criado com o usuário ec2 padrão. Ao atribuir as permissões, tive que usar nobody.nobody como nogroup não funcionou. Por fim, tive que incluir map to guest = Bad User na seção gloabl standalone server, onde por padrão diz security = user

Portanto, as etapas completas estariam na implantação de um novo servidor:

instale o samba, se necessário

crie a pasta e atribua permissões

sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder

edite o arquivo samba

nano /etc/samba/smb.conf

encontre a linha # ---- Opções de servidor autônomo ---- acrescente "map to guest"

security = user
passdb backend = tdbsam
map to guest = Bad User

Na seção # ==== Definições de compartilhamento ==== adicione seu compartilhamento

[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes

Salve o arquivo e reinicie o samaba

/etc/init.d/smb restart

0

Além da resposta do @Andrew, a recente atualização do ubuntu 17.04 para 17.10 cria problemas no systemctl samba-dc-ad.service . Supostamente, não é um bug na máscara quando você tenta reinstalar o samba no samba-dc-ad.service (intensional). Etapas adicionais antes da resposta do @ Andrew , se você estiver tendo problemas com a instalação / reinstalação do samba devido à atualização:

  1. apt-get update e apt-get-upgrade <- verifique se não há atualizações pendentes
  2. apt-get install samba
  3. acesse esta página e siga as instruções: https://wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd

  4. O apt-get -f instala o samba

  5. Execute as etapas acima, agora. :-)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.