Vous êtes sur la page 1sur 62

Capítulo 3 – SAMBA

Introdução
Uma das utilizações mais interessantes no servidor Linux é a de poder compartilhar arquivos com outros
S.O. (Sistemas Operacionais), o software mais utilizado para esta finalidade é o SAMBA, este pacote foi
desenvolvido por Andrew Tridgell e esta solução é distribuída livremente e sem ônus.
O SAMBA utiliza os protocolos de rede SMB (Server Message Block) para poder se comunicar com outros
S.Os., estes protocolos são nativos do Windows 95/98/NT e OS2, permitem que uma máquina Linux atue
como servidor ou estação de trabalho em redes mistas. O SMB pode também ser utilizado sobre outros
protocolos de transporte como por exemplo IPX e NetBEUI.

A escalabilidade do SAMBA é muito boa, empresas então usando com mais de 500 clientes e obtendo uma
performance excelente.

Cada cliente SAMBA ocupa cerca de 600 a 800K de memória no servidor dependendo do tipo
de utilização, use este parâmetro para cálculo da memória do seu servidor.

Desta forma, ele vem substituindo os servidores Windows, OS2, Netware e Unix, devido a sua estabilidade
e a necessidade de pouco em termos de hardware.
Outra grande vantagem é ser licenciado pelo GPL, de livre distribuição, sem limite de usuários ou custos
por licença. Tecnicamente também há ganhos em performance e segurança de dados.

O SAMBA vem sendo utilizado em empresas, para a substituição de antigos servidores, a um custo muito
baixo e sem necessidade de trocas de hardware nos servidores como em estações de trabalho.

Com o SAMBA , poderá se compartilhar todos os recursos de hardware, bem como acesso compartilhado
de arquivos e diretórios da rede com a máxima segurança, pois o serviço também dispõe de acesso através
de senhas individuais.

Instalação
SAMBA para os usuários do Conectiva Linux já está instalado na configuração de instalação, mas se
utilizar outra distribuição do Linux verifique no manual desta ou acesse o site através do endereço :

http://www.samba.org

No site poderão encontrar todas as informações sobre o SAMBA e inclusive arquivos binários para a
instalação.

Para verificar se o SAMBA já está instalado, utilize o comando abaixo.

rpm –qa| grep samba

Caso não esteja instalado , verifique mais detalhes com o distribuidor da sua versão do Linux.
Caso queira integrar SAMBA com o Windows 2000 , necessita ser instalada a versão do
SAMBA 2.0.7 ou posterior.

Estrutura do SAMBA

O SAMBA é divido em duas partes :


- arquivo de configuração smb.conf
- serviços SMBD e NMBD

O arquivo smb.conf está localizado no diretório /etc , sendo responsável por todo a configuração nos
acessos aos diretórios, arquivos e impressão. Dentro do arquivo smb.conf existem algumas subdivisões, que
devem ser respeitadas para uma correta configuração.

O processo SMBD verifica a porta 139 e replica-se a cada solicitação do cliente na realização de tarefas de
impressão e compartilhamento de arquivos.
O processo NMBD recebe todo o tráfego da porta UDP/137 e UDP/138 para os serviços de nomes,
registros e browsing.

O protocolo SMB está estruturado conforme a figura abaixo.

Aplicação
SMB
NetBIOS IPX/SPX
TCP/IP NetBEUI

PPP, 802.x

Token Ring, Ethernet, FDDI, ...

Há três tipos de pacotes utilizados no protocolo SMB sobre o TCP/IP :


- UDP/137 (resolução de nome e registros de tráfego);
- UDP/138 (browsing e anúncio de tráfego);
- UDP/139 (compartilhamento de arquivos)

Estrutura de diretórios (Servidor advlinux.com.br)

Iremos abordar as configurações necessárias no servidor como nas estações de trabalho. A estrutura de
diretórios e arquivos que iremos utilizar é a implementada no capítulo 2 deste livro e está estruturada
conforme a figura abaixo.
As estruturas destes diretórios
deverão ser criadas caso não existam,
de forma que os usuários possam
acessar os arquivos e aplicações.

Arquivo SMB.CONF
Abaixo colocamos um exemplo do arquivo smb.conf, o qual iremos utilizar para a instalação dos
aplicativos e compartilhamentos dos arquivos departamentais e pessoais.

# Samba config file created using SWAT


# from pc1000 (192.168.1.2)
# Date: 1999/12/17 23:14:15

# Global parameters
[global]
# Nome do Servidor atribuido no NetBios
netbios name = LINUX
# Num. IP da Interface do Servidor
interfaces = 192.168.1.100/255.255.255.0
# Nome do Servidor SAMBA
server string = LINUX %v %h
# Utiliza senha criptografadas
# Especial atenção a este item pois é default no
Win95b , Win95c, WinNT4 SP3 ou posterior, Win98Me, Win98SE, WIndows 2000
encrypt passwords = yes
# Arquivo onde as senhas do SAMBA irão ser gravadas
smb passwd file = /etc/smbpasswd
# Informa que o update da senha está criptografado
update encrypted = yes
# Aceita senha vazia
null passwords = yes
# Arquivo de logs do SAMBA
log file = /var/log/samba/log.%m
# Tamanho máximo do arquivo de log em Kilobytes
# Caso o arquivo ultrapasse este tamanho, os dados mais
antigos ser descartados
max log size = 50
# Maquinas que utilizando o windows tendem a travar de tempos em tempos.
# Este parametro e' utilizado para verificar o estado da conexao.
keepalive = 20
# Esta opçao incrementa o velocidade de acesso
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# Arquivos onde se encontram as definiçoes das impressoras
printcap name = /etc/printcap
# O nivel de eleiçao do servidor de dominio. Default e' 20
os level = 20
# Nao utiliza DNS com servidor proxy
dns proxy = No
# Suporte para utilizar servidores WINS
wins support = no
hosts allow = 192.168.1. 192.168.2. 127.
# Impressao através de BSD
printing = bsd
# Diretorio onde esta localizado o controle de lock
lock directory = /var/lock/samba
# Aceita travar (lock) de arquivo
locking = yes
# Modo compartilhado de arquivos
share modes = yes
# Autenticacao no
security = user
short preserve case = yes
# Preserva o nome dos arquivos
preserve case = yes
# Sincroniza a senha com o LINUX
unix password sync = no
# Indica qual o programa que ira autenticar as senhas
# passwd program = /usr/bin/passwd
# Nome do grupo do ambiente Windows
workgroup = advlinux.com.br
# Este parametro e' somente usado com security=share
# O valor default e' never
map to guest = never
# Faz a combinaçao entre maiusculas e minuscular da senha ate
# n caracteres. Setado como 32
password level = 32
# Elege um servidor para nmbd
# Caso utilize servidor de senha NT coloque este item como yes
preferred master = yes
# Utilizado para configurar um expecifico dominio
# Somente utilizado para que o SAMBA autentique os usuarios no NT
domain master = yes
# Dominio master esta localizado no Linux
local master = yes
# Numero de segundos de inatividade. Apos este periodo a conexao sera'
# cortada. 0(zero) indica auto-desconexao
# SAMBA inicia esta verificaçao, qdo o numero de arquivos abertos
# por um determinado usuario for 0 (zero)
dead time = 0
# Sincroniza a data/hora do Servidor e dos clientes
time server = True
# Nivel de debug do sistema, desta forma o sistema tornara' mais
# flexivel
debug level = 0
# Carrega as Impressoras
load printers = yes
# De forma a aumentar a performace do servidor.Alterado o valor do
# buffer de transmissão para o valor maximo
max xmit = 16384

[homes]
comment = Diretorio Pessoal
read only = No
browseable = NO
create mode = 750

[LaserHP]
comment = Impressora CPD
guest ok = Yes
path = /var/spool/samba
browseable = yes
create mode = 0777
postscript = yes
printable = yes
public = no
writable = no
printer = lp1
[Publico]
comment = Publico
path = /home/public
read only = No
guest ok = Yes

[Aplic]
path = /opt
comment = Aplicativos
browseable = yes
public = yes
read only = no
share modes = yes
guest ok = yes
[Win98]
path = /mnt/win98
comment = Windows 98
browseable = yes
public = yes
read only = no
share modes = yes
guest ok = yes
[Cdrom]
path = /mnt/cdrom
comment = Cdrom Linux
browseable = yes
public = yes
read only = yes
share modes = yes
guest ok = yes
O arquivo smb.conf é dividido por seções e parâmetros. As seções são iniciadas por nomes entre colchetes,
como por exemplo [global],[homes],[temp] entre outras. Cada seção é utilizada para cada
compartilhamento específico, exceto a seção [global], pois nesta seção todo o parâmetro configurado serve
para todas as seções, salvo configuração específica.
Na seção [home], são definidos as conexões dos clientes com os seus respectivos diretórios de trabalho e
pessoais.
Na seção [printers] são definidos os compartilhamentos entre os recursos de impressão disponíveis na rede.

Parâmetros: definem os atributos das seções as quais estão, sendo alguns deles específicos e usados
somente em determinadas seções.

Variáveis: valores definidos para atribuição a um parâmetro.


Então temos conforme o diagrama abaixo o formato usado para se criar e manter o smb.conf.

Global
Global
Parâmetros

Compartilhamentos

[HOME]

[PRINTERS]

[PROFILES]

[TMP]

O arquivo smb.conf permite muitas funções para uma melhor adequação as necessidades de cada solução.
As principais funções já se encontram comentadas no arquivo smb.conf mostrado anteriormente. De modo
a complementar as funções anteriormente implementadas, abaixo são mostradas e comentadas outras
funções.

Variável Descrição
%S Nome do serviço (compartilhamento) atual
%u Nome do usuário
%g Nome do grupo
%H Nome do diretório pessoal do usuário (HOME)
%m Nome da máquina utilizada pelo usuário ( ex. pc1001 )
%L Nome do servidor NetBIOS
%M Nome Internet da máquina cliente
%a Nome do sistema operacional da máquina do cliente ( ex.
wfw, win95,WinNT)
%I Número IP da máquina cliente
%T Data e horário

Os parâmetros seguidos de (S) podem ser utilizados em qualquer seção que defina um compartilhamento.
Os seguidos por (G) podem ser utilizados somente na seção [global].

Admin users (S)


Permite definir os usuários que terão privilégios de administração do compartilhamento, ou seja, terão
poderes de superusuário no samba. Exemplo:

admin user = l.linux, d.linux

announce as (G)
Especifica o tipo de servidor nmbd (Servidor de Nomes NetBIOS) que será divulgado na rede. O padrão é
igual a Windows NT. As opções válidas são "NT", "NT Server", "NT Workstation", "Win95" ou "WfW" .
Exemplo:
announce as = NT Server

browseable (S)
Controla se o compartilhamento será visualizado na lista de recursos disponíveis. O padrão é
browseable = Yes
comment (S)
Contém o texto que será visualizado pelo usuário quando solicita uma lista de recursos disponíveis na rede.
Exemplo:
comment = Servidor Linux
copy (S)
Permite que a seção atual seja uma cópia de qualquer seção anterior. Caso haja necessidade de alterar um
parâmetro, basta informá-lo na seção atual. Útil para criar modelos que podem ser replicados e rapidamente
alterados para todos os recursos compartilhados. Exemplo:
copy = home

create mode (S)


Define as permissões que serão utilizadas na criação de arquivos no recurso compartilhado. Exemplo:
create mode = 0775

guest account (S)


Define o nome do usuário usado para acessar os compartilhamentos definidos com o parâmetro guest ok'.
Normalmente este usuário estará definido no Linux, porém não terá uma forma válida de acesso ao sistema.
Usualmente a conta "ftp" é uma boa escolha. Exemplo:
guest account = ftp

guest ok (S)
Caso este parâmetro seja definido como yes' para um serviço, nenhuma senha será solicitada ao usuário. Os
privilégios serão iguais aos determinados para a conta "guess account" definida no parâmetro anterior.
Exemplo:
guest ok = yes

hosts allow (S)


Define o conjunto de máquinas que podem acessar um determinado compartilhamento. Pode-se utilizar o
nome ou o endereço IP da máquina. É possível, por exemplo, restringir o acesso a somente uma sub-rede de
classe C, como em "allow hosts = 192.168.1.".
Pode-se ainda usar o subparâmetro "EXCEPT" para excluir (em)-se alguma(s) máquina(s), como por
exemplo:
hosts allow = 192.168.1. EXCEPT 150.150.150.200
allow hosts = 192.168.1. advlinux.com.br

hosts deny (S)


Neste parâmetro são colocados tosas os computadores que não devem ter acesso aos serviços.
Exemplo:
hosts deny = 150.203.5. minha_máquina.domínio.com.br

load printers (G)


Determina que as impressoras definidas no printcap serão disponibilizadas na lista padrão de recursos.
Exemplo:
load printers = yes

max connections (S)


Permite configurar o número máximo de conexões simultâneas a um determinado serviço. Exemplo:
max connections = 10

max disk size (G)


Permite definir um limite aparente da área em disco que pode ser utilizada pelo compartilhamento. A
unidade-padrão é igual a Mb (megabytes). Exemplo:

max disk size = 250


path (S)
Especifica o diretório ao qual o usuário do serviço terá acesso. No caso de impressoras, será o diretório de
arquivos temporários de impressão. Exemplo:
path = /home/m.linux

printer (S)
Define o nome da impressora para a qual os serviços de impressão serão enviados.
Exemplo:
printer name = laserwriter

security (G)
Define a autenticação de um cliente junto ao servidor Samba. São possíveis as seguintes opções:
"security=share": senhas de acesso são solicitadas por recurso compartilhado e não por usuário, ou seja,
cada diretório ou impressora poderá ter uma senha única conhecida por todos os usuários autorizados.
"security=user": para acesso a determinado recurso, o usuário deverá apresentar uma identificação
individual e uma senha válida.
"security=server": neste caso o Samba tentará validar o usuário e a senha enviando os dados para um
servidor SMB, como por exemplo um servidor Windows NT.
"security=domain": caso a máquina local tenha sido adicionada a um Domínio Windows NT através do
comando smbpasswd, será possível utilizar esta opção. As informações de usuário e senha serão enviadas
para um servidor Windows NT Primário da mesma forma que uma máquina NT o faria. É necessário que a
conta exista tanto no Linux quanto no servidor primário. O padrão assumido pelo Samba é "security =
USER". Exemplo:
security = DOMAIN

workgroup (G)
Define em qual grupo de trabalho o servidor estará presente, quando pesquisado pelos clientes. Este
parâmetro também define o nome do domínio usado em "security=domain".
Exemplo:
workgroup = Linux

writeable (S)
Caso este parâmetro seja definido como "no", não será permitida a criação ou modificação de arquivos no
diretório compartilhado. O parâmetro "printable = yes" sempre permitirá a gravação através de operações
de geração de arquivos temporários de impressão. Exemplos:

read only = no

writeable = yes

write ok = yes

Na seção [printers] permite-se que os clientes (Linux, Windows, DOS) utilizem uma impressora conectada
à máquina local, configurada através do utilitário printcap.
Uma típica seção de impressora terá o seguinte aspecto:
[printers]
path = /usr/spool/public
writeable = no
guest ok = yes
printable = yes

Parâmetros: definem os atributos das seções em que se encontram, sendo alguns deles específicos e usados
somente em determinadas seções.
Variáveis: valores definidos para um parâmetro podem ser substituídos por valor definitivo no momento do
acesso ao recurso compartilhado.

Serviços SMB e NMB


Estes serviços são responsáveis pela integração dos pacotes que trafegam pela rede, eles utilizam a porta
137 e 139 de comunicação.
Devemos editar o arquivo inetd.conf e descomentar as linhas (retirando os # da frente das linhas) abaixo,
caso elas não existam devem ser inseridas.

Devem estar exatamente como mostrado.

Antes de iniciar este serviço, certifique-se que o arquivo smb.conf esteja configurado.

# Serviços NetBIOS/SAMBA
netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd

Após ter feito isso salve o arquivo e reinicialize manualmente o ined.conf através do comando

killall –HUP inetd

Para iniciar o processo automaticamente toda vez que o servidor for inicializado, acione o programa ntsysv
e torne a serviço smb ativo.

Caso seja feita alguma alteração no arquivo smb.conf , deve-se reinicializar o servidor SAMBA. Abaixo
são mostrados alguns comandos úteis para a inicialização, parada e reinicialização do servidor SAMBA.

Inicialização do servidor SAMBA


/etc/rc.d/init.d/smb start

Parada do servidor SAMBA


/etc/rc.d/init.d/smb stop

Reinicialiação do servidor SAMBA


/etc/rc.d/init.d/smb restart

Os usuários do Conectiva Linux poderão utilizar o comando samba para iniciar, reiniciar, parar ou verificar
o status do servidor SAMBA. Para isso basta digitar no prompt os seguinte comandos :

Verificar o status do servidor


samba status
Parar o servidor SAMBA
samba stop
Iniciar o servidor SAMBA
samba start
Reiniciar o servidor SAMBA
samba restart

Usuários e Senhas no SAMBA


O SAMBA necessita que todos os usuários que utilizarão este serviço estejam cadastrados. O SAMBA não
utiliza o cadastramento feito no Linux. Os usuários do SAMBA e Linux são distintos, aumenta o nível de
segurança ao acesso às informações, pois o usuário cadastrado no SAMBA não necessita existir no Linux.
Desta forma o usuário não poderá acessar o Linux inadvertidamente. Para o cadastramento do usuário e
alteração de senha do SAMBA utiliza-se o comando abaixo:

smbpasswd [opções] [nome do usuário]

Cadastrar usuários no SAMBA


A sintaxe deste comando é muito simples conforme abaixo:
smbpasswd –a [nomedousuario]

Deletar usuários no SAMBA


smbpasswd –x [nomedousuario]

Habilitar usuários no SAMBA


smbpasswd –e [nomedousuario]

Disabilitar usuários no SAMBA


smbpasswd –d [nomedousuario]

Para mais opções, consulte ajuda pelo comando.


man smbpasswd

Para facilitar a administração iremos cadastrar os nossos usuários no SAMBA com os mesmos nome
utilizados no Linux. Para isso iremos utilizar o quadro abaixo para ter uma visão de todos os usuários
contidos no Linux.

Nome do Usuário Nome do Grupo Base do diretório Nome Completo


(departamento) Home (Diretório)
m.linux presidencia /opt/pres Marco Linux
d.linux presidencia /opt/pres Debora Linux
l.linux administrativo /opt/adm Lucybel Linux
a .linux pagrec /opt/adm/pr Antonio Linux
m.linux rh /opt/adm/rh Mara Linux
p.linux comercial /opt/compvend Pepe Linux
j.linux compras /opt/compvend/compras Jose Linux
v.linux vendas /opt/compvend/vendas Vilma Linux
c.linux tecnico /opt/desprod Carlos Linux
f.linux producao /opt/desprod/prod Fabio Linux
m.linux desenvolvimento /opt/desprod/des Moura Linux
Crie um usuário no SAMBA com direitos ilimitados (chmod 777) no diretório /opt, será
responsável pela instalação e administração dos aplicativos e arquivos contidos neste diretório.

Exemplo do comando :

Iremos agora cadastrar o usuário Marco Linux no servidor SAMBA.

smbpasswd -a m.linux

Este comando deverá ser repetido para todos os usuários que utilizarão o SAMBA (em nossa instalação
iremos cadastrar todos os usuários, pois eles utilizarão tanto o sistema Linux como o SAMBA).

Cadastro de senha no SAMBA

A senhas no SAMBA são armazenadas no arquivo smbpasswd localizado no diretório /usr/samba/private.


Caso o administrador queira migrar o sistema , este arquivo deverá ser copiado para não necessitar
cadastrar as senhas dos usuários novamente.
Após serem incluídos os usuários poderá cadastrar ou alterar a senha, para isso use a sintaxe do comando
que é mostrado abaixo:

smbpasswd nomedousuario

Exemplo:
smbpasswrd m.linux Digite sua senha aqui.
New SMB password:
Retype SMB password:

O utilitário pedirá a senha e após incluí-la, deverá ser re-escrita a senha novamente para a confirmação.

Troca de senha no SAMBA


Para a troca da senha o procedimento é o mesmo utilizado no cadastramento da senha, a única diferencá é
que será solicitado que o usuário digite sua antiga senha.
Exemplo:
Digite sua senha aqui.
smbpasswrd m.linux
Old SMB password:
Digite sua nova
New SMB password:
senha aqui.
Retype SMB password:
Password changed for user m.linux
Senha trocada com sucesso.

Sincronização de Senhas entre LINUX e SAMBA


A sincronização das senhas entre o Linux e o SAMBA facilita tanto o usuário como o administrador do
sistema. Desta forma qualquer alteração de senha realizada no LINUX será refletida no SAMBA. Para
realizar esta implementação devem ser incluídas as seguintes linhas no arquivo smb.conf.

#arquivo smb.conf
[global]
#senhas não encriptografadas
encrypt passwords = no
#localização do arquivo de senhas
smb passwrd file = /usr/local/private/smbpasswd
#habilitia a sincronização de senha
unix password file sync = yes
passwd program = changepass %u
# fim da modificação

Introdução as Estações de Trabalho

O SAMBA aceita estações de trabalho com os mais variados S.O. (sistemas operacionais). Abordaremos
em nosso livro os mais usados em computadores desktop.
Na figura abaixo temos a estrutura utilizada para esta implementação.
A configuração para os computadores desktops não é difícil, mas requer uma atenção do administrador nas
configurações. A seguir serão demonstradas as configurações.

Configuração de Estações de Trabalho Windows 9x


Um dos problemas encontrados nas configurações em sistemas que utilizam o Windows é que algumas
versões utilizam senha criptografadas e outras não, ocasionado um problema de acesso, pois no SAMBA
deve ser definido se as senhas recebidas por ele, estão ou não criptografadas.
No quando abaixo temos um resumo de como cada Windows trabalha com as senhas.
Sistema Senha
Operacional Criptografada
Windows ME SIM
Windows 98 SE SIM
Windows 98 SIM
Windows 95 (OSR2) SIM
Windows 95a SIM
Windows 95 NÃO
Windows 2000 SIM
Windows NT 4 com SIM
SP3 ou maior
Windows NT 4 com NÃO
SP1 ou SP2

Em nossa implementação estamos utilizando senhas não criptografadas, pois desta forma as
estações que utilizam o sistema operacional DOS poderão trabalhar. Caso a sua rede não
tenha estações DOS, utilize senha criptografadas, desta forma teremos um aumento da
segurança na autenticação dos usuários.

Senhas Criptografadas (Estação de Trabalho Windows 9x)


O problema mais comum durante a instalação do Samba é relacionado com as senhas dos usuários.
A partir da versão 98, o Windows® começou a fazer a transmissão de senhas criptografadas pela rede
NetBIOS. O Windows 95® e as versões iniciais do Windows NT®, porém, transmitiam sem encriptar as
senhas. Essa falta de padronização entre estes sistemas torna a configuração do Samba um tanto mais
complexa.
A encriptação de senhas visa proteger as mesmas de tentativas primitivas de descoberta. Infelizmente, os
algoritmos de encriptação utilizados não são particularmente fortes.

Senhas Descriptografadas no Windows® 95

O padrão do Windows® 95 é não encriptar as senhas. Assim, é provável que esta configuração não seja
necessária para você. Porém, versões mais recentes do Windows® 95 (como, por exemplo, o Windows®
95 OSR2) mudaram seu comportamento. Se você tiver problemas com senhas, siga o procedimento
descrito nesta seção.
A configuração do Windows 95® pode ser feita de duas maneiras. Uma delas seria a utilização do arquivo
Win95_PlainPassword.reg que acompanha o Samba. Este arquivo pode ser localizado no diretório docs/
da documentação on-line do Samba:

# cd /usr/doc/samba*/docs
Você pode copiá-lo para as estações Windows 95®. Depois, basta abrir o arquivo (dar dois cliques sobre o
mesmo) para que ele seja instalado.

Outra maneira de habilitar senhas é editar o registro através do utilitário regedit do Windows® para alterar
ou incluir a chave:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001

Senhas Descriptografadas no Windows® 98


Como padrão, o Windows® 98 encripta todas as senhas que trafegam pela rede. Para poder utilizar estações
Windows® 98 com sua rede, siga o procedimento descrito nesta seção.
A configuração de senhas não encriptadas no Windows 98® pode ser feita de duas maneiras. Uma delas
seria a utilização do arquivo Win98_PlainPassword.reg que acompanha o Samba. Este arquivo pode ser
localizado no diretório docs/ da documentação on-line do Samba:
# cd /usr/doc/samba*/docs

Você pode copiá-lo para as estações Windows 98®. Depois, basta abrir o arquivo (dar dois cliques sobre o
mesmo) para que ele seja instalado.

Outra maneira de habilitar senhas é editar o registro através do utilitário regedit do Windows® para alterar
ou incluir a chave:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001

Senhas Descriptografadas no Windows NT®


O Windows® NT encripta senhas em algumas versões e não encripta em outras. Notadamente, após o
terceiro pacote de consertos (Service Pack 3, ou SP3), ele passou a encriptar todas as senhas trafegadas pela
rede. Assim, recomenda-se seguir os procedimentos descritos nesta seção para assegurar que ele funcione
como cliente de uma rede Samba. Além disso, recomendamos que você tenha, pelo menos, o Windows®
NT SP3 instalado.
A configuração de senhas não encriptadas no Windows® NT pode ser feita de duas maneiras. Uma delas
seria a utilização do arquivo NT4_PlainPassword.reg que acompanha o Samba. Este arquivo pode ser
localizado no diretório docs/ da documentação online do Samba:

# cd /usr/doc/samba*/docs

Você pode copiá-lo para as estações Windows® NT. Depois, basta abrir o arquivo (dar dois cliques sobre o
mesmo) para que ele seja instalado.

Outra maneira de habilitar senhas é editar o registro através do utilitário regedit do Windows® para alterar
ou incluir a chave:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters]
"EnablePlainTextPassword"=dword:00000001

