Configuração definitiva do Samba

Para o compartilhamento de diretórios via rede, com a possibilidade de configurar permissões de controle de acesso, o Samba sobressai-se sobre os concorrentes.

[ Hits: 472.806 ]

Por: Celso Alexandre em 12/03/2014


Etapa 3



Configurando permissões - Usuários e Grupos

Agora, vamos sair um pouco do arquivo de configurações do Samba e criarmos os usuários que realizarão login via rede através do Samba.

Os usuários do Samba, assim como citado anteriormente, são usuários comuns do GNU/Linux.

Vamos criá-los.

# useradd joana_dark
# useradd diego_hipolito
# useradd maradonna


Os três usuários acima, serão usuários do Samba, pertencentes ao grupo marketing. Porém, para cada um deles, foi criado um diretório /home.

Abaixo, segue os mesmos comandos, porém, com parâmetros que impossibilitarão o uso do login e senha para login local no servidor, e negarão a criação de uma pasta pessoal (/home/[usuário]):

# useradd --no-create-home -s /bin/false joana_dark
# useradd --no-create-home -s /bin/false diego_hipolito
# useradd --no-create-home -s /bin/false maradonna


O parâmetro "-s" especifica um shell de comandos para ser atribuído ao usuário criado. O shell /bin/false, como o nome sugere, é um shell falso, e qualquer usuário que utiliza este shell não será capaz de logar-se corretamente no sistema GNU/Linux. Ainda bem que para o usuário acessar os compartilhamentos, ele não precisa de um shell válido, não é mesmo?

Caso você tenha criado um usuário sem especificar o shell, o usuário é configurado com o shell padrão de sua distro. Para alterá-lo, edite diretamente o arquivo de texto /etc/passwd, ou execute o comando usermod -s /bin/false [nomeDoUsuárioExistente].

# nano /etc/passwd
Ou:
# usermod -s /bin/false [nomeDoUsuárioExistente]

Os usuários acima, foram criados sem qualquer tipo de senha, pois, os usuários do Samba não necessitam de uma senha de logon no GNU/Linux, portanto, configurar uma senha é opcional.

Vamos adicionar estes usuários para serem utilizados no Samba:

# smbpasswd -a joana_dark
# smbpasswd -a diego_hipolito
# smbpasswd -a maradonna


Já se pode testar o login destes usuários em seu servidor Samba, utilizando um cliente Microsoft Windows.

* Aviso: logar não quer dizer "acesso garantido aos diretórios", isso ainda estamos ao passo de configurar.

Para facilitar a administração e ter compartilhamentos Samba extremamente seguros, devemos organizar os usuários em grupos. Em uma empresa, é muito simples: o nome dos grupos de usuários deverão ser os mesmos de cada departamento da empresa.

Vamos criar o(s) grupo(s):

# addgroup marketing
# addgroup departamento_pessoal
# addgroup direcao


Neste exemplo, apesar de criarmos três grupos, apenas o grupo marketing será configurado.

Agora, vamos agrupar os funcionários da empresa nos grupos correspondentes, de acordo com o seu departamento.

Em nosso caso, os três funcionários pertencerão ao mesmo grupo (departamento) marketing:

# adduser joana_dark marketing
# adduser diego_hipolito marketing
# adduser maradonna marketing


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Etapa 1
   3. Etapa 2
   4. Etapa 3
   5. Etapa 4
   6. Etapa 5
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

PDC - Samba + LDAP - Fedora 7

Samba - Dançando conforme a música

Slackware 13 com Samba PDC completo

Instalando o Swat

Bloqueando a gravação de arquivos no Samba por extensão

  
Comentários
[1] Comentário enviado por celsoalexandre em 12/03/2014 - 07:05h

Dicas?
Dúvidas?
Sugestões ou contribuições?

Poste um comentário ou envie um email diretamente para celsoalexandre@live.com

[2] Comentário enviado por danniel-lara em 12/03/2014 - 07:42h

Parabéns muito bem explicado
gostei da parte das permissões muito bem explicado

[3] Comentário enviado por mcnd2 em 12/03/2014 - 17:03h

Muito bom seu artigo.

Nunca mexi com o samba, mais esse artigo esta muito bem explicado e quem nunca fez uma configuração, fica de fácil compreensão do mesmo.

A parte das permissões, como já disse o @danniel-lara, esta muito bem explicado.

[4] Comentário enviado por MAPOGOS em 12/03/2014 - 19:09h

Voçê fez cursos 4Linux ou pesquisas no http://vivaolinux.com.br/ ou voçê é tecnólogo au ciência da computação;

Afinal eu instalei o servidor samba no meu ubuntu 13.04 estou tentando via remoto mas qundo chego an tela de acesso acesso negado ou loguin desconhecido!
A ntes me mostrou a tela do Windous XP, que era ao qual deveria acessar, agora aparece um tela nativa do Linux, parece ser Mint;
que procedimento devo fazer amigo;
Legal seu artigo tenho que dar uma revisada nele;
Obrigado;

[5] Comentário enviado por celsoalexandre em 12/03/2014 - 22:03h


[4] Comentário enviado por TecDogged em 12/03/2014 - 19:09h:

Voçê fez cursos 4Linux ou pesquisas no http://vivaolinux.com.br/ ou voçê é tecnólogo au ciência da computação;

Afinal eu instalei o servidor samba no meu ubuntu 13.04 estou tentando via remoto mas qundo chego an tela de acesso acesso negado ou loguin desconhecido!
A ntes me mostrou a tela do Windous XP, que era ao qual deveria acessar, agora aparece um tela nativa do Linux, parece ser Mint;
que procedimento devo fazer amigo;
Legal seu artigo tenho que dar uma revisada nele;
Obrigado;


Sim, realizei um curso na 4Linux, e a propósito fiquei muito satisfeito. Recomendo :). O instrutor Jota foi de grande inspiração para eu criar este artigo.
Você me disse que tentou conectar via remoto? Não entendi essa parte muito bem, mas eu posso te auxiliar melhor por email: me envie uma mensagem para: celsoalexandre@live.com com mais detalhes sobre o ambiente ao qual você está configurando o samba.

O meu problema é justamente o tempo, se você não se incomodar, assim que possível responderei.
Recomendo também postar sua dúvida por extenso também no fórum da comunidade: http://vivaolinux.com.br/perguntas/ . Lá, há várias pessoas também tentarão responder-lhe da melhor maneira possível. Espero ter ajudado.

[6] Comentário enviado por rodrigopoieli em 15/03/2014 - 09:00h

Estou com um trabalho na faculdade relacionado ao samba, seu artigo me ajudou muito... vlw :)

[7] Comentário enviado por edvan ferreira em 19/03/2014 - 09:51h

Esses comandos abaixo não rolou no meu ubuntu server:

# useradd --disabled-login --no-create-home joana_dark
# useradd --disabled-login --no-create-home diego_hipolito
# useradd --disabled-login --no-create-home maradonna


Versao:

root@servidor:/etc/samba# cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"
NAME="Ubuntu"
VERSION="12.04.4 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.4 LTS)"
VERSION_ID="12.04"

[8] Comentário enviado por celsoalexandre em 21/03/2014 - 00:20h


[7] Comentário enviado por edvan ferreira em 19/03/2014 - 09:51h:

Esses comandos abaixo não rolou no meu ubuntu server:

# useradd --disabled-login --no-create-home joana_dark
# useradd --disabled-login --no-create-home diego_hipolito
# useradd --disabled-login --no-create-home maradonna


Versao:

root@servidor:/etc/samba# cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"
NAME="Ubuntu"
VERSION="12.04.4 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.4 LTS)"
VERSION_ID="12.04"


Poxa vida... Testei em meu Ubuntu e em meu Debian... Não me lembro o motivo de ter escrito o parâmetro --disabled-login, pois este não existe. O correto seria "usermod -s /bin/false [usuário]". Corrigirei assim que possível, pois precisarei revisar o texto e acrescentar explicações, ok? Eu agradeço a sua contribuição desde já, muito obrigado.

ps.: Para você executar em seu ubuntu, tente isto:

# useradd --no-create-home [nomoDoNovoUsuario]
# usermod -s /bin/false [nomeDoUsuarioJaExistente]

Vou explicar rapidamente (no artigo ficará mais completo):
Todo usuário, ao logar-se, recebe o seu shell de comandos.
Com o comando "usermod", ou editando "na unha" o arquivo "/etc/passwd", você pode alterar o shell padrão de um usuário já criado em seu sistema.

O arquivo "/bin/false" é um shell de comandos FALSO, feito para você, na verdade, configurar um usuário com um shell nulo, isto é, o usuário ao qual foi atribuído com este shell, jamais poderá logar-se, pois não terá onde digitar seus comandos. Isso dará uma boa segurança, uma vez que um usuário do samba jamais precisará logar diretamente no servidor.

Espero ter me expressado corretamente em minha explicação. Qualquer dúvida ou acréscimo ao artigo será sempre bem-vinda, ok? Ensinar é o que faço com o maior prazer.

[9] Comentário enviado por celsoalexandre em 25/03/2014 - 06:46h

Edvan, agradeço a contribuição. Já acrescentei a correção, e aproveitei para revisar a ortografia.

[10] Comentário enviado por davidsiqueira em 25/03/2014 - 19:42h

valeu aproveitei para revisar a ortografia.

[11] Comentário enviado por jpvr2005 em 04/04/2014 - 15:00h

Muito bem explicado meu amigo,
Parabéns!!!!

[12] Comentário enviado por henriquejne em 06/04/2014 - 18:23h

Muito bom Celso Alexandre, bem explicado este vai para meus favoritos, brigado por compartilhar.

[13] Comentário enviado por JoelDenis em 09/04/2014 - 11:55h

Muito bom o seu artigo, muito didático e bem explicado, Parabéns !!!

Seria interessante você adicionar ao artigo, funções bastantes úteis como lixeira, auditoria e antivírus, por exemplo. Com a sua maneira explanar sobre o assunto agregaria bastante valor e conhecimento para todos.

[14] Comentário enviado por celsoalexandre em 12/04/2014 - 06:43h


[13] Comentário enviado por JoelDenis em 09/04/2014 - 11:55h:

Muito bom o seu artigo, muito didático e bem explicado, Parabéns !!!

Seria interessante você adicionar ao artigo, funções bastantes úteis como lixeira, auditoria e antivírus, por exemplo. Com a sua maneira explanar sobre o assunto agregaria bastante valor e conhecimento para todos.


Ótima ideia Joel! Isso me inspira muito a fazer uma segunda parte do artigo talvez. Achei brilhante suas ideias, e se puder mandar-me uma lista completa de sugestões por email, eu agradeço, pois quero saber de tudo o que seria interessante explanar sobre samba, antes de dar continuação à este artigo.

Obrigado amigo.

[15] Comentário enviado por rodrigocontrib em 09/08/2014 - 09:59h

Parabéns pelo artigo, funciona muito bem!
Caso tenha algum que ensine o gerenciamento das senhas em base de dados unificada, posta ai.
Abração!!!

[16] Comentário enviado por celsoalexandre em 09/08/2014 - 11:34h

[15] Comentário enviado por rodrigo.root.rj em 09/08/2014 - 09:59h: Parabéns pelo artigo, funciona muito bem!Caso tenha algum que ensine o gerenciamento das senhas em base de dados unificada, posta ai.Abração!!!

Amigo, agradeço o comentário. Pessoas como você são as que me animam em continuar participando da comunidade.

Eu ainda não escrevi um artigo do gênero, estou bastante sem tempo. Eu pretendo, em breve (se possível, haha), "esticar" este artigo e fazer uma sequência.

Outro abraço!

[17] Comentário enviado por Frank_Supremo em 07/05/2015 - 00:20h

Olá parceiro esta instalação também serve para CentOS red Rat?

[18] Comentário enviado por amigri em 25/06/2015 - 17:56h

Cara muito bom!!!!
Valeu!
Só um detalhe o swat parece que não tem para Ubuntu 14.10

[19] Comentário enviado por xclaudin em 14/08/2015 - 14:37h

Otimo tópico, bem explicado!

Parabéns!

Compartilhando
#[nome do compartilhamento]
[Compartilhamento]
comment = Compartilhamento Rede Local
path = /samba/Compartilhamento
public = yes #Acesso sem senha, público (yes ou no)
writable = yes #Permitir alterações no diretório? (yes ou no)
#valid users = #deixe para mais tarde #Mais tarde!

Estou com uma dúvida Não estou conseguindo dar permissão para criar diretórios dentro desta pasta "Compartilhamento" ela é a única pasta criada e compartilhada do meu samba, gostaria de dar permissão para todo e qualquer usuário sem restrição poder criar apagar e excluir sub diretórios dentro desta pasta...

Usei um chmod -R 777 /samba/Compartilhamento - e não consegui permissão para criar pastas la dentro...

Não tenho usuários samba, toda e qualquer pessoa da rede poderá acessar e criar e excluir pastas la dentro...
Alguém pode me ajudar ? Quero liberar a permissão total para todos.


[20] Comentário enviado por celsoalexandre em 22/08/2015 - 15:52h


[19] Comentário enviado por xclaudin em 14/08/2015 - 14:37h

Otimo tópico, bem explicado!

Parabéns!

Compartilhando
#[nome do compartilhamento]
[Compartilhamento]
comment = Compartilhamento Rede Local
path = /samba/Compartilhamento
public = yes #Acesso sem senha, público (yes ou no)
writable = yes #Permitir alterações no diretório? (yes ou no)
#valid users = #deixe para mais tarde #Mais tarde!

Estou com uma dúvida Não estou conseguindo dar permissão para criar diretórios dentro desta pasta "Compartilhamento" ela é a única pasta criada e compartilhada do meu samba, gostaria de dar permissão para todo e qualquer usuário sem restrição poder criar apagar e excluir sub diretórios dentro desta pasta...

Usei um chmod -R 777 /samba/Compartilhamento - e não consegui permissão para criar pastas la dentro...

Não tenho usuários samba, toda e qualquer pessoa da rede poderá acessar e criar e excluir pastas la dentro...
Alguém pode me ajudar ? Quero liberar a permissão total para todos.



Parece ser o sticky bit, tente "chmod -R 0777 /samba/Compartilhamento"

Se não corrigir, pode ser as configurações globais do servidor, nesse caso, poste o conteúdo de seu arquivo de configurações.

[21] Comentário enviado por glrocco em 19/09/2015 - 21:19h


segui todos os passos deste tutorial e não está autenticando os usuários no Windows...

[22] Comentário enviado por carlosgec em 26/02/2016 - 14:44h

Olá!

É compatível com MACOS?

[23] Comentário enviado por locoloco em 28/03/2016 - 11:54h

Show de bola seu tutorial. Finalmente consegui fazer o samba cantar aqui na empresa. Só que tem um problema, criei dois usuários o Rafael e o Teste, e também criei três pastas, TI, Comercial e Diretoria. Deixei o usuário Rafael como dono e tendo somente acesso as pasta TI e Comercial e o usuário Teste como dono e tendo acesso somente a pasta diretoria. Quando digito \\nomedoserver no windows ele pede usuário e senha e acesso a minha pasta, quando tento acessar a pasta em que eu não tenho permissão ele pede a senha e quando entro com a senha do usuário correspondente ele me informa o seguinte erro:

\\nomedoserver\direcao não está acessivel. Você não tem permissão para ussar esse recurso da rede. Contate o administrador do servidor para achar se você tem permissão de acesso. Mutiplas conexões a um servidor ou um recurso compartilhado pelo mesmo usuário, usando mais de um nome de usuário, não são permitidos. Disconecte todas as conexões e conecte novamente.

Poderia me ajudar?


[24] Comentário enviado por celsoalexandre em 30/03/2016 - 21:41h


[23] Comentário enviado por rafaelnunes em 28/03/2016 - 11:54h

Show de bola seu tutorial. Finalmente consegui fazer o samba cantar aqui na empresa. Só que tem um problema, criei dois usuários o Rafael e o Teste, e também criei três pastas, TI, Comercial e Diretoria. Deixei o usuário Rafael como dono e tendo somente acesso as pasta TI e Comercial e o usuário Teste como dono e tendo acesso somente a pasta diretoria. Quando digito \\nomedoserver no windows ele pede usuário e senha e acesso a minha pasta, quando tento acessar a pasta em que eu não tenho permissão ele pede a senha e quando entro com a senha do usuário correspondente ele me informa o seguinte erro:

\\nomedoserver\direcao não está acessivel. Você não tem permissão para ussar esse recurso da rede. Contate o administrador do servidor para achar se você tem permissão de acesso. Mutiplas conexões a um servidor ou um recurso compartilhado pelo mesmo usuário, usando mais de um nome de usuário, não são permitidos. Disconecte todas as conexões e conecte novamente.

Poderia me ajudar?




Cara, que show! É isso aí, tava doido pra ouvir de alguém que colocou o que viu aqui em produção.
É o seguinte..
Vamos fazer algumas mudanças.

como root, mude as permissões de todas as pastas compartilhadas, dando acesso à todos (se você achar inseguro, depois você troca):
# chmod -R 0777 /compartilhamentodosamba

Fazendo isso se altera as permissões do sistema de arquivos do Linux, dando permissões a todos.
Agora vamos fazer a gerência das permissões no compartilhamento.

Edite o arquivo de configurações (geralmente em /etc/samba/smb.conf):
# nano /etc/samba/smb.conf

Ache a linha correspondente ao seu [compartilhamento]
Abaixo dela pode inserir as linhas (As linhas com "#" são comentários. Elas não precisam ser digitadas, apenas se você quiser, não interferem no funcionamento):

#write list é para colocar ou nome de usuários ou @nomedegrupos que tem permissão para gravar no compartilhamento. Read list é o mesmo, mas para consultar.
write list=+gravanocompartilhamento
read list=+consultanocompartilhamento
#Valid users garante que os grupos (representados por "+") ou os usuários especificados vão conseguir acessar o compartilhamento
valid users=+gravanocompartilhamento, +consultanocompartilhamento
#Na create mask você define as permissões dos arquivos e pastas criados pelos usuários através do compartilhamento
#(também é uma opção colocar ele na seção [global] do arquivo, aí não precisa declarar ele em todo compartilhamento)
create mask=0777

Ctrl + O salva no editor.

Olha, como você alterou o arquivo de configuração, já sabe...
roda aí:
#testparm
Se tiver algum erro ele te avisa. Além disso, no final você dá um enter e ele dá um dump na tela pra você ler se todos os parâmetros tão sendo lidos conforme você escreveu.

Deu tudo certo? Beleza! Reinicia o serviço do samba aí campeão...
#/etc/init.d/smbd restart
ou
#service samba restart

Agora é hora de criar os grupos e colocar gente dentro desses grupos:
#addgroup gravanocompartilhamento
#addgroup consultanocompartilhamento

Dentro desses grupos você coloca os usuários de leitura e no outro pra gravação. Eu nem vou colocar os comandos aqui porque no tutorial tá mais bem descrita essa parte.

...Quase esqueci do mais importante: Depois volta aqui e fala o que deu. Sucesso, meu caro.
Ah uma manha de Windows: O Windows ele memoriza sua senha até o você fazer logoff. Se for trocar de login pra testar acessar outro compartilhamento, faz logoff no Ruindows e tenta denovo.

[25] Comentário enviado por celsoalexandre em 02/04/2016 - 22:35h


[22] Comentário enviado por carlosgec em 26/02/2016 - 14:44h

Olá!

É compatível com MACOS?


Segundo esta fonte, os clientes MAC OS podem sim acessar os compartilhamentos SAMBA: http://users.wfu.edu/yipcw/atg/apple/smb/

[26] Comentário enviado por JonathanPoli em 07/06/2016 - 09:15h

Obrigado amigo, foi de grande ajuda!

[27] Comentário enviado por jefersonsilvabr em 30/07/2016 - 18:59h

Cara, amo Linux! Uso há cerca de 6 anos, mas vamos ser realistas, o que mais me afastava de Linux quando migrei do windows foi exatamente rede. O que é extremamente fácil lá, é extremamente difícil para novos usuários Linux!!! Mas vamo que vamo :)

[28] Comentário enviado por celsoalexandre em 30/07/2016 - 19:59h


[27] Comentário enviado por jefersonrbsilva em 30/07/2016 - 18:59h

Cara, amo Linux! Uso há cerca de 6 anos, mas vamos ser realistas, o que mais me afastava de Linux quando migrei do windows foi exatamente rede. O que é extremamente fácil lá, é extremamente difícil para novos usuários Linux!!! Mas vamo que vamo :)


Realmente. Acredito que também falta o marketing, para alcançar um maior número de usuários finais. Afinal de contas, quanto maior o número de usuários, maior é o número de desenvolvedores e outros especialistas trabalhando a usabilidade. Abraço Jeferson.

[29] Comentário enviado por alextelecom em 12/08/2016 - 19:37h

Agradeço desde ja esse artigo.
Obrigado

[30] Comentário enviado por AdilsonGomes em 28/04/2018 - 20:21h

Muito bom o artigo parabéns, meu esclareceu muito!!!
Obrigado!

[31] Comentário enviado por angelusinferni em 01/10/2020 - 20:25h

cara,muito obrigado mesmo,de coração,por este incrivel e detalhado tutorial!
eu passei a semana procurando o motivo do erro (13) no meu servidor samba e resolvi refazer toda a configuração,segui este tutorial e não recebo mais erros ! ! !

[32] Comentário enviado por Romariob em 15/05/2023 - 11:31h

Bom dia!
Muito bom o tutorial.
Fiz as configurações no meu samba e mesmo aplicando as permissões chmod 777 para a pasta, ainda não consigo criar direitos nem arquivos no compartilhamento por meio de um pc windows.
esse é meu arquivo smb.conf
[midia]
coment = xxx
path = media/Arquivos (HD secundário montado no /media)
writeable = yes
browseable = yes
guest ok = yes

eu uso: chmod -R 777 /media/Arquivos, tentei tbm chmod -R 0777. Não acusa erros, dando a impressão de que foi tudo correto, porém quando acesso a pasta compartilhada, não tenho permissão pra criar nem excluir.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts