Você está na página 1de 16

1

CONFIGURANDO O
SAMBA
escrito por:
Bruno T. Russo
brusso@mackenzie.com.br
http://www.btr.hpg.com.br

criado com OpenOffice 1.0

Janeiro / 2003

SUMRIO
1. Introduo
2. Instalao
3. Configurao
4. Testando o Samba
5. Inicializando o Samba
6. Acessando o Servidor SAMBA, atravs de estaes Windows9.x
6.1 Exemplo de Script para login para estaes Windows
7. Acessando o Servidor SAMBA, atravs de estaes Linux
8. Acessando o Servidor SAMBA, atravs de estaes NT Workstation
9. Migrando Senhas do WindowsNT para o SAMBA
10. Adicionando o SAMBA a um Domnio WindowsNT
11. Configurando o SAMBA remotamente
12. Adicionando Usurios ao SAMBA
13. Componentes do SAMBA
13.1. smbtar
13.2. smbpasswd
13.3. smbstatus
13.4. testprns
14. Exemplo de Configurao do arquivo SMB.CONF

3
3
3
7
7
8
8
8
9
9
10
11
11
11
11
12
12
12
13

1. INTRODUO
Em uma rede de Computadores, o intuito principal o de compartilhar
informaes/recursos. Entre esses recursos esto: o compartilhamento de
arquivos, compartilhamento de impressoras, etc.
Com o Samba, possvel fazer tudo isso, obtendo o mximo em qualidade
do Sistema/Aplicao, tais como:
compatvel com estaes Windows e servidores WinNT e
Win2000;
compatibilidade total com estaes Linux (contendo interface grfica,
por exemplo);
toda sua configurao se concentra em apenas um nico arquivo
smb.conf, alm de ser totalmente configurvel;
toda a configurao pode ser feita remotamente.
o Samba est disponvel para download, assim como suas
atualizaes em: http://www.samba.org
Neste Tutorial, vou abordar uma das inmeras configuraes que o Samba
pode ter. Pode ser que existam outros arquivos ou parmetros que eu no vou
cobrir. Para maiores informaes sobre outros parmetros, veja a manpage do
Samba.

2. INSTALAO
Atualmente a maioria das distribuies j instalam o Samba por padro, mas
se por algum motivo voc no tiver o pacote instalado, proceda da seguinte forma:
rpm -ivh samba-versao.rpm -->
rpm -Uvh samba-versao.rpm -->

instalao
atualizao

esta instalao serve apenas para pacotes RPM


Aps a instalao o Samba, disponibiliza os seguintes componentes:
smbd - O servidor Samba.
nmbd - O servidor de Nomes NetBios.
smbclient - Cliente SMB para sistemas Unix.
smbpasswd - Permite alterar senhas (encriptadas) de usurios smb.
smbprint - Cliente para envio de impresso para sistemas Linux.
smbstatus - Apresenta a situao atual das conexes SMB no Host.
testparm - Verifica as configuraes do arquivo smb.conf.
testprns - Verifica a comunicao via rede com as impressoras.


3. CONFIGURAO
Como j foi dito anteriormente, toda a configurao do Samba est no
arquivo smb.conf , que deve estar guardado no diretrio /etc. Neste arquivo

4
descrevemos os compartilhamentos, permisses de acesso, impressoras. Abaixo
esto os parmetros usados na configurao:
Seo [global]
Nesta seo so definidos os parmetros globais do Samba. Veja os
parmetros que podem ser usados nesta seo:
comment
comentrio para o Host na rede.
workgroup
especifica o Domnio ou o Workgroup a que o Host pertence na Rede.
security
(O Samba utiliza segurana a nvel de usurio
security=user , com opes)
security = share - cada recurso compartilhado necessita que uma
senha seja informada, para a utilizao daquele recurso. Geralmente
este parmetro utilizado quando para estaes Linux.
security = user - a permisso dada de acordo com cada usurio, na
hora em que ele efetua o login. Est opo tambm se aplica a grupos
(@grupo).
security = server - o Samba validar a senha enviando os dados do
usurio para outro servidor Samba ou Windows, para isso deve-se
incluir o parmetro password server = IP_SERVIDOR , na seo global.
security = domain - este parmetro deve ser usado, se o Host for
adicionado a um domnio Windows atravs do comando smbpasswd,
ento as informaes so enviadas para o PDC da rede.


os level
este parmetro obrigatrio, caso voc utilize mais servidores Linux ou
Windows. O valor um nmero de 1 a 255, onde 65 a mesma varivel utilizada
pelo Windows, especificando um nmero maior que este, voc garante a escolha do
servidor Samba para a validao do login nas estaes.
announce as
especifica o tipo de servidor NetBios (nmbd) que ser divulgado na sua
rede. As opes vlidas so: NT Server; NT Workstation; Win95; WFW .
domain logons
usado para validar logins na rede. Apenas para estaes Windows.
logon script
define qual arquivo de logon script ser executado para os usurios. Devese criar o compartilhamento de nome
[netlogon] apontando para o diretrio de
scripts.
logon path
o caminho do perfil remoto do usurio. Este parmetro til, quando

5
usurios costumam fazer o login em mais de um host na rede, pois dessa forma seu
perfil trazido com o login.
domain master
informa se o Host ser o Domain Master Browser da rede toda.
local master
informa se o Host ser o Master Browser da rede local.
prefered master
com este parmetro, fora-se o Samba a atuar como Master Browser para o
workgroup. Junto com este parmetro, recomendvel a utilizao do parmetro
domain master = yes . Porm, se sua na sua rede tiver outros servidores (Windows e
at mesmo Samba), e alguns desses outros j forem Domain Master, no utilize esta
opo e deixe o parmetro os level = 65 .
guest account
para que ocorra uma melhor performance em redes Windows,
recomendvel a utilizao de uma conta guest(visitante), por padro, no Samba, a
conta usada nobody.
wins server
aqui deve ser informado qual o servidor Wins da rede. Caso o prprio Host
seja, ento no utilize este parmetro, pois o sistema entrar em loop e
conseqntemente travar.
wins support
permite que o Samba seja o servidor Wins da rede, onde conter uma tabela
com
o ambiente de rede completo. Dessa forma h um certo ganho no
desempenho, quando um determinado host for localizar outra maquina na rede, por
exemplo.
keep alive
verifica o estado dos hosts (ativos ou no), este parmetro deve ser
utilizado quando as estaes forem Windows, e constantemente travam. Com a
utilizao deste parmetro, evita-se o trfego desnecessrio de informaes na
rede. Tambm pode ser usado com estaes Linux.
debug level
este parmetro forneve ao Samba, uma maior flexibilidade para trabalhar
com algumas situaes de erro.
winpopup command
define-se qual o comando ser executado quando o servidor receber
mensagens Winpopup(existem muitas configuraes, que podem ser colocadas
aqui). interessante utilizar essa opo se a sua rede utiliza mensagens desse tipo.
log file

6
especifica o arquivo de log do Samba. Por padro os arquivos de log
gerados pelo Samba, esto em /var/log/samba .
null passwords
define a permisso para contas de usurios sem senha.
1 password sync
caso este parmetro esteja ativado (com valor = yes), permite que estaes
Windows troquem de senha.
socket options
este parmetro permite configuraes extras para o protocolo,
possibilitando uma melhor performance do servidor para trablhar com os pacotes
de rede.
printing
define qual o sistema padro de impresso utilizado pelo Linux.
printcap name
define qual o arquivo que contm informaes das impressoras.
load printers
disponibiliza as impressoras para a rede.
hosts allow
define qual mquina tem acesso a rede. Pode-se utilizar o IP ou o nome da
mquina. Para definir uma rede toda usa-se: "
hosts allow = 192.168.10. " .
hosts deny
define qual mquina n ter acesso a rede. Deve ser utilizado da mesma
forma que o parmetro hosts allow .
admin users
define quais usurios possuem permisso completa (permisso de

root ).

max disk size


especifica qual o limite de espao em disco que ser utilizado. O valor deve
ser informado em Megabytes. Para especificar, por exemplo, um determinado valor
para a sesso home (vista logo abaixo), voc deve trabalhar com as quotas do
Linux.
Seo [homes]
Nesta seo, define-se os parmetros para as pastas pessoais dos usurios.
comment
parmetro de comentrio para este compartilhamento.
public