Para que a instalação da estação com Windows 9x acesse o servidor SAMBA, deverão ser instalados os
drivers da placa de rede, protocolo TPC/IP e o cliente para rede windows. Siga as instruções abaixo, que
mostrarão passo a passo esta instalação. Certifique-se que a placa de rede instalada é compatível com sua
rede, na arquitetura mostrada no capítulo1. Se faz necessária a aquisição de placa com o conector RJ 45,
pois todos as conexões da rede trafegam através de um HUB que utiliza este tipo de configuração física. A
placa de rede deverá ter driver para a versão do Windows instalado no computador.

Inicie o Windows 9x e siga até o menu Configurações.

Selecione a opção Painel de Controle


Será aberta uma janela, onde deverá ser selecionado o ícone REDE.

Agora iniciaremos a instalação dos protocolos, clientes e placas.


Selecione o driver do adaptador (placa de rede) compatível com a placa instalada no computador. Caso na
lista do Windows não conste a placa, selecione o botão Com disco ... e introduza o disco com o driver da
placa.

Selecione agora o protocolo que irá trafegar na rede, para uma melhor integração entre os ambientes de
redes externos e internos. Deve-se selecionar o protocolo TCP/IP, conforme mostra a figura abaixo.
Selecione o Cliente de Rede para Redes Microsoft.
Devemos agora configurar a protocolo TCP/IP, informado o número TCP/IP do computador, o número
TCP/IP do roteador.
O numero TCP/IP do roteador deverá ser o número TCP/IP do servidor Linux (192.168.1.100), pois este
servidor poderá ser utilizado como gateway, caso necessite de interligação com outras redes.
A máscara da rede será definida como 255.255.255.0, pois só temos um seguimento (192.168.1.???) na
rede. Este seguimento poderá comportar até 255 componentes de rede (impressoras, servidores e estações).
Caso haja outras redes, esta máscara deverá ser alterada.
Configure o gateway.
Agora iremos verificar se o NetBIOS esta configurado sobre o protocolo TCP/IP.

