original in fr Éric Seigne
en to pt Bruno Sousa
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!).
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
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 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)
Verifiquemos os seguintes par�metros:
Especificamos onde se encontra o netlogon.
Bloco dos perfis de utilizadores.
Direct�rio de trabalho dos utilizadores.
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.
<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>
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.
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>
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:
De seguida clique no tab de "Identifica��o" e forne�a o nome de
computador e o respectivo workgroup.
Clique no "Controle de Acesso" e seleccione a checkbox com o
controle a n�vel de utilizador
Volte novamente ao tab de configura��o e d� um duplo-clique em
"Cliente para redes MS"
N�o se esque�a de configurar o suporte TCP/IP:
Duplo-clique em TCP/IP
Endere�o IP:
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!
� 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.
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.
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