Академический Документы
Профессиональный Документы
Культура Документы
x
Referencias: Documentaao e Manuais do SAMBA
Este manual dedicado a todos aqueles que buscam divulgar o Linux no Brasil e no mundo, a todos que trabalham por sua
documentaao (LDP e todos os outros), a todos os sites nacionais que trabalham para disponibilizar informaoes diversas, e
em especial aos que acreditam e se esforam para manter a proposta do GNU Linux.
O QUE O SAMBA?
O SAMBA uma aplicaao que utiliza o protocolo SMB (no Linux, os "server daemons" SMBD e NMBD) permitindo
compatibilidade com redes que utilizam este protocolo, principalmente redes NetBios da Microsoft.
ONDE CONSEGUIR O SAMBA?
As mais recentes distribuioes j trazem o SAMBA como padrao, mas seu download e atualizaoes estao disponvies em:
http://us4.samba.org/samba/download.html
VALE A PENA USAR O SAMBA?
Com o SAMBA possvel compartilhar diretrios, impressoras, acessar arquivos na rede exatamente como em redes
Microsoft. Mas neste caso, seu servidor um Linux rodando uma aplicaao especfica. O Windows NT e o 2000 (assim
como o NetWare 5 e outros presentes no mercado) sao reconhecidos mundialmente por sua segurana e escalabilidade,
mas o SAMBA possui muitas vantagens que podem se transformar em soluoes e economia para sua empresa. Confira:
- Permite compatibilidade com estaoes Windows (de WfW a 2000) e servidores WinNT 4.0 e 2000. Entre servidores e
estaoes Linux (com Interface Grfica por exemplo) a compatibilidade total.
- O SAMBA 100% configurvel, com a grande vantagem de centralizar esta configuraao em um nico arquivo, o smb.conf.
Sem dvida muito interessante ter a possibilidade de restaurar toda a configuraao que disponibiliza seu Servidor de
Arquivos (inclusive as permissoes de acesso) atravs do backup de apenas 1 arquivo, em casos de desastre. Porm isso
nao quer dizer que nao seja necessrio o backup de outros arquivos de configuraao... :)
- Todo o SAMBA pode ser configurado remotamente atravs de acesso seguro, alm do recebimento por email de
informaoes do estado do servidor (bastando utilizar um script especfico que busca informaoes nos arquivos de log e cria
um arquivo que pode ser enviado por email).
- Em se falando de economia nao h o que discutir: o Linux e o SAMBA estao disponveis para download na Internet sem
nus algum para qualquer usurio comum ou empresa que se interesse em utiliz-lo, sem custos com licensas ou
atualizaoes.
- O suporte est disponvel 24h por dia, o ano todo: alm do prprio site do SAMBA existem milhares de sites e listas de
discussao dedicadas ao assunto, entre outras documentaoes e artigos em sites de renome por Administradores e
Engenheiros de Redes Linux. Muita coisa j est em nosso idioma facilitando os iniciantes e interessados em leitura. Muitos
sites nacionais sao especializados em Linux e Segurana para Linux.
Se a sua empresa busca uma soluao estvel e segura para Servidor de Arquivos da rede, o SAMBA uma grande opao.
INSTALAO
Se a distribuiao que deseja utilizar j traz o SAMBA, a instalaao nao necessria. Se deseja atualiz-lo ou iniciar a
instalaao, siga os passos abaixo:
Para instalar o SAMBA necessrio antes saber se o pacote est no formato RPM ou .tar (.tgz ou .tar.gz). Se o pacote for
um RPM, execute o comando abaixo:
rpm -ivh samba-2.0.x-i386.rpm [ENTER]
Substituindo o "x" pelo nmero relativo a versao do pacote ou o nome correto do pacote dependendo da sua distribuiao.
Para atualizar o SAMBA atual, substitua a sintaxe -ivh por -Uvh.
Se o pacote veio no formato tar.gz, execute o comando abaixo:
tar -zxvf samba-2.0.x-i386.tar.gz [ENTER]
Um diretrio ser criado com o nome samba-2.0.x. Entre neste diretrio e em seguida no subdiretrio source. Para iniciar a
instalaao digite:
./configure [ENTER]
Em seguida digite:
make [ENTER]
Os binrios do SAMBA serao criados. Quando terminar digite:
make install [ENTER]
Agora os binrios e pginas do man serao instalados. Aguarde o processo e quando terminar confira o diretrio
/usr/doc/samba-2.0.x/docs para informaoes sobre o SAMBA.
CONFIGURAO
Toda a configuraao do SAMBA centralizada no arquivo smb.conf, que deve ser guardado no diretrio /etc. Nele que sao
descritos os compartilhamentos, permissoes de acesso, impressoras, dentre outras configuraoes disponveis. Quando
instalado, o SAMBA disponibiliza os seguintes componentes:
testparm -> Verifica o arquivo smb.conf (configuraao do SAMBA).
public = no
browseable = yes
writeable = yes
write list = @diretoria
force create mode = 0777
force directory mode = 0777
[comercial]
comment = Grupo Comercial
path = /home/comercial
public = yes
browseable = yes
writeable = yes
write list = @comercial
read list = @marketing
force create mode = 0777
force directory mode = 0777
[transf]
comment = Area de Transferencia
path = /home/transf
public = yes
browseable = yes
writeable = yes
write list = @todos
force create mode = 0777
force directory mode = 0775
max disk size = 200
[oculto$]
comment = Especifico do Admin
path = /home/admin/oculto
copy = homes
max connections = 1
A seao [global] define as configuraoes globais do SAMBA. A tabela abaixo apresenta a explicaao dos parmetros do
exemplo:
Parmetros
Funoes
comment
workgroup
security
Por padrao o SAMBA utiliza a segurana a nvel de usurio (security = user), mas existem
outras opoes:
security = share -> Senhas de acesso serao solicitadas por cada recurso compartilhado e
nao por usurio, ou seja, cada diretrio ou impressora poder ter uma senha nica
conhecida pelos usurios autorizados.
security = user -> As permissoes sao dadas de acordo com o login do usurio, ou atravs
dos grupos (@grupo).
security = server -> O SAMBA tentar validara senha do usurio enviando os dados para
outro servidor SMB, como outro servidor SAMBA ou um servidor Windows. Deve-se incluir
o parmetro .password server = x.x.x.x. na seao [global] do smb.conf.
security = domain -> Usado se o Host for adicionado a um Domnio Windows atravs do
comando smbpasswd. Neste caso as informaoes de usurio e senha serao enviadas para
o PDC da rede, exatamente como o servidor NT faria. Note que necessrio que a conta
do usurio exista tanto no Linux quanto no servidor primrio.
os level
Este parmetro nao obrigatrio se voce nao possui um servidor Windows na rede, mas
deve ser usado caso tenha um ou mais. A varivel um nmero de 1 a 255, onde 65 a
mesma varivel utilizada pelo servidor Windows. Especifique um nmero maior que este
(como 100 por exemplo) para garantir que o servidor SAMBA seja eleito na escolha de
validaao do login das estaoes.
announce as
Permite especificar o tipo de servidor NetBios (nmbd) que ser divulgado na rede. As
opoes aceitas pelo SAMBA: "NT Server", "NT Workstation", "Win95" ou "WfW".
domain logons
Logon script
Indica qual arquivo de logon script ser executado para os usurios. A varivel %u
corresponde ao usurio na rede. Deve tambm ser criado um compartilhamento de nome
[netlogon] apontando para o diretrio dos scripts.
Logon path
domain master
local master
preferred master
Este parmetro fora a eleiao do SAMBA como Master Browser para o workgroup.
recomendvel utilizar este parmetro em conjunto com o .domain master = yes. para
garantir a eleiao. Mas tome cuidado: se voce possui uma rede com servidores Windows e
SAMBA e j possui um servidor como Domain Master, nao use esta opao e deixe o
parmetro .os level = 65. para haver equilbrio.
Guest account
O SAMBA trabalha melhor em redes Microsoft com a existencia de uma conta guest
(visitante em ingles). Por padrao a conta usada .nobody..
wins server
Indica qual o servidor de Wins da rede. Se o prprio Host for o servidor de Wins entao nao
utilize este parmetro, pois haver um loop e o sistema travar!
wins support
Permite ao SAMBA ser o servidor de Wins na rede. Isto significa que o SAMBA ter uma
tabela com o ambiente completo da rede, garantindo que as estaoes tenham acesso a
estas informaoes e ganho em velocidade para encontrar e acessar os compartilhamentos
e impressoras. O Wins Server deve ser especificado na configuraao de rede (TCP/IP) das
estaoes, que o endereo IP do servidor.
keep alive
Como mquinas rodando Windows tendem a travar de tempos em tempos, este parmetro
usado para verificar o estado da conexao, evitando trfego desnecessrio na rede.
Tambm pode ser usado para estaoes Linux.
debug level
winpopup command
log file
null passwords
Indica se ser ou nao possvel que usurios tenham senha nula de logon (logon sem
senha).
Se este parmetro for ativado (= yes) entao clientes SMB (como estaoes Windows)
poderao trocar sua senha de login.
socket options
Este parmetro permite configuraoes extras para o protocolo, possibilitando uma melhor
printcap name
load printers
hosts allow
Indica quais mquinas tem acesso ao servidor SAMBA. Pode-se utilizar o endereo IP ou
o nome da mquina. Para garantir acesso a toda uma rede por exemplo, escreva: "hosts
allow = 192.168.1.".
hosts deny
A seao [homes] define os parmetros para as pastas pessoais dos usurios na rede (home dir):
Parmetros
Funes
comment
public
Tambm conhecido como .guest ok., permite ou nao acesso de outros usurios.
browseable
writeable
Indica se o usurio poder ou nao ecrever em sua pasta pessoal (home dir).
As demais seoes correspondem a compartilhamentos presentes na rede. Os parmtros abaixo sao apenas alguns dos
possveis:
Parmetros
Funes
comment
path
writeable
public / guest ok
browseable
write list
Define os usurios e/ou grupos com acesso de escrita no compartilhamento. Para mais de
um usurio, separe os nomes por vrgula (user1, user2, etc) e para grupos utilize @ antes
do nome do grupo.
read list
Como em .write list., mas define quem ter permissao de apenas leitura.
Diz ao SAMBA para forar o tipo de permissao dos arquivos criados (o mesmo que usar o
chmod). Esta permissao tem menor prioridade que os parmetros .write list. e .read list..
O mesmo que .force create mode., mas para os diretrios criados no compartilhamento.
admin users
copy
Permite copiar os parmetros de outra seao, como um template por exemplo, til se
utiliza compartilhamentos semelhantes. Para alterar parmetros basta inform-los na
seao atual.
hosts allow
ou o nome da mquina. Para garantir acesso a toda uma rede classe C por exemplo,
escreva: "hosts allow = 192.168.1.".
hosts deny
max connections
Permite especificar qual o limite de espao em disco que o compartilhamento pode utilizar.
Este valor definido em Mb (megabytes).
Funes
%S
%u
Nome do usurio.
%g
Nome do grupo.
%H
%m
%L
Nome do servidor NetBios, permitindo que a configuraao desejada seja alterada de acordo com o
cliente que vai acessar o sistema.
%M
%a
%I
%T
Data e horrio.
Agora que o smb.conf est configurado faa um teste para saber se est tudo certo, com o comando testparm:
testparm > teste_config_samba [ENTER] [enter novamente]
Ser criado o arquivo teste_config_samba. Confira este arquivo e caso exista alguma mensagem de erro (ERROR...) volte e
corrija o problema. Acertadas as configuraoes, deve-se ativar o SAMBA:
/etc/rc.d/init.d/smb start [ENTER]
Se quiser conferir se o SAMBA est realmente no ar, execute o comando acima mas substitua o "start" por "status".
Para que o SAMBA seja iniciado sempre aps a inicializaao do servidor, execute o ntsysv [nota do editor: caso sua
distribuio de Linux no use o ntsysv, utilize o mtodo descrito no manual especfico da mesma] e marque o SMB. Voce
tambm pode escrever a linha de "start" do smb no arquivo /etc/rc.d/rc.local, da seguinte forma:
1. De um vi no rc.local (#vi /etc/rc.d/rc.local [ENTER]).
2. Tecle "i" para editar e v at o final do arquivo (Page Down).
3. Escreva a seguinte linha: /etc/rc.d/init.d/./smb start
4. Tecle "Esc" e em seguida ":" e depois "wq" [ENTER].
A partir de agora, sempre que o computador for reiniciado o SAMBA ser ativado automaticamente.
ACESSANDO SERVIDORES ATRAVS DO LINUX
O smbclient
Da mesma forma que o SAMBA permite que o Linux atue como servidor em redes Microsoft, ele tambm permite atuar como
estaao, sem que nenhuma configuraao seja necessria no servidor Microsoft.
Com o smbclient possvel acessar dados em um servidor Windows (lembra o comando net da Microsoft, mas os comandos
utilizados sao similares aos de FTP). Ele pode ser usado para receber e enviar arquivos, listar diretrios, navegar pelos
diretrios, renomear e apagar arquivos, entre outros. Diretrios compartilhados por um servidor SAMBA sao acessados da
mesma forma.
Para verificar quais compartilhamentos estao disponveis em um determinado Host, execute:
/usr/sbin/smbclient -L host_desejado [ENTER]
A resposta ser uma lista de servios, ou seja, nomes de dispositivos ou impressoras que podem ser compartilhados com os
usurios na rede. A menos que o servidor SMB nao tenha itens de segurana configurados, ser solicitada uma senha antes
de mostrar as informaoes. Exemplo:
smbclient -L servidor1 [ENTER]
Se sua rede j possui um servidor PDC (WindowsNT) e voce deseja adicionar um servidor SAMBA, necessrio antes de
tudo configurar o SAMBA: nao utilizar o parmetro "domain master" e "domain logons" (conforme o caso) e tambm manter
o parmetro "os level" igual ou inferior a 65.
O nome NetBios do servidor SAMBA deve tambm ser adicionado ao PDC do Domnio NT (atravs do Gerenciador de
Servidores para Domnios). Assim, uma conta ser criada para o SAMBA no PDC.
Como exemplo, vamos citar um servidor SAMBA como o nome NetBios "Samba" e o Domnio chamado "EMPRESA". O
PDC ter o nome "File_Server" e existem tambm 2 controladores de backup com os nomes "Backup1" e "Backup2".
Para juntar-se ao Domnio, o servidor SAMBA deve executar o comando abaixo:
smbpasswd -j EMPRESA -r File_Server [ENTER]
Se o comando foi bem sucedido, aparecer a mensagem:
smbpasswd: Joined domain EMPRESA
Se algo deu errado, confira o nome NetBios dos servidores, se o SAMBA est ativado, os parmetros do smb.conf e tente
novamente.
O comando acima ativa o protocolo de mudana de senhas, gerando um nova conta aleatria para o servidor SAMBA,
normalmente guardada em: /usr/local/samba/private.
O nome do arquivo ser semelhante a: EMPRESA.Samba.mac
Em seguida, edite o smb.conf e inclua os seguintes parmetros na seao [global]:
security = domain # Pois agora o SAMBA pertence a um Domnio
# existente.
workgroup = EMPRESA #Este o Domnio utilizado.
encrypt passwords = yes # Para logon encriptado.
password server = File_Server Backup1 Backup2 # Autenticaao no
# domnio.
Reinicialize o SAMBA para validar as mudanas.
ADICIONANDO USURIOS NT AO DOMNIO SAMBA
Se voce possui um PDC SAMBA e estaoes Windows NT Workstation (utilizando senha encriptada), deve seguir o
modelo abaixo para criar contas especficas para estas estaoes.
Em primeiro lugar, crie o arquivo smbpasswd (se ele nao existir) conforme abaixo e de a permissao apropriada:
touch
/usr/local/samba/private/smbpasswd
[ENTER]
chmod go-rwx /usr/local/samba/private/smbpasswd [ENTER]
interessante destacar que dependendo da distribuiao este arquivo pode estar no diretrio /etc como link (ou nao)
para seu diretrio original, guardando muitas vezes a configuraao sem nada escrever em
/usr/local/samba/private/smbpasswd. Confira a localizaao correta do arquivo e s entao siga em frente.
Agora adicione a conta NT, onde o exemplo abaixo utiliza o nome de usurio "teste" e o grupo "estacoes" (que deve
ser criado manualmente com o comando groupadd), que nao contm password, shell ou diretrio home. Perceba
que o $ foi adicioando ao final do nome:
adduser -g estacoes -c NTWorkstation -d /dev/null -s /bin/false -n teste$ [ENTER]
Importante: quem utiliza FreeBSD, nao deve adicionar o $ no final do nome da conta pois o adduser deste sistema
nao aceita tal caracter. Utilize o vipw ou outro similar para adicionar manualmente no arquivo /etc/passwd. [Nota do
editor: para evitar riscos, coloque o teste$ entre aspas simples, assim: 'teste$' - tanto em FreeBSD como
emqualquer outro SO]
Adicione agora a conta ao smbpasswd, digitando:
smbpasswd -a -m teste$ [ENTER]
Para que a estaao NTWorkstation possa agora participar do Domnio, v at o Painel de Controle do NT e selecione
Network -> Identification Tag. Pea para mudar o Domnio para o especificado no smb.conf (workgroup = ...). Nao
marque a opao "Create a Computer Account in teh Domain" pois nao funciona! Pressione OK e aps alguns
segundos a mensagem "Welcome to Whatever Domain" aparecer na tela. Reboot e o logon estar disponvel.
EXEMPLO DE SCRIPT PARA ESTAES WINDOWS95/98 E NT
O login script (ou logon script) uma ferramenta muito til para disponibilizar recursos na rede. O script abaixo
um exemplo que pode usado em redes com estaoes Windows95/98 e NTWorkstations. Lembre-se de que deve sre
criado com o notepad (por exemplo) em uma estaao Windows para que funcione corretamente! (Confira a seao
[global] no incio do documento para saber mais sobre o logon script). Note que a sintaxe do comando net
diferente para sistemas 95/98 e NT.
rem Logon script padrao para a rede.
net time \\servidor1 /set /yes
@echo off
if %OS%.==Windows_NT. goto WinNT
:Win95
net use X: \\servidor1\pasta_01
net use Z: /HOME
goto end
:WinNT
net use X: \\servidor1\pasta_01 /persistent:no
Se o SAMBA deve diferenciar maisculas e minsculas quando procurando por arquivos, adicione "case sensitive =
no". Para utilizar como padrao letras maisculas ou minsculas quando os arquivos sao criados, adicione "default
case = lower". Para preservar maisculas e minsculas para todos os nomes de arquivo, adicione "preserve case =
yes". Para preservar maisculas e minsculas para nomes DOS (8.3), adicione "short preserve case = no".
Se o servidor possui mais de uma placa de rede, o smb.conf deve conter uma especificaao para qual placa(s) ser
utilizada. Adicione o seguinte parmetro: "interfaces = 192.168.1.1/24", onde o nmero depois da / uma referencia
a mscara de sub-rede. "24" o valor a usar para uma rede Classe C nao segmentada. Para mais informaoes sobre
clculo de sub-redes visite:
http://www.ziplink.net/~ralphb/IPSubnet/index.html
Lembre-se que a documentaao do SAMBA (do protocolo SMB em geral) extensa. Consulte os docs criados aps
a sua instalaao. Voce pode tambm obter referencias em documentaoes do LDP (Linux Documentation Project),
que no Brasil est em: [4]http://ldp-br.conectiva.com.br/.
Se voce encontrou algum erro neste manual, tem alguma sugestao, dica ou crtica a fazer, por favor, entre em
contato atravs do meu email: vffz@hotmail.com
Sou atualmente administrador de redes Linux, com enfase em aplicaao e segurana.
EOF