Agora iremos configurar o nome do Grupo de Trabalho e o Nome do computador à rede. O Nome do
Grupo de Trabalho deverá ser o mesmo que já foi designado no campo workgroup do arquivo smb.conf
no servidor Linux. Na configuração já realizada este campo deverá conter advlinux.com.br.
Agora reinicie o computador e está pronto. Quando o computador for reinicializado abrirá uma tela de
login, solicitando o nome de login e senha, já previamente cadastrado nos passos anterior deste capítulo.

Configuração da Estação de Trabalho DOS


Para acesso das estações DOS ao servidor SAMBA, deve-se instalar um cliente para esta finalidade. Este
cliente pode ser obtido através no endereço ftp://ftp.microsoft.com/bussys/Clients/MSCLIENT , o qual é
composto por dois arquivos (dsk3-1.exe e dsk3-2.exe), os devem ser descompactados em dois disquetes
distintos.

Nota
Se faz necessário - caso utilize o WFW (Windows for Workgroup) - a instalação do protocolo TCP/IP, o
qual poderá ser obtido no endereço ftp://ftp.microsoft.com/bussys/clients/WFW/TCP32B.exe , este
arquivo ao ser executado faz auto extração. Siga as instruções contidas neste arquivo em conjunto com o
manual de WFW.

Após ter gerado o disquete como cliente para DOS, insira o disquete 1 no drive e rode o programa
setup.exe. Serão apresentadas algumas telas para a configuração A tela abaixo mostra a configuração típica
de um cliente.
Escolha a opção Network Configuration.
Selecione a placa de rede na lista ou insira no driver o disquete com o driver da placa. Após ter instalado
verifique as características da placa.

Adicione o protocolo TCPIP no menu ADD Protocol.


Configure o protocolo TPCIP conforme abaixo

Disable Automatic Configuration =1


Este campo deverá ser seta para 1 (default=0)

IP Address
Número do IP na rede

Default Gateway
Número IP do gateway

Os números IPs são separados por espaço e não por pontos como comumente é usado.
Retorne ao menu principal e configure o menu Names.

Na configuração não utilize caracteres especiais, conforme é mostrado abaixo.


Agora retorne ao menu principal e selecione o item Setup Options.

Utilize a configuração padrão do sistema. Um item a se destacar é Redir Options, onde poderá ser
selecionada uma das opções, conforme é mostrado abaixo.
Escolha a opção Use Full Redirector por ser a mais abrangente para conexão com a rede.

Agora saia da instalação e após a reinicializarão será encontrado o servidor que solicitará o login e senha.

Instalação de Aplicativos OFFICE (StarOffice 5.1)


Um dos softwares que vem mais se destacando no mercado de softwares para escritórios é o StarOffice da
empresa SUN. Está disponível para os ambientes Linux , Microsoft Windows entre outras plataformas.

Este software poderá ser obtido no endereço eletrônico abaixo:

www.sun.com

Para a instalação do software StarOffice será necessário o espaço em disco abaixo:


Servidor Linux – 180Mb
Estações – 15Mb

Com este tipo de instalação obteremos algumas vantagens:


- pequeno espaço de disco ocupado nas estações de trabalho;
- numa eventual troca de versão poderá ser feito de maneira rápida;
- menor probabilidade de vírus, somente o administrador terá acesso a escrita no diretório do programa

Iniciaremos a instalação. Primeiramente crie o diretório /opt/appl no servidor Linux, de direitos de rwx
para o usuário root e membros do grupo root e somente de r_x para os demais usuários (chmod 775 como
root no diretório /opt/appl). Agora instale a máquina Java e posteriormente instalar o StarOffice.

Crie um usuário administrador no Linux pertencente ao grupo root e após tê-lo criado inclua
este usuário no SAMBA. Assim todos os softwares instalados por este usuário ou qualquer
membro do grupo root, somente poderão ser alterados pelos membros do grupo root (não utilize
o usuário root para instalação de software, pois poderá ocorrer de outros usuários não poderem
ter acesso a aplicação instalada).

Nesta instalação o drive L: do usuário administrador corresponde ao diretório /opt/appl no servidor Linux.

Instalação no Servidor

Para instalar a máquina Java, rode o programa jre117Bi-win32.exe.


Este programa irá instalar uma máquina Java no Windows. O procedimento de instalação é feito de forma
clara é fácil. Ao iniciar o programa ele perguntará se deseja instalar, responda SIM.
Clique no botão NEXT.
Um dos procedimentos a serem realizados pelo administrador de uma rede é de ler com atenção o contrato
de licenciamento do software o qual está se instalando. Desta forma poderá ser evitado muitos
aborrecimentos no futuro.
Instale localmente a máquina Java, conforme mostrado, desta forma ao rodar o programa de instalação do
StarOffice, este automaticamente detectará a máquina Java instalada e facilitará a instalação posteriormente
nas máquinas clientes. Após feita a instalação reinicialize o computador que está sendo usado para a
instalação.

Após a reinicialização rode o programa setup.exe, localizado no diretório onde estão os arquivo de
instalação do StarOffice e a seguinte imagem será mostrada.

Após alguns segundos será mostrada a tela principal de instalação.

Clique no botão Seguinte.


Coloque o código de liberação, caso não tenha consulte no site www.sun.com e verifique qual o
procedimento necessário para obtenção deste código.

Preencha os campos mostrados e clique no botão Seguinte.


Leia atentamente os direitos de uso.

Selecione o item Instalação Padrão.


Instale no diretório /opt/appl/office51, pois como foi dito anteriormente , este será o diretório padrão de
instalação de todos os softwares.

Clique em Pronto para iniciar a instalação.


Esta tela está mostrando que será utilizado o ambiente Java neste programa. Agora selecione o botão OK.
Aguarde o término da instalação.

Agora selecione Pronto, reinicialize o computador do administrador e a instalação já esta pronta.

Instalação nas estações de trabalho.

Logue como administrador na estação de trabalho onde deseja instalar o StarOffice.


Vá até o diretório onde está a instalação do StarOffice no servidor Linux (no exemplo mostrado este
diretório é /opt/appl/office51) e rode o programa jre117Bi-win32.exe.
Este programa irá instalar uma máquina Java no Windows. O procedimento de instalação é feito de forma
clara é fácil. Ao iniciar o programa este perguntará se deseja instalar, responda SIM.

Clique no botão NEXT.


Um dos procedimentos a serem realizados pelo administrador de uma rede é de ler com atenção o contrato
de licenciamento do software o qual está se instalando. Desta forma poderá ser evitado muitos
aborrecimentos no futuro.
Instale localmente a máquina Java, conforme mostrado, desta forma ao rodar o programa de instalação do
StarOffice, este automaticamente detectará a máquina Java instalada e facilitará a instalação posteriormente
nas máquinas clientes. Após feita a instalação, reinicialize o computador que está sendo usado para a
instalação.

Agora crie um atalho no desktop do computador do arquivo soffice.exe a instalação já está pronta.

Instalação de Aplicativos OFFICE (StarOffice 5.2)


Iremos abordar a instalação da versão 5.2 do StarOffice apesar de ser uma versão relativamente nova, já
esta despertando o interesse dos usuários que já utilizavam a versão anterior. Uma das grandes novidades
desta versão é a compatibilidade com a versão Microsoft Office 2000, desta forma o usuário poderá ter
maior flexibilidade na troca de arquivos. A forma de instalação desta nova versão difere da versão anterior,
pois a SUN otimizou alguns módulos internos, a fim de garantir um melhor desempenho da execução do
programa.

Para a instalação e configuração no servidor e nas estações de trabalho, será necessário espaço em disco de:

Servidor – 250 Mb
Estações Windows – 18Mb

No Conectiva Servidor 6.0 são apresentados o StarOffice 5.2 nas versões Microsoft Windows e Linux.
Abordaremos a instalação em rede para o ambiente Windows.

Insira o CDROM com o StarOffice no servidor e monte o driver de CD (Caso a sua estação de trabalho
tenha unidade de CDROM, poderá ser iniciado a instalação por ele).

mount /dev/cdrom

Vá ate uma estação Windows conectada ao servidor Linux/SAMBA e rode o programa so-5_2-ga-bin-
windows-pt.exe com a opção /net .
Uma tela inicial será apresentada.

Após alguns segundos será apresentada a tela a seguir.


Clique no botão Seguinte.
Esta tela trás algumas informações importantes sobre instalação. Após ter lido com atenção as informações
selecione o botão Seguinte.

Este é o contrato do software, sempre é necessário lê-lo, pois estão contidos neste documento, todas as
limitações e os direitos de uso do software.
Seleciona o item Instalação Padrão, para que todos os arquivos necessários para uso posterior na
instalação nas estações de trabalho, feito isso selecione o botão Seguinte.

Crie um diretório onde será instalado o StarOffice, em nossa configuração o driver L: representa o
diretório /opt/appl , este diretório é utilizado para a instalação de todos os aplicativos no servidor Linux. De
modo a diferenciar a instalação do StarOffice para ambiente Linux e Windows, o StarOffice for Windows
será instalado no diretório Office52win.

Caso este diretório não exista, será perguntado se deseja criá-lo, responda SIM.
A instalação será iniciada automaticamente.
Após a instalação no servidor, poderão ser iniciadas as instalações nas estações de trabalho conectadas a
rede.

Instalação nas Estações de Trabalho – StarOffice 5.2

A instalação em estações de trabalho é realizada de forma fácil. Para isso vá até um computador e logue
como administrador do sistema. Agora vá para o diretório onde foi instalado o StarOffice 5.2 (no nosso
caso /opt/appl/office52win), selecione o programa setup.exe

Ao iniciar o programa Setup, uma tela de abertura será mostrada, selecione o botão Seguinte.
Leia com atenção as informações do contrato de licenciamento.

Caso o usuário tenha outro software instalado ou versão anterior do StarOffice, estes dados poderão ser
importados, senão este menu poderá ser ignorado.
Após ter feito a importação selecione o botão Seguinte.

Preencha os dados solicitados pelo software e clique no botão Seguinte.


Esta tela é uma das mais importantes da instalação.
Selecione o item Instalação estação de trabalho padrão para os computadores que estão conectados à
rede em tempo integral, desta forma somente alguns arquivos serão copiados (aproximadamente 18Mb
serão necessários) e os demais arquivos serão acessados no servidor, esta opção é muito boa para as
estações de trabalho que tem disco rígido de pequena capacidade ou tem pouco espaço livre.
A Instalação padrão deverá ser utilizada para computadores que não estão conectados a rede todo o tempo
(por exemplo notebooks), desta forma possibilitará que o usuário possa utilizar o software não necessitando
estar conectado à rede.
Selecione um diretório para a instalação, sugiro deixar o diretório padrão do sistema, conforme mostrado
acima.

Caso este diretório não exista será perguntado ao usuário se deseja criá-lo , responda que Sim.
Selecione Pronto para dar inicio a instalação.
na instalação é verificado se está instalado o ambiente Java, no nosso caso não foi instalado este ambiente,
selecione o botão OK para continuar a instalação.

Após a instalação com sucesso será apresentada a tela acima, selecione o botão Pronto para proceguir.

Será solicitado a reinicializarão da estação de trabalho, selecione o botão Reinicio e pronto o usuário já
poderá utilizar o StarOffice.

SWAT – Ferramenta WEB para Administração do SAMBA


Esta ferramenta permite a administração do Samba a partir de um navegador Internet. Em nossa instalação
padrão esta ferramenta está instalada, necessitando ser apenas configurada.
Edite o arquivo /etc/inetd.conf , adicionando-se a seguinte linha, caso seja utilizada o Conectiva Linux esta
linha já existe neste arquivo, necessitando apenas ser descomentada (retirar o “#” no inicio da linha):

swat stream tcp nowait.400 root /usr/sbin/swat swat


Após feita a edição, o serviço inetd deve ser reiniciado, utilizando o comando abaixo

killall -HUP inetd

ou o comando

/etc/rc.d/init.d/inet restart

A diferença entre os dois comandos é que o segundo irá iniciar o serviço, caso não esteja iniciado.
Iremos agora verificar se a porta 901, porta esta responsável pelo serviço do SWAT esta configurada
corretamente. Para isso abra o arquivo /etc/services a linha abaixo mostrada, caso esta não exista, deverá
ser inserida.

# Local services
swat 901/tcp
#fim da modificação

Os espaços em brancos são tabulações (utilize a tecla TAB) , não utilize barra de espaço.

A partir do momento em que o inetd for reiniciado, o SWAT será acessível através da porta 901 de seu
servidor. Você pode acessar o SWAT http://localhost:901 através de qualquer navegador.
Ao se iniciar o SWAT será necessário informar o login e senha para trabalhar com este aplicativo. Como
mostrado na figura abaixo.
Para administrar o SAMBA através do SWAT, deve-se logar como root. O usuário do SAMBA poderá
utilizar o SWAT, mas ao se logar com seu login e senha este apenas poderá visualizar as informações de
sua conta ou acessos disponíveis.

A figura abaixo mostra a tela principal do SWAT.


Se for seleciona do menu STATUS, o administrador poderá ter uma visão geral de todos os usuários de
arquivos abertos pelos usuários do SAMBA. Esta tela é atualizada a cada 30 segundo (default), mas poderá
ser modificada a qualquer momento pelo administrador.

Abaixo temos a figura da tela de STATUS do servidor SAMBA.


Caso na sua distribuição Linux não tenha esta ferramenta, esta poderá ser encontrada no endereço
eletrônico abaixo :
http://anu.samba.org/cgi-bin/swat/
Neste endereço encontra-se toda a documentação necessária e arquivos binários para a instalação.

Troubleshooting SAMBA
Caso sejam encontrados problemas com o SAMBA, existe um programa utilitário que verifica os
problemas de configuração do arquivo smb.conf.
Este utilitário chama-se testparm e faz parte do SAMBA quando é instalado. Para rodar o programa
digite no prompt testparm ele mostrará na tela todos os problemas encontrados no arquivo smb.conf.
No caso de não serem encontrados erros ,será mostrado a seguinte mensagem após a execução deste
utilitário Loaded services file OK.
Caso sejam encontrados problemas, o próprio utilitário mostrará o erro encontrado, deve ser analisado cada
erro com cuidado.

Caso queira gerar um arquivo de erros digite a linha abaixo e será gerado um arquivo
testparm.log no diretório /var/log

testparm > /var/log/testparm.log

Segurança no SAMBA
A implementação de segurança em cada serviço a ser executado em um servidor é de extrema importância,
desta forma não poderia deixar de abordar este assunto também na implementação do SAMBA. Algumas
formas de segurança podem ser implementadas na utilização do SAMBA, abaixo vamos abordar algumas
delas.

Restrição de IP
Através da restrição de IPs , iremos limitar somente as máquinas de nossa rede a terem acesso ao SAMBA.
Desta forma máquinas não pertencentes à nossa rede (192.168.1.x) não poderão ter acesso, diminuindo
risco de acessos indevidos.
Adicione a seguinte linha no arquivo smb.conf, item [global]
# somente a rede 192.168.1.xxx e o proprio servidor terao acesso
Interfaces = 192.168.0.1/24 127.0.0.1/24
Bind interfaces only = Yes

Filtro de Portas
Como já foi explanado o SAMBA utiliza as portas 137 e 139, para isso demos evitar que pacotes que
utilizem esta porta possam de alguma forma entrar ou sair de pacotes na rede. Para isso utilizaremos um
filtro de pacotes a ser implementado através do uso do IPCHAINS.
As seguintes linhas devem ser introduzidas no arquivo /etc/rc.local (para isso deve-se ter acesso como root
e IPCHAINS habilitado no Kernel)

# arquivo /etc/rc.local
ipchains –A input –p tcp –j DENY –destination-port 137:139 –i eth0
ipchains –A input –p udp –j DENY –destination-port 137:139 –i eth0
ipchains –A output –p tcp –j DENY –destination-port 137:139 –i eth0
ipchains –A output –p udp –j DENY –destination-port 137:139 –i eth0
# fim da modificação

Em nossa rede estamos conectando os computadores através do eth0. Caso seja utilizado uma
outra placa ou dispositivo na sua rede altere este campo. Para mais detalhes veja capítulo 1
deste livro.

Nas implementações RedHat e Conectiva o arquivo de inicialização dos serviços estão localizados no
/etc/rc.local, caso a sua distribuição Linux seja outra, verifique no manual qual arquivo deverá ser
modificado.

Restrição no utilitário SWAT


Como visto anteriormente o SWAT é um utilitário WEB para configuração do SAMBA. Para evitar o
acesso de outras máquinas a este utilitário, iremos limitar o acesso para somente às máquinas pertencentes
a nossa rede.
Inclua a seguinte linha de comando no arquivo /etc/hosts.allow

swat: 127.0.0.1 192.168.1.