Instalação do servidor Samba

Novembro 2016


Instalação e configuração de um servidor Samba versão 3.0.2a   
Linux Mandrake versão 10.0


Pré-requisito


Instalação da distribuição Mandrake 10.0 (Servidor)
Ter um domínio.

Introdução


O servidor Samba é a ferramenta ideal para instalar uma rede LAN (Local Area Network) funcionando com o protocolo SMB (Server Message Block). Assim, é possível misturar, de maneira eficaz, numa mesma rede, estações Linux e PC Windows graças ao conhecimento deste software servidor.

Sua utilidade: SAMBA é um sistema de partilha de arquivos e de impressoras entre estações Unix e Windows de forma clara e estável.

1.A arquitetura do Samba


Samba constitui-se de um servidor e de um cliente, assim como algumas ferramentas que realizarão serviços práticos ou testarão a configuração.

O servidor constitui-se de dois aplicativos (chamados demônios):

Smbd - núcleo do servidor, oferece serviços de autenticação e de acesso aos recursos

Nmbd - mostra os serviços oferecidos pelo Samba (exibição dos servidores Samba na rede da vizinhança, ...)

O cliente: smbclient é um cliente para linux, proporciona uma interface que transfere arquivos e possibilita o acesso às impressoras
smbtar: faz transferências de ou para um arquivo TAR no linux
testparm : verifica a sintaxe do arquivo smb.conf, o arquivo de configuração do Samba

O protocolo de comunicação que permite esta comunicação entre o Windows e o Linux se chama SMB (Server Message Block). Desenvolvido pela Microsoft em 1987, utilizando um conceito desenvolvido pela IBM em 1985 (NetBIOS), este protocolo baseia-se no NetBEUI (assim como o TCP/IP). O interesse do TCP/IP vem do fato que ele foi amplamente adotado. Portanto, o TCP/IP já está implementado na maioria dos sistemas operacionais (Unix, Linux, AmigaOS, MacOS, OS/2, etc) conforme o seguinte esquema :

Aplicação   
SMB   
NetBios   
TCP/IP   
NetBeui   
IPX/SPX   
Drivers de redes

2.Instalação dos pacotes necessários ao servidor samba


Antes de tudo, certifique-se de que os pacotes necessários estão instalados se não, instale-os digitando mcc (Centro de Controle Mandrake) em linha de comando no terminal, identificando-se como "roteador" (digitar su e a senha do root), ir no Gerenciador de softwares , em "instalar", selecionar os três seguintes pacotes (em todos os pacotes, classificação alfabética) :

samba-client-3.0.2a-3mdk   
samba-common-3.0.2a-3mdk   
samba-server-3.0.2a-3mdk   


E, clique em Instalar.

Primeiro arranque do Samba


Depois da instalação, o servidor do Samba, normalmente, deverá estar apto a ser iniciado (sem nenhuma partilha de arquivos ou de impressora), executando o seguinte comando:
/etc/rc.d/init.d/smb start
Starting SMB services: [OK]
Starting NMB services: [OK]

O seguinte comando verifica se os dois demônios foram executados corretamente
/etc/rc.d/init.d/smb status (ou serviço smb status)

smbd (pid 1054) is running...   
nmbd (pid 1056) is running...

Comandos úteis


(a partir do terminal em root)
  • testparm /etc/samba/smb.conf
    • Teste de sintaxe de escrita do arquivo smb.conf
  • /etc/rc.d/init.d/smb stop
    • Para os serviços do Samba
  • /etc/rc.d/init.d/smb start
    • Inicie o servidor Samba
  • /etc/rc.d/init.d/smb restart
    • Reinicialização do Samba
  • /smbstatus
    • Exibe as conexões ativas através do Samba

3.Configuração do arquivo smb.conf


A configuração do Samba é feita através de um arquivo de configuração único: smb.conf. Este arquivo está localizado no diretório /etc/samba/

Observação : toda mudança do arquivo smb.conf feita com um editor de textos, deve ser salva e, a seguir, digitar em linha de comando : /etc/rc.d/init.d/smb restart (para reinicializar o servidor samba e, também, validar as mudanças do arquivo smb.conf)

Este arquivo descreve os recursos que queremos compartilhar, assim como as permissiões/restrições associadas. O arquivo smb.conf é dividido de acordo com as rubricas (cada uma referenciada por uma linha contendo o nome da seção , entre parênteses) compreendendo, cada uma, um conjunto de linhas de configurações do tipo atributo = valor. Uma linha começando por um # é uma linha de comentários e, uma linha começando por ";" é inativa.

Existem 3 seções principais :
  • A seção [global]
    • define as configurações gerais no servidor
  • A secção [homes]
    • define a partilha de um diretório pessoal
  • A secção [printers]
    • define as impressoras partilhadas pelo servidor

Seção "global"


Veja o exemplo (o exemplo é o da rede R2D4) da seção [global] :
[global]

# mesmo nome do grupo que no Windows (Rede de vizinhança)
workgroup = MSHOME

# nome com o qual o servidor aparecerá na rede de vizinhança
netbios = samba server

# o que aparece na rubrica "detalhe da rede de vizinhança", %v feito
# aparece o n° da versão do samba
server string = Samba Server %v

# as senhas transitam codificadas
encrypt passwords = Yes
smb passwd file = /etc/samba/smbpasswd

# locais de armazenamento do jornal de acontecimentos
log file = /var/log/samba/log.%m

# tamanho máximo do jornal
max log size = 50

# nenhuma conta de hóspede (facultativo)
guest account = nobody

# acesso multi-usuário (facultativo)
Share modes = yes

# localização do arquivo printcap (impressoras no servidor Linux)
printcap = /etc/printcap

# partilha de todas as impressoras definidas no printcap
printcap name = cups
load printers = yes
printing = cups
printer adm = @ adm

# arquivo jornal do Samba
log level = 1
log file = /var/log/samba/log.%m

# modo de segurança : (user / share / server)
security = user

# Autorizar o acesso a certas redes (o ponto final é importante)
hosts allow = 192.168.1.

# Você pode autorizar todas as máquinas desta rede exceto 192.168.1.10
hosts allow = 192.168.1. EXCEPT 192.168.1.10

# Por os endereços IP das máquinas que você quiser proibir o acesso
# ao servidor samba, por exemplo : ALL, para proibir todo mundo, exceto as
# máquinas autorizadas pelo <hosts allow>.
Hosts deny = ALL

# nenhum proxy dns
dns proxy = No

# Deixar os campos por padrão
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# ative a função do servidor de tempo
time server = yes

# o script de conexão leva o nome do grupo, %g é a variável samba para o
# grupo primário
logon script = %g.bat

# autoriza a conexão dos usuários no domínio
domain logons = yes

# se quisermos que o servidor seja o mestre do domínio
domain master = yes

# no caso da presença de múltiplos controladores de domínio, é o
# servidor que é o favorito
preferred master = yes

# Em caso de servidor mestre, pode ganhar a eleição contra outras máquinas
# windows
os level = 255
# damos acesso ao diretório netlogon que contém os scripts de arranque
[netlogon]

#caminho de acesso do diretório
path = /home/netlogon

# apenas os usuários especificados podem utilizar este diretório
public = no

# não é possível escrever neste diretório
writable = no

# o diretório não aparece na árvore
browseable = no

#lista dos usuários tendo direitos de roteador neste diretório, aqui, o formador
admin users = guillaume

Seção "homes"


Partilha de diretório pessoal
A seção [homes] define o acesso ao diretório pessoal de cada usuário. Veja um exemplo de seção:

[HOMES]
# comentário visível a partir da rede de vizinhança
comment = Home Directories

# exibição do recurso para todos
browseable = no

# possibilidade de escrever no recurso
writable = yes

Seção "documentos"


Compartilhar um diretório qualquer

É possível definir um acesso personalizado a qualquer diretório da máquina, criando uma seção com o nome que queremos dar ao recurso. Este conterá, entre outras coisas, um parâmetro path dando o caminho de acesso ao recurso.
Este diretório será consultável, em leitura e em escrita, na estação station Windows após identificação do usuário (login).
Veja um exemplo de seção personalizada:

[DOCUMENTOS]
# comentário visível a partir da rede de vizinhança
comment = /home/Diretório_qualquer

# caminho de acesso ao recurso
# Cuidado com o tamanho da fonte !!
path = /home/ Diretório _ qualquer

# exibição do recurso para todos
browseable = no
guest ok = yes

# por os nomes dos usuários que serão confirmados, o procedimento para
# inserí-los será explicado posteriormente
valid users = nomes_usuários

# caminho de acesso ao recurso
#já que os usuários inseridos poderão ter acesso, basta colocar no
public = no

# usuários com direitos de roteador neste diretório
admin users = nomes_ usuários

# possibilidade de escrever no recurso
writable = yes

Seção "cdrom"


Partilhar um leitor de CD-ROM

É possível compartilhar um leitor de CD-ROM (que deve ser montado previamente) , criando por exemplo uma seção [cd-rom] como a seguir:

[CD-ROM]
# comentário visível a partir da rede de vizinhança
comment = leitor de CD-ROM

# caminho de acesso ao leitor
path = /mnt/cdrom

# acessível a todos
public = yes

# impossibilidade de escrever no recurso
writable = no

create mask = 0750

4. Acessar a um recurso Samba no linux


O cliente Samba (smbclient) fornece uma interface em linha de comando para acessar aos recursos Samba a partir de uma máquina do tipo Unix.
smbclient, em primeiro lugar, verifica a existência de um servidor Samba na rede e estabelece uma lista dos recursos com os quais ele compartilha, graças ao comando :
smbclient nome_servidor_smb
Após a identificação dos recursos, pode-se acessar cada um deles através do comando:
smbclient \\\nome_servidor_smb\\recurso -U nome_usuário
Uma senha será pedida ao usuário. Basta, então, enviar comandos FTP a fim de enviar/receber arquivos ou de percorrer os diretórios do recurso.
O acesso a uma impressoras é feito através do comando
smbclient \\\nome_servidor_smb\\recurso -P
a impressão do arquivo /usr/local/samba/lib/etc.conf é faita através do comando:
print /usr/local/samba/lib/etc.conf
para visualizar a fila de impressão:
fila
parada do smbclient:
exit (sair)
Observação : Para acessar a rede de vizinhança no Linux, abrir Konqueror e digitar na barra do URL : smb:/

5.Criação dos usuários Samba e acesso às contas destes usuários


Criar um usuário na máquina servidor Samba no Linux Mandrake versão 10 (servidor) :

Graficamente


Em linha de comando, digitar mcc se identificando como roteador (ou passar pelo menu "configure your computer") ; aí estamos nós no Centro de Controle Mandrake . Ir em "sistema" > "Usuários e grupos" e, finalmente, em "acrescentar usuário".

Em linha de comando, digitar


adduser Nome_ Usuário

A seguir, entrar a senha do usuário no arquivo smbpasswd no diretório /etc/samba da seguinte maneira (em linha de comando):
smbpasswd -a Nome- Usuário

Resposta :
New SMB password : Dar a mesma senha que no acréscimo de usuário
Retype new SMB password : idem

Criar o mesmo usuário com a mesma senha na máquina Windows (Cliente) :

Ir em "painel de controle" e, na conta do usuário, para criar um usuário com os direitos de "administrador".

Repita a operação anterior toda vez que criar um usuário.

Observação: Em caso de usuário já existente na máquina Windows, recriá-lo apenas no servidor Linux e, principalmente não renomear um usuário, ou ele já existe ou é preciso criá-lo. A cada criação de usuário no windows, reinicialize a máquina.

6.Compartilhando diretórios


Existe a partilha do diretóio pessoal que exibe os diretórios de acordo com o usuário identificado e tem a partilha de um diretório comum.
Atenção, se compartilhamos um diretório que não se encontra na árvore "Home", qualquer acesso será recusado assim, o diretório "Home" ou um de seus subdiretórios deve conter este diretóio comum para otimizar a utilização do mesmo.

7.As mensagens de erro


As mensagens de erro do seguinte tipo podem vir de :

Problemas : Rede não encontrada (no Windows)
ou ainda :
Internal Error
Please send a full bug at http://kde.org
Unknown error condition in stat : Network is unreahable (no Linux)

Este tipo de erro significa que você não está conectado a nenhuma rede, conexão, cabos de rede. Verificar a configuração da rede e o arquivo /etc/samba/smb.conf.

Se o alerta de erro:
"Impossível conectar-se ao servidor samba" aparecer, verificar a configuração do arquivo /etc/samba/smb.conf.
O servidor Samba aparece no meio do domínio, mas exibe a mensagem de erro gerada, ao clicarmos nele. Neste caso, verificar o caminho do diretório de partilha "qualquer" ou "pessoal" no arquivo smb.conf.

Artigo original publicado por urba59

Tradução feita por Lucia Maurity y Nouira

Veja também :
Este documento, intitulado « Instalação do servidor Samba »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.