7
este parmetro
compartilhamento.

define

se

outros

usurios

podero

acessar

browseable
define se o compartilhamento ser visvel ou no no Ambiente de Rede.
writeable
define a permisso de escrita para o usurio.
Seo [netlogon]
Nesta seo, define-se os parmetros para os scripts de login dos usurios.
comment
parmetro de comentrio para este compartilhamento.
path
define o local onde esto os scripts de cada usurio.
public
este parmetro
compartilhamento.

define

se

outros

usurios

podero

acessar

browseable
define se o compartilhamento ser visvel ou no no Ambiente de Rede.
writeable
define a permisso de escrita para o usurio.
Demais Sees [NOME_SESSO]
Cada sesso um compartilhamento existente na rede. Abaixo, esto
alguns parmetros que podem ser usados nesta seo.
comment
parmetro de comentrio para este compartilhamento.
path
define o local onde est o compartilhamento.
valid users
aqui deve ser informado o nome dos usurios que tem permisso para
acessar este compartilhamento.
writeable
define se ser ou no permitido criar ou excluir arquivos ou diretrios deste
compartilhamento.
public / guest ok
este parmetro

define

se

outros

usurios

podero

acessar

8
compartilhamento.
browseable
define se o compartilhamento ser visvel ou no no Ambiente de Rede.
write list
define os usurios/grupos que tero acesso de escrita no compartilhamento. Para
utilizar vrios nomes de usurios, deve-se usar virgula(,) entre os nomes de cada usurio.
para grupos deve-se usar @nome_do_grupo.
read list
define os usurios/grupos que tero acesso de leitura no compartilhamento.
force create mode
este parmetro, faz com que o Samba fore o tipo de permisso para cada
arquivo criado dentro do compartilhamento, seria semelhante ao chmod do Linux.
force directory mode
este parmetro, faz com que o Samba fore o tipo de permisso para cada
diretrio criado dentro do compartilhamento, seria semelhante ao chmod do Linux.
copy
copia os parmetros de outra seo. til se voc utiliza compartilhamentos
semelhantes. Para a alterao de algum parmetro, basta voc modific-lo na seo
atual.
max connections
define o nmero mximo de conexes simultneas que o compartilhamento pode
"responder".

Em alguns parmetros usa-se variveis, abaixo,


encontra-se algumas variveis mais utilizadas.
%S - Nome do Servio (compartilhamento) atual;
%u - Nome do usurio;


%g - Nome do grupo;


%H - Nome do diretrio pessoal do usurio (home dir);




%m - Nome da mquina cliente fornecido pelo NetBios;




%L - Nome do Servidor NetBios, permitindo que a


configurao desejada seja alterada de acordo com o
cliente que vai acessar o sistema;
%M - Nome Internet da mquina cliente;


%a - Sistema Operacional da mquina remota, onde so


reconhecidos: WFW, WinNT e Win95;


%I - O endereo IP da mquina cliente;




%T - Data e Horrio.

4. Testando o SAMBA

Aps a configurao do arquivo smb.conf, voc pode fazer um teste para saber se
a configurao est correta, para isto utiliza-se o comando testparm:
testparm
confira o resultado apresentado na tela. Caso aparea alguma mensagem de erro
edite novamente o arquivo de configurao (smb.conf).

5. Inicializando o SAMBA
Aps a configurao, deve-se iniciar o servio da seguinte forma:
/etc/rc.d/init.d/smb start
para conferir se o Samba est no ar digite:
/etc/rc.d/init.d/smb status

6. Acessando o Servidor SAMBA, atravs de estaes Windows9.x


