Configura��o do Samba

ArticleCategory: [Choose a category for your article]

System Administration

AuthorImage:[Here we need a little image from you]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in fr Éric Seigne 

en to pt Bruno Sousa 

AboutTheAuthor:[A small biography about the author]

Trabalho para o mundo de software livre e, entre outras coisas, desenvolvo aplica��es para aceder a base de dados web utilizando utilit�rios como o PostGreSQL ,MySQL e o PHP. Para tornar livre o meu modo de trabalhar (ser capaz de ter outro trabalho de tempos em tempos... como come�ar um novo projecto C) comecei, recentemente o meu pr�prio neg�cio. Para piorar as coisas, sou ainda um membro da ABUL www.abul.org (e ainda n�o paguei a minha subscri��o!).

Abstract:[Here you write a little summary]

Tentarei, explicar aqui o trabalho que tiv�mos para implementar um servidor linux-samba, usado como controlador de dom�nio para uma rede Windows.
Administra��o de permiss�es dos utilizadores, dos perfis... ser�o detalhados.
Este documento assenta na distribui��o Debian GNU/Linux 2.2 o que pode explicar que o seu ficheiro smb.conf, por omiss�o, seja um pouco difirente, de acordo com a sua distribui��o.
A vers�o do samba utilizada para este artigo foi a 2.0.7

ArticleIllustration:[This is the title picture for your article]

[Illustration]

ArticleBody:[The article body]

Instalando o Samba

Sopunhamos que sabe um pouco de samba e que este j� est� instalado no seu servidor.
Se n�o for o caso, para uma instala��o r�pida, verifique:
Debian: apt-get install samba
RedHat(Mandrake): rpm -vih /mnt/cdrom/RedHat(Mandrake)/RPMS/samba*

O ficheiro de configura��o: defini��es gerais

O Samba utiliza s� um ficheiro de configura��o, onde pode encontrar blocos tais como [global].

S� um ficheiro de configura��o para o samba!


<ficheiro smb.conf m�nimo>
[global]
   printing = bsd
   printcap name = /etc/printcap
   load printers = yes
   guest account = pcguest

   log file = /usr/local/samba/log.%m

[tmp]
  comment = Temporary file space
  path = /tmp
  read only = yes
  public = yes
</file>

Se correr o samba com este ficheiro de configura��o, as m�quinas windows, na sua rede local, ser�o capazes de ver na sua vizinhan�a da rede, que a m�quina chamada (o nome da m�quina Linux) partilha um direct�rio tempor�rio onde pode escrever.

ATEN��O: quando actualiza o ficheiro de configura��o, deve reiniciar o samba utilizando a script /etc/init.d/samba restart (para a debian)

O ficheiro de configura��o, par�metros "avan�ados"

Verifiquemos os seguintes par�metros:

Vari�veis Samba

Vari�vel Defini��o
Vari�veis do Cliente
%a Arquitectura do Cliente
Exemplo: Win95, WfWg, WinNT, Samba ...
%I Endere�o IP do cliente
%m Nome de NetBios do cliente
%M Nome de DNS do cliente
Vari�veis de utilizador
%g Grupo prim�rio do utilizador %u
%H Direct�rio de trabalho do utilizador %u
%u Nome Unix actual do utilizador
Vari�veis de partilha
%P Raiz da partilha actual
%S Nome da partilha actual
Vari�veis do servidor
%h nome DNS do servidor Samba
%L nome NetBios do servidor Samba
%v Vers�o do Samba
Vari�veis variadas
%T Data e tempo corrente

Exemplos de utiliza��o destas vari�veis: se a sua rede aloja m�quinas a correr o windows 3.11 e o windows 98, pode criar dois ficheiros de configura��o, um para cada sistema. utilizando a vari�vel %a.

Resultado: o nosso ficheiro de configura��o

<ficheiro smb.conf>

[global]
printing = bsd
printcap name = /etc/printcap
load printers = yes
guest account = nobody
invalid users = root

; altere o seu nome de netbios
netbios name = pantoufle
; isto � a interface onde deve estar � escuta
; (n�o precisa do samba noutra interface de rede visto que o samba
; administra a liga��o � Internet!)
interfaces = 192.168.0.1/255.255.255.0

; O security user implica que todos os utilizadores tenham um conta unix no
; servidor
security = user

; O nome do grupo de trabalho a que o servidor pertence
workgroup = rycks
; Uma descri��o do servidor, de leitura quando se est� a apresentar os
; detalhes
; A %h � o nome DNS do servidor e %v a vers�o do samba
server string = %h server (Samba %v)

; Para al�m do ficheiro de log syslog, utilizamos tamb�m o do samba
syslog only = no

; A informa��o menos importante � para ser escrita no syslog,
; a restante informa��o encontra-se em /var/log/smb(nmb)/
syslog = 0;

; Afinemos as liga��es!
socket options = IPTOS_LOWDELAY TCP_NODELAY \
SO_SNDBUF=4096 SO_RCVBUF=4096

; Utilizamos palavras-passe encriptadas. Seja cuidadoso,
; todo o cliente W95 tem de ser actualizado com o patch de seguran�a MS SMB
; O NT4 tem de ser actualizado com o SP3 ou superior...
; Em rela��o ao W3.11 n�o consigo lembrar-me:
; provavelmente n�o suporta palavras-passe encriptadas :(
encrypt passwords = yes

; Este servidor tamb�m trabalha como servidor WINS.
; O WINS permite que duas redes, utilizando intervalos diferentes de IP's
; (por exemplo 192.168.0.0/255.255.255.0 e 192.168.0.1/255.255.255.0)
; vejam os recursos partilhados de "outra" rede,
; mal o gateway esteja activo.
wins support = yes

; O n�vel de OS. Visto que o nosso servidor � o master do dom�nio, com
; logons locais, etc, �
; "superior" ao servidor NT, se houver algum!
os level = 34

; Administra��o de Dominio
domain master = yes
local master = yes
preferred master = yes

; Administra��o das liga��es de dom�nio
domain logons = yes

; Qual a script a correr quando um cliente se liga?
; O %g corresponde ao nome do grupo prim�rio de que o utilizador � membro
logon script = %g.bat
; Em que direct�rio � que se podem encontrar os ficheiros das scripts?
; O %L � o nome netbios do servidor samba
logon path=\\%L\netlogon
; Onde armazenar o perfil dos utilizadores?
; O %U � o login do utilizador
logon home=\\%L\%U\winprofile

; Em que ordem devem ser verificados os resursos a serem encontrados
; pelo nome de uma m�quina?
; Note o broadcast no fim ... ao contr�rio do windows
; que, por base, envia broadcasts.
name resolve order = lmhosts host wins bcast

; Deve o Samba ser utilizado como proxy de DNS?
dns proxy = no

; Preservar o nome dos ficheiros e a sua capitula��o
; (Mai�sculas, Min�sculas)
preserve case = yes
short preserve case = yes

; Devemos sincronizar as palavras-passe do windows e do Linux?
unix password sync = yes

; O que deve ser utilizado para a sincroniza��o de palavras-passe
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* \
%n\n *Retype\snew\sUNIX\spassword:* %n\n .

; Tamanho m�ximo do ficheiro de log,
; previne a satura��o do direct�rio /var
max log size = 1000

; Somos um servidor de tempo: uma boa coisa para a sincronizar
; um pouco o tempo das m�quinas.
; Utilizaremos esta caracter�stica a partir do ficheiro logon .bat
time server = yes

; Especificamos onde est� o netlogon.
; S� � utilizado na altura de liga��o,
; assim n�o o temos de tornar p�blico.
[netlogon]
path = /home/netlogon/%g
public = no
writeable = no
browseable = no

; O direct�rio de trabalho para cada utilizador
[homes]
comment = Home Directories
browseable = no

; Pode ele escrever ?
read only = no

; A m�scara por omiss�o do unix
create mask = 0700

; Com o prop�sito de seguran�a, a m�scara
; de direct�rio tamb�m � definida como 700!
directory mask = 0700


; Partilhamos o FTP, � mais f�cil t�-lo na vizinah�a da rede
; do que ter um programa especifico
[ftp]
path = /home/ftp/pub
public = yes
printable = no
guest ok = yes

; O direct�rio tempor�rio
[tmp]
path = /tmp
public = yes
printable = no
guest ok = yes
writable = yes

; Outro direct�rio tempor�rio especial
; para um utilizador a precisar de extra espa�o!
[bigtemp]
path = /home/bigtemp
public = yes
printable = no
guest ok = yes
valid users = erics
writable = yes

</smb.conf file>

O que temos no servidor

De um forma breve, o servidor poderia ter:



<file /home/netlogon/admin.bat>
net use P: \\pantoufle\homes
net use T: \\pantoufle\tmp
net time \\pantoufle /SET /YES
</file admin.bat>
   
<file /home/netlogon/teachers/teachers.bat>
net use P: \\pantoufle\homes
net use T: \\pantoufle\tmp
net time \\pantoufle /SET /YES
regedit /s \\pantoufle\netlogon\teachers.reg
</file teachers.bat>
   
<file /home/netlogon/pupils/pupils.bat>
net use P: \\pantoufle\homes
net use T: \\pantoufle\tmp
net time \\pantoufle /SET /YES
regedit /s \\pantoufle\netlogon\pupils.reg
</file pupils.bat>
   
<file /home/netlogon/teachers/teachers.reg>
[HKEY_CURRENT_USER\Software\Microsoft\Windows
\CurrentVersion\Explorer\User Shell Folders]
"Personal"="P:\\"
</file teachers.reg>
   
<file /home/netlogon/pupils/pupils.reg>
[HKEY_CURRENT_USER\Software\Microsoft\Windows
\CurrentVersion\Explorer\User Shell Folders]
"Personal"="P:\\"
</file pupils.reg>
   

Este ficheiro permite a montagem autom�tica do direct�rio pessoal do utilizador no arranque como drive P: e o direct�rio tempor�rio como drive T:. O tempo do sistema tamb�m � obtido a partir do servidor samba.

NOTE: o ficheiro .bat deve ter a mudan�a de linha no "modo DOS". O modo mais f�cil para criar este ficheiro � com o notepad, por exemplo, e envi�-lo para o servidor.

Definindo a pol�tica de seguran�a do sistema (C) (TM) (R)

Proteger o Windows, � quase poss�vel, utilizando um controlador de dom�nio.

Isto � um t�tulo! Bem, Roubei-o de um documento da MS respeitante � pol�tica de seguran�a deles.

Assim, para criar uma pol�tica de sistema Windows, para, por exemplo, evitar que alguns utilizadores (todos ?) corram o regedit, um programa DOS, etc, tem de utilizar o POLEDIT que se encontra no CD do Windows 98.

Corra o PolEdit, veja a sua ajuda, aponte a informa��o... este artigo n�o tem por inten��o ensinar-lhe como � que software propriet�rio funciona.

Logo que o seu ficheiro .POL esteja pronto, copie-o para o servidor samba, para o direct�rio que se encontra na PATH do grupo [netlogon].

CUIDADO: Para clientes W9x, o ficheiro de estrat�gia do sistema deve ser o CONFIG.POL ... para o WindowsNT � outro nome, e por n�o ter NT n�o lho posso dizer:'(
N�o, n�o me envie uma vers�o NT com o prop�sito de testes. De qualquer modo, obrigado. Foi muito simp�tico da sua parte:o)

NOTE: O PolEdit permite-lhe criar grupos de utilizadores e utilizadores, mas ainda n�o o conseguimos. S� o utilizador criado por omiss�o � que � tido em conta.

Por exemplo, se eu criar um grupo "admin" no PolEdit, com permiss�o de editar o regedit, ao ligar-me como "erics" ("admin" sendo o seu primeiro grupo), Eu n�o posso correr o regeedit:(

Contudo crie um utilizador "erics" no poledit... e trabalhar�.

Visto que n�o nos vemos a criar 1056 utilizadores no poledit e a administra��o global dos utilizadores � mais interessante, "oferecemos" o seguinte truque:

Para fazer isto, and�mos � volta do problema: cri�mos 3 ficheiros config.pol somente com os utilizadores por omiss�o, no servidor Linux temos:
/home/netlogon/teachers/CONFIG.POL
/home/netlogon/teachers/teachers.bat
/home/netlogon/pupils/CONFIG.POL
/home/netlogon/pupils/pupils.bat
/home/netlogon/admin/CONFIG.POL
/home/netlogon/admin/admin.bat
E alter�mos o ficheiro smb.conf para ter isto em conta:

<smb.conf file>
[netlogon]
; adicion�mos o %g para meter o netlogon apontar para um direct�rio
; diferente do grupo de utilizador, no qual o ficheiro config.pol
; corresponde a cada perfil de grupo de utilizador.
path = /home/netlogon/%g
public = no
writeable = no
browseable = no
</smb.conf file>

Configura��o das m�quinas Windows

Com um pouco de sorte, 20 cliques de rato e um reboot devem ser suficientes para configurar o windows!

Para um cliente do tipo Win98

Clique em Start/Parameters/Configpanel e duplo-clique em Network

Instale:

network configuration

De seguida clique no tab de "Identifica��o" e forne�a o nome de computador e o respectivo workgroup.
Identity

Clique no "Controle de Acesso" e seleccione a checkbox com o controle a n�vel de utilizador
Access control

Volte novamente ao tab de configura��o e d� um duplo-clique em "Cliente para redes MS"
Client for MS network

N�o se esque�a de configurar o suporte TCP/IP:
Duplo-clique em TCP/IP
Endere�o IP:

A configura��o WINS:

Notas "personaliza��o/performance/bom senso?"

No trabalho, rapidamente aparece um estrangulamento devido � utiliza��o dos perfis do windows.

De facto, o perfil est� cheio de coisas que a MS decidiu serem importantes como a cache do IE, a cache do OutLook, etc.

Em suma, isto significa que cerca de 10MB ser�o transferidos ao ligar-se � m�quina (contudo, o meu perfil � um "cl�ssico", uma imagem de fundo, ie e outlook...) e 10MB ser�o transferidos para o servidor ao desligarmos.

10 MB por cada utilizador, numa sala com 15 m�quinas (tamanho "normal" de um laborat�rio, por exemplo), faz 150MB e se o edif�cio tiver 10 salas... calcule somente o tempo que demoraria quando os utilizadores se desligam ao tocar a campanhia.

Devia antecipar-se e deligar-se 5... (bem tenho de admitir que era o que eu fazia quando era estudante) em vez de passados 5 minutos. � um pouco como a circula��o do tr�fego das grandes cidades: � melhor ir 10 minutos antes do que passadas 2 horas!

Assim, de acordo com a pol�tica que implementar pode ser uma boa ideia montar o direct�rio de trabalho na drive P: (por exemplo, P de Pessoal) para toda a gente e educar os utilizadores: "guarde os seus documentos na drive P e n�o nos Meus Documentos, caso contr�rio n�o poder�o ser recuperados".

De seguida, tem de encontrar o software capaz de ser configurado para ter as bookmarks em P:\bookmarks.html e o mesmo para os devidos par�metros.

Nem sequer sei se tal existe no mundo do Windows!

Se est� ciente de uma solu��o, escreva um artigo acerca disto, isto � conhecimento para partilhar!

Quest�es e sugest�es a seguir

� possivel ter v�rios grupos de trabalho no mesmo dom�nio, como � que isto pode ser administrado, � possivel partilhar os problemas entre v�rios GNU/Linux Samba?

Como utilizar ambos os servidores NT e Samba?

A configura��o dos clientes NT: o equivalente ao CONFIG.POL tem outro nome sob o NT.

Um problema real quando se tem um s� servidor Samba (e nenhum NT): Estou a trabalhar sob o W98 e quero partilhar um recurso local, a minha impressora por exemplo:

Apresenta��o da partilha da minha impressora

Seguindo o clique do bot�o adicionar...

BOAS NOT�CIAS: algu�m me deu a solu��o. O Suficiente para seleccionar "controle de n�vel de acesso a recurso" durante o passo 3 da configura��o do windows.

Agradecimentos

Ao Bruno <bcarrere(at)asp-france.fr> pelo seu trabalho de prova de leitura e pela sua ajuda preciosa :o)

Ao JohnPerr por me incitar a escrever o meu primeiro artigo para a LinuxFocus, e por o ter traduzido para Ingl�s.
Ao Michel Billaud tamb�m conhecido por MiB por todas as solu��es que encontrou para os nossos problemas; ensninou-nos truques como o strace, etc.:o)
Ao Etienne, Éric, e ao homem invisivel cujo nome me esqueci, desculpe-me por isso! Obrigado, ent�o, por ter partilhado o seu conhecimento dos cursos da MS acerca de servidores NT.
Ao Jean Peyratout, precisamos de dizer porqu�? Seria muito longo.
A Abul por assim falar
Rycks por me fornecer tempo e recursos para desenvolver e documentar software livre.

Recursos

Livro Online da O'Reilly: http://www.oreilly.com/catalog/samba/chapter/book/index.html

Este documento ser� actualizado em a sec��o de documenta��o da rycks.com