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). Pode-se, então, 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 est 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):
1) Smbd - núcleo do servidor, oferecendo serviços de autenticação e de acesso aos recursos
2) 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 proporcionando uma interface que transfere arquivos e possibilitando o acesso às impressoras
smbtar: fazendo transferências de ou para um arquivo TAR no linux
testparm : verificando a sintaxe do arquivo smb.conf, o arquivo de configuração do Samba
O protocolo de comunicação que permite a comunicação entre Windows e 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, certificar-se de que os pacotes necessários estão instalados se não, instalá-los digitando mcc (Centro de Controle Mandrake) em linha de comando no terminal, identificando-se como « root » (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, clicar em Instalar.
Primeiro arranque do Samba
Após a 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...
Os 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
- /etc/rc.d/init.d/smb start
- /etc/rc.d/init.d/smb restart
- /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 único: smb.conf. Este arquivo está localizado no diretório /etc/samba/
Observação : toda mudança do arquivo smb.conf feita com a ajuda de 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 n o servidor
- A secção [homes]
- define a partilha de um diretório pessoal
- A secção [printers]
- define as impressoras divididas pelo servidor
Secção "global"
Veja o exemplo (o exemplo é o da rede R2D4) da secçã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 journal
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 journal 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 mun do exceto as
# máquinas autorizadas pelo <hosts allow>.
Hosts deny = ALL
# nenhum proxy dns
dns proxy = No
# Deixar os campos 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 root neste diretório, aqui, o formador
admin users = guillaume
Secção "homes"
Partilha do repertório pessoal
A secção [homes] define o acesso ao diretóo pessoal de cada usuário. Veja um exemplo de secçã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
Secção "documentos"
Compartilhar um dirtóio qualquer
É possível definir um acesso personalizado a qualquer diretório da máquina, criando uma secção com o nome do 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 secçã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 !!
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 processo 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 root neste diretório
admin users = nomes_ usuários
# possibilidade de escrever no recurso
writable = yes
Secçã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 secçã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 escritura 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 impressora s é 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.Ciaçã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 root (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 estação.
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.Os alertas de erro
Alertas 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, afixa o alerta 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