Para acessar o Samba atravs de estaes Windows9.x proceda da seguinte
forma:
v at o painel de controle e selecione Rede => Adicione um "Cliente para
Redes Microsoft" => Selecione a opo "Efetuar o logon no Domnio do Windows
NT". No campo "Domnio do Windows NT" informe o Domnio(workgroup)
declarado no arquivo smb.conf. Reinicie a mquina e efetue o logon. A mquina
cliente, deve estar na mesma rede do servidor (exceto em caso de haver um roteador).
interessante ressaltar que todos os usurio do Samba, devem existir no
Linux/Unix. Para criar um usurio no Samba, execute o comando abaixo:
smbadduser usuario:grupo_trabalho
em seguida ser necessrio digitar uma senha para o usurio. Esta senha no
tem nada a ver com a senha do Linux/Unix.

6.1 Exemplo de Script para login (para estaes Windows)


Os scripts so muito interessantes, pois disponibilizam recursos assim que um
usurio se conecta no Servidor. Abaixo encontra-se um script, no qual atualiza o harrio
da estao de acordo com o servidor e mapeia o drive X: como sendo um diretrio
compartilhado e o drive H: como sendo o drive pessoal do usurio, que pode ser usado
tanto em estaes Windows95 quanto em WindowsNT:
rem Logon Script padro para rede.
net time \\servidor /set /yes

10
@echo off
if %OS%.==Windows_NT.goto WinNT
:Win95
net use X: \\servidor\pasta
net use H: /HOME
goto end
:WinNT
net use X: \\servidor\pasta /persistent:no
net use H: /HOME /persistent:no
:end

7. Acessando o Servidor SAMBA, atravs de estaes Linux


O Samba alm de permitir o acesso de estaes Windows, tambm permite que
estaes Linux acessem Servidres Samba e/ou Servidores/estaes Windows.
O comando que torna o acesso possvel, o smbclient. Atravs deste comando,
possvel listar, ler, copiar, excluir, alterar arquivos/diretrios. Para verificar em um host,
qual o(s) compartilhamento(s), existentes, voc deve executar, o seguinte comando:
smbclient -L nome_host
este comando retorna uma lista de servios, nomes de dispositivos/impreeja
protegido, por uma senha, esta, juntamente com o nome do usurio ser solicitada. Veja
um exemplo:ssoras, que esto compartilhadas na rede. Caso o recurso esteja protegido,
por uma senha, esta, juntamente com o nome do usurio ser solicitada. Veja um
exemplo:
smbclient -L servidor
Server time is Fri Dec 18 22:40:25 2001
Timezone is UTC+10.0
Password:
Domain=[Empresa] OS=[Windows NT 4.0]
Server=[NT LAN Manger 4.0]
Server=[servidor1] User=[] Workgroup=[empresa] Domain=[]
Sharename

Type

Comment

ADMIN$Disk
Public
C$
Print$

Remote
Disk
Disk
Disk

Administration
Public
Default Share
Printer Control

para acessar uma pasta compartilhada, especifique o caminho da rede, conforme


o exemplo abaixo:
smbclient //maquina/pasta senha

11
aps digitar o comando acima, voc dever entrar em um prompt
smb:\>

8. Acessando o Servidor SAMBA, atravs de estaes NT Workstation


Quando voc trabalha com WindowsNT Workstation e possui um PDC Samba,
deve-se criar contas especficas para estas estaes, alm disso o parmetro de
encriptao de login deve estar ativado (este parmetro necessrio, devido ao terceiro
Service Pack, que tornou a encriptao de login padro).
Se deve alterar a permisso do arquivo smbpasswd, geralmente este arquivo
encontra-se em /usr/local/samba/private/smbpasswd, em algumas distribuies h um link
que est localizado em /etc. Para alterar a permisso do arquivo, utilize o comando
abaixo:
chmod go-rwx /usr/local/samba/private/smbpasswd
Para adicionar a conta NT, no servidor, siga os passos abaixo(no exemplo abaixo,
o nome do usurio "teste" e o grupo "estacao"):
adduser -g estacao -c NTWorkstation -d /dev/null -s /bin/false
-n
teste$
smbpasswd -a -m teste$
Agora, necessrio configurar a estao, para que a mesma possa participar do
Domnio. Isso deve ser feito da seguinte maneira:
v at o painel de controle e selecione Network => Identification Tag. Mude
o Domnio para o Domnio especificado no arquivo smb.conf. Pressione OK e aps
alguns segundos dever aparecer a mensagem "Welcome to Whatever Domain".
Reinicie a mquina e efetue o logon.

9. Migrando Senhas do WindowsNT para o SAMBA


Um dos principais problemas que ocorrem na migrao de um servidor
WindowsNT, para o Samba, o fato de que as senhas de logon so perdidas, devido a
criptografia do WindowsNT ser diferente da criptografia do Samba, mas para resolver este
problema existe um programa que converto todo o registro de "nome e senha" do
WindowsNT para um arquivo smbpasswd compatvel com o Samba. Este programa pode
ser
baixado
no
servidor
ftp
do
samba
em:
ftp://ftp.samba.org/pub/samba/pwdump/pwdump.exe
Aps baixar o programa, execute-o em um prompt MS-DOS da seguinte maneira:
pwdump > smbpasswd
Ser gerado um arquivo smbpasswd, com as informaes de autenticao (logon
e senha) do WindowsNT, no formato criptografado utilizado pelo Samba. Agora, copie
este arquivo para o Servidor Samba no diretrio /etc. Aps a copia do arquivo altere as

12
permisses para 600, faa isso da seguinte forma:
chmod 600 /etc/smbpasswd
Agora, que voc ja possui o arquivo smbpasswd, necessrio que o ID dos
usurios sejam o mesmo do arquivo passwd. Voc pode exportar o o nome do usurio,
ID, etc, porm no conseguir exportar as senhas. Mas para que o Samba rode sem
problemas, no necessrio que o usurio tenha a senha no Unix/Linux. Caso voc
queira exportar as senhas, crie um script conforme o quadro abaixo:
#!/bin/sh
awk 'BEGIN {FS=":"
printf("#\n# Unix password file. \n#\n")
}
{ pintf("%s.:*:%s:103:%s:/home/%s:/bin/bash\n", $1,$2,$5,$1)}
OBS:. No esquea que este script, deve ser salvo com a exteno .sh , e deve
possuir permisso de execuo. Se voc utiliza o shadow, desabilite-o antes de juntar os
arquivos, atravs do comando pwunconv.
Execute o script acima da seguinte forma:
cat /etc/smbpasswd | ./script.sh > passwd-smb
aps a execuo do script, execute o seguinte comando:
cat passwd-smb >> /etc/passwd

10. Adicionando o SAMBA a um Domnio WindowsNT


Se sua rede j possui um servidor PDC (WindowsNT), e voc quer adicionar um
servidor Samba, necessrio configurar o Samba a no utilizar o parmetro domain
master, domain logons e o os level deve estar inferior a 65. O nome NetBios do servidor
Samba, deve ser adicionado ao PDC do Domnio NT.
Como exemplo, utilizarei um servidor Samba como o nome NetBios de "Samba" e
o Domnio "Empresa". O PDC ter o nome de "File_Server" com dois controladores de
backup com os seguintes nomes "Backup1" e "Backup2".
Agora para poder juntar-se ao Domnio, no Servidor Samba execute o seguinte
comando:
smbpasswd -j EMPRESA -r File_Server
se o comando foi bem sucedido, aprecer a mensagem:
smbpasswd: Joined domain EMPRESA
O comando acima ativa o protocolo de mudana de senhas, gerando uma nova
conta aleatria para o servidor Samba, que geralmente ficar guardada em:
/usr/local/samba/private . O nome do arquivo ser semelhante a: EMPRESA.Samba.mac.

13
Em seguida edite o arquivo smb.conf e inclua os seguintes parmetros na seo
[global].
security = domain
workgroup = EMPRESA
encrypt passwords = yes
password server = File_Server Backup1 Backup2
Reinicie o Samba para que as mudanas tenham efeito.

11. Configurando o SAMBA remotamente


O Samba permite que a sua configurao seja feita remotamente, geralmente
usa-se um programa que trabalha via http. Esses programas permitem o acesso atravs
da rede interna ou at mesmo via Internet.
Existem dois principais programas que so o SWAT (que trabalha na porta 901) e
o Linuxconf. Para maiores detalhes acesse: http://us4.samba.org/samba/GUI

12. Adicionando Usurios ao SAMBA


Adicionar um novo usurio ao Samba, necessrio que o mesmo esteja criado
no linux(unix). Para cri-lo no linux, voc utiliza o comando:
adduser <nome-do-usurio> -g <nome-do-grupo>
passwd <nome-do-usurio>
Aps a criao do usurio no linux, deve-se adicionar o usurio, no arquivo de
configurao do samba /etc/smb.conf. Em seguida, reinicie o Samba.
Agora basta adicionar o usurio, no Samba, com o comando:
smbadduser <nome-do-usurio>:<nome-do-grupo-no-samba>
smbpasswd <nome-o-usurio>
OBS.: O nome do usurio no deve ultrapassar 8 dgitos, devido a
problemas na hora de login nas estaes Windows

13. Componentes do SAMBA


13.1. smbtar
Com o comando smbtar, possvel fazer backups de diretrios
compartilhados, inclusive de estaes (mesmo se o sistema operacional
dessa esto for Windows) da rede.
Para fazer backup de estaes utilize a sintaxe abaixo:
smbtar -s host -p senha -x compa Backup1rtilhamento -d pasta -t fita(.tar)

14
como exemplo de utilizao do smbtar, vamos criar um arquivo
chamado backup.tar, no qual ser o backup de //servidor1/pasta1
smbtar -s servi =dor1 -x pasta1 -d * -t backup.tar
para conferir se o arquivo criado est correto, digite:
tar -tvf backup.tar
Para fazer backup em fitas, voc pode especificar /dev/st0 na saida do
comando smbtar.

13.2. smbpasswd
O smbpasswd, permite que as estaes troquem suas senhas de
logon. O seu funcionamento bem parecido ao do passwd. Para que o seu
funcionamento ocorra sem problemas, necessrio que o Samba esteja
configurado para utilizar senhas criptografadas.
Para fazer backup em fitas, voc pode especificar /dev/st0 na saida do
comando smbtar.

13.3. smbstatus
Este comando utilizado para verificar a atual situao das conexes
do Samba. No quadro abaixo est uma lista das opes aceitas pelo
smbstatus.
-b - Fornece uma resposta resumida.
-d - Fornece uma resposta comentada.
-L - Lista somente os recursos em uso.
-p - Lista os processos smbd e finaliza em seguida. til quando utilizado em
programas.
-S - Lista todos os compartilhamentos definidos.
-s - Permite utilizar outro arquivo de configurao que deve ser
especificado aps a opo.
-u - Lista as informaes relevantes sobre o usurio, que deve ser
especificado aps a opo.

13.4. testprns
O testprns verifica o nome da impressora junto ao smbd, verificando
se um nome vlido. Ativa-se da seguinte maneira:
testprns <nome_impressora>

15

14. Exemplo de Configurao do arquivo SMB.CONF


[global]
comment = Servidor Samba
workgroup = bruno
security = server
os level = 100
announce as = Samba Server
domain logons = yes
logon script = %U.bat
logon path = //%L/profiles/%U
domain master = yes
local master = yes
guest account = nobody
encrypt passwords = yes
log file = /var/log/samba_log.%U
null passwords = no
socket options = IPTOS_LOWDELAY TCP_NODELAY
printing = bsd
printcap name = /etc/printcap
load printers = yes
hosts allow = 192.168.202.
server string = Servidor de Rede Principal
map to guest = never
password level = 0
preferred master = yes
wins support = no
dead time = 0
debug level = 0
unix password sync = yes
netbios name = SRVSamba
admin user = bruno
max disk size = 800
[homes]
comment = Pasta dos usurios
public = no
browseable = yes
writeable = yes
[printers]
comment = Impressoras Linux
public = no
browseable = yes
printable = yes
read only = yes
create mode = 0700
path = /var/spool/samba
[netlogon]

16
comment = Compartilhamento de Scripts
path = /etc/scripts
public = no
browseable = no
writeable = no
logon script = %U.bat
logon path = //%L/profiles/%U
domain logons = yes
[RH]
comment = Grupo de Trabalho do RH
path = /home/RH
public = no
browseable = yes
valid users = bruno
writeable = yes
write list = bruno
force create mode = 0777
force directory mode = 0777
guest only = no

Você também pode gostar