sexta-feira, 31 de julho de 2015

Manual de Instalação e Configuração do Samba


O Samba é serviço servidor Linux que permite o compartilhamento de arquivos, pastas, impressoras e recursos em redes de computadores hibridas, ou seja, Linux, Windows, e dependendo do suporte até mesmo  Mac, Android, IOS e etc e pode também controlar acessos e restrições. Este serviço é muito utilizado para Fileservers, sistemas de Storage e como ferramenta auxiliar para desenvolvimento e operações que necessitam de um tipo específico de troca de informações.
.
Preparei um guia simples de instalação do serviço.

Para compilar o samba é necessário resolver algumas dependências do sistema


build-essential pkg-config libacl1 acl libacl1-dev libblkid-dev libblkid1 attr libattr1 libattr1-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb libpopt-dev libldap2-dev dnsutils libbsd-dev krb5-user docbook-xsl libcups2-dev libncurses-dev libpam0g-dev libdm0-dev libfam0 fam libfam-dev xsltproc libnss3-dev docbook-xsl-doc-html docbook-xsl-ns

A maioria das distros já vem com quase todos esses pacotes, mas vale dar uma conferida para que ele funcione certinho. Bom, vamos lá.

CentOS 7/Fedora/OpenSUSE
# sudo yum install samba samba-client samba-common

Debian
# sudo apt-get install samba smbclient

Ou caso você sinta a necessidade de compilar o samba a partir do source code também é muito simples:

Compilando o SAMBA
# cd /usr/src
# wget http://www.samba.org/samba/ftp/stable/samba-4.1.4.tar.gz
# tar -xzf samba-4.1.4.tar.gz
# cd samba-4.1.4
# ./configure && make && make install

Vamos criar uma pasta para compartilharmos.
#mkdir /mnt/teste
#chmod 777 /mnt/teste

Agora vamos editar as configurações do Samba. O arquivo principal é o smb.conf está localizado no diretório /etc/samba/

Editando o arquivo
# mv /etc/samba/smb.conf /etc/samba/smb.conf.backup
# nano /etc/samba/smb.conf

Cole esse conteúdo no arquivo e edite com as informações do seu servidor e grupo de trabalho.

#CONFIGURAÇÃO SAMBA

[global]
workgroup = GrupoDeTrabalho
netbios name = NOMEDOSERVIDOR
server string = nomedoservidor
map to guest = Bad User
interfaces = 192.168.0.102 //sua interface de rede
security = share
log file = /var/log/samba.log
log level=2
max log size = 10000
load printers = No
local master = No
domain master = No
dns proxy = No
idmap config * : backend = tdb
read list = ALL
write list = ALL
read only = No
hosts allow = ALL

#Auditoria de Arquivos
vfs objects = full_audit
full_audit:facility = LOCAL5
full_audit:priority = NOTICE
full_audit:prefix = %u|%I|%S
full_audit:success = rename rmdir unlink
full_audit:failure = none

#Compartilhamentos

[Teste]
path = /mnt/teste  // CAMINHO PARA O COMPARTILHAMENTO
guest ok = Yes // DEIXE "YES" PARA TORNAR PÚBLICO
vfs objects = recycle:keeptree=True // LIBERA A LIXEIRA NO SERVIDOR


Customize com suas configurações de nomes, IPs, domínios deixando exatamente assim:





 Agora vamos reiniciar o samba para completar as modificações:

# service samba restart


Agora por outro host, acesse o diretório que você criou

Para Windows
\\ip-do-servidor/Teste

ou no caso do Linux:

smb://ip-do-servidor/Teste


Se você configurou certinho o compartilhamento vai aparecer :)




Leia também: Hardening em servidores Samba

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

3 comentários:

  1. Ótimo artigo!
    Poderias fazer outro desses só que no ubuntu...

    ResponderExcluir
  2. muito bem explicado vou tentar fazer no ubuntu

    ResponderExcluir
  3. Ótimo Artigo, Parabéns! Como poderia fazer para ter num mesmo computador: a) pasta publica read-write; b) pasta publica read-only; c) pasta autenticada read-write ?

    ResponderExcluir

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com