Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Prezados colegas,
Primeiramente saudaes pinguianas a todos.
Depois de muito pesquisar na Internet para montar um controlador de domnio Samba com
PDC, recebi escrever esse artigo para facilitar a vida de quem precisar fazer isso.
Para isso, utilizaremos o nosso amado Debian.
Logo depois de instalar o Debian GNU/Linux preciso atualizar o sistema, para isso altere o
sources.list colocando as seguintes linhas:
# vim /etc/apt/sources.list
Deixe-o assim:
deb http://security.debian.org/ squeeze/updatesmain contrib non1 free
2 deb-src http://security.debian.org/ squeeze/updatesmain contrib
non-free
3
4
5
6
7
8
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
recycle:versions = yes
recycle:repository = /arquivos/samba/trash/%U
recycle:keeptree = yes
recycle:exclude = *.mp3, *.iso
recycle:exclude_dir = tmp, cache
full_audit:success = write, unlink, rename, rmdir, chmod, chown
full_audit:prefix = %u|%S
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice
[netlogon]
comment = servico de logon
path = /etc/samba/netlogon
readonly = yes
browseable = no
[profiles]
path = /arquivos/samba/profiles
writeable = yes
browseable = no
create mask = 0600
directory mask = 0700
[Homes]
path = /home/%u
valid users= %S
readonly = no
create mask = 0700
directorymask = 0700
browseable = no
[Lixeira]
path = /arquivos/samba/trash/%U
writable = yes
create mask = 0700
directory mask = 0700
browseable = yes
[Recursos Humanos]
path = /arquivos/samba/rh
browseable = yes
writable = yes
valid users= @geral
[Compras]
path = /arquivos/samba/compras
browseable = yes
writable = yes
validusers= @geral
[Financeiro]
path = /arquivos/samba/financeiro
browseable = yes
writable = yes
valid users= @geral
[Qualidade]
path = /arquivos/samba/qualidade
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
browseable = yes
writable = yes
valid users= @geral
[Publico]
path = /arquivos/samba/publico
browseable = yes
writable = yes
Introduo
Numa pequena rede, manter as senhas dos usurios sincronizadas entre as estaes Windows e o
servidor Samba no chega a ser um grande problema. Mas, em redes de maior porte isto pode
tornar-se uma grande dor de cabea e passar a consumir uma boa parte do seu tempo.
Para solucionar o problema, existe a opo de usar o servidor Samba como um controlador
primrio de domnio (PDC), servindo como um servidor de autenticao para os clientes Windows.
Ao cadastrar um novo usurio no servidor Samba, ele automaticamente pode logar-se em
qualquer uma das estaes configuradas. Ao remover ou bloquear um login, ele automaticamente
bloqueado em todas as estaes. Isto elimina o problema de sincronismo entre as senhas no
servidor e nas estaes e centraliza a administrao de usurios e permisses de acesso no
servidor, simplificando bastante seu trabalho de administrao.
O primeiro passo modificar o arquivo de configurao do Samba. Existem algumas regras
adicionais para transformar o Samba num controlador de domnio. A seo "global" deve conter as
linhas "domainmaster = yes", "domainlogons = yes" e "logon script = netlogon.bat" e
(importante) no deve conter a linha "invalidusers = root" pois precisaremos usar a conta de root
no Samba ao configurar os clientes. preciso adicionar tambm um compartilhamento chamado
"netlogon", que conter o script de login que ser executado pelas estaes.
Este um exemplo de arquivo de configurao do Samba para um controlador de domnio. Ele no
contm as configuraes para compartilhamento de impressoras, que voc pode adicionar
(juntamente com os compartilhamentos desejados) depois de testar a configurao bsica:
[global]
workgroup
netbios
server
=
name
string
domain
preferred
local
domain
logon
[homes]
comment
valid
guest
browseable = No
Samba
master
master
master
logons
script
security
encrypt
os
[netlogon]
comment
path
guest
browseable
=
=
=
=
=
Dominio
GDH
PDC
yes
yes
yes
yes
netlogon.bat
=
=
passwords
level
=
=
Servico
de
=
ok
=
=
=
users
ok
user
yes
100
Diretorio
=
=
Logon
/var/samba/netlogon
Yes
No
Home
%S
Yes
Acostume-se a sempre rodar o comando "testparm" depois de fazer alteraes no arquivo, pois
ele verifica a sintaxe e indica erros de configurao. Ao configurar o Samba como PDC, ele deve
exibir a mensagem: "Server role: ROLE_DOMAIN_PDC".
Depois de configurar o arquivo, verifique se a conta root do sistema foi cadastrada no Samba e se
as senhas esto iguais. Caso necessrio, use o comando "smbpasswd -a root" para cadastrar o
root.
Aproveite para criar a pasta "/var/samba/netlogon" e configurar corretamente as permisses:
#
mkdir
# chmod 775 /var/samba/netlogon
-p
/var/samba/netlogon
Com o "775" estamos permitindo que alm do root, outros usurios que voc adicionar no grupo
possam alterar o contedo da pasta. Isso pode ser til caso existam outros administradores de
rede alm de voc.
Cadastre agora os logins dos usurios, com as senhas que eles utilizaro para se logar a partir das
mquinas Windows. Neste caso no preciso se preocupar em manter as senhas em sincronismo
entre o servidor e as estaes. Na verdade, as contas que criamos aqui no precisam sequer
existirem nas estaes, pois o login ser feito no servidor. Para adicionar um usurio de teste
"joao", use os comandos:
#
# smbpasswd -ajoao
adduserjoao
importante criar tambm a pasta "profile.pds" dentro do diretrio home do usurio, onde o
cliente Windows armazenar as informaes de seo cada vez que o usurio faz logon:
# mkdir /home/joao/profile.pds
Alm das contas para cada usurio, preciso cadastrar tambm uma conta (sem senha) para cada
mquina. Voc deve usar aqui os mesmos nomes usados na configurao de rede em cada cliente.
Se a mquina se chama "athenas" por exemplo, preciso criar um login de mquina com o
mesmo nome:
#
useradd
-d
#
passwd
# smbpasswd -a -m athenas
/dev/null
-s
/bin/false
-l
athenas$
athenas$
Note que nos dois primeiros comandos adicionado um "$" depois do nome, que indica que
estamos criando um login de mquina, que no tem diretrio home (-d /dev/null), no possui um
shell vlido (-s /bin/false) e est travada (passwd -l). Esta conta vlida apenas no Samba, onde
cadastrada com a opo "-m" (machine). Estas contas de mquina so chamadas de
"trustedaccounts" ou "trustee".
Por ltimo, necessrio criar o arquivo "/var/samba/netlogon/netlogon.bat", um script que
lido e executado pelos clientes ao fazer logon. Voc pode fazer muitas coisas atravs dele, mas um
exemplo de arquivo funcional :
net
net
use
net time \gdh /set /yes
use
x:
H:
\gdharquivos
/HOME
/yes
Este script faz com que a pasta home de cada usurio (compartilhada pelo Samba atravs da
seo "homes") seja automaticamente mapeada como a unidade "H:" no cliente, o que pode ser
bastante til para backups por exemplo. Naturalmente, cada usurio tem acesso apenas a seu
prprio home.
A segunda linha um exemplo de como fazer com que determinados compartilhamentos do
servidor sejam mapeados no cliente. O "net use x: \gdharquivos /yes" faz com que o
compartilhamento "arquivos" (que precisaria ser configurado no smb.conf) seja mapeado como o
drive "X:" nos clientes. A terceira linha sincroniza o relgio do cliente com o do servidor.
Lembre-se que o "gdh" dentro do netlogon.bat deve ser substitudo pelo nome do seu servidor
Samba, configurado na opo "netbiosname =" do smb.conf.
Mais uma configurao til (porm opcional) fazer com que o servidor armazene os arquivos e
configuraes do usurio (recurso chamado Roaming Profiles), fornecendo-os estao no
momento em que o usurio faz logon. Isto permite que o usurio possa trabalhar em outras
mquinas da rede e faz com que seus arquivos de trabalho sejam armazenados no servidor,
diminuindo a possibilidade de perda de dados.
Por outro lado, isto faz com que seja consumido mais espao de armazenamento do servidor e
aumenta o trfego da rede, j que os arquivos precisam ser transferidos para a estao a cada
logon. Isto pode tornar-se um problema caso os usurios da rede tenham o hbito de salvar
muitos arquivos grandes na rea de trabalho.
Note que o servidor no armazena todos os arquivos do usurio, apenas as configuraes,
entradas do menu iniciar, cookies, bookmarks e arquivos temporrios do IE e o contedo das
pastas Desktop, Modelos e Meus Documentos.
Para ativar o suporte no Samba, adicione as duas linhas abaixo no final da seo "global" do
smb.conf (abaixo da linha "logon script = netlogon.bat"):
logon
home
logon path = \%Lprofiles%U
\%L%U.profiles
[profiles]
path
writeable
browseable
create
directory mask = 0700
=
=
=
mask
/var/profiles
Yes
No
0600
#
# chmod 1777 /var/profiles
mkdir
/var/profiles
Cada usurio passa a ter uma pasta pessoal dentro da pasta ("/var/profiles/joao" por exemplo)
onde as configuraes so salvas. Apesar das permisses locais da pasta permitirem que qualquer
usurio a acesse, o Samba se encarrega de permitir que cada usurio remoto tenha acesso apenas
ao seu prprio profile.
As estaes Windows 2000 e Windows XP utilizam os perfis mveis automaticamente quando o
recurso est disponvel no servidor Samba. Voc pode verificar a configurao e, caso desejado,
desativar o uso do perfil mvel no cliente no "Meu Computador > Propriedades > Perfis de Usurio
> Alterar tipo".
Neste ponto a configurao do servidor Samba est pronta. Falta apenas configurar os clientes
Windows para efetuarem logon no domnio.
Nem todas as verses do Windows suportam este recurso. Como controladores de domnio so
usados principalmente em redes de mdio ou grande porte em empresas, a Microsoft no inclui
suporte no Windows XP Home e no XP Starter (tambm chamado jocosamente de
"MiserableEdition"), de forma a pressionar as empresas a comprarem o XP Professional, que
mais caro.
A configurao muda de acordo com a verso do Windows:
- No Windows 2000, acesse o "Meu Computador > Propriedades > Identificao de rede >
Propriedades". Coloque aqui o nome do computador (que precisa ser um dos logins de mquinas
adicionados na configurao do Samba) e o nome do Domnio, que definido na opo "
workgroup =" do smb.conf. Para ter acesso a esta opo voc deve estar logado como
administrador:
Na tela de identificao que ser aberta a seguir, logue-se como "root", com a senha definida no
Samba. normal que a conexo inicial demore dois ou trs minutos. Se tudo der certo, voc
saudado com uma mensagem como a abaixo:
necessrio identificar-se como root ao fazer a configurao inicial, para que seja criada a relao
de confiana entre o servidor e o cliente. A partir da aparece a opo opo "Efetuar logon em:
DOMINIo" na tela de login, permitindo que o usurio logue-se usando qualquer uma das contas
cadastradas no servidor. Continua disponvel tambm a opo de fazer um login local.
- No Windows 98 ou ME: Comece logando-se na rede (na tela de login aberta na inicializao)
com o mesmo usurio e senha que ser usado para fazer logon no domnio. Acesse agora o "Painel
de Controle > Redes > Cliente para redes Microsoft > Propriedades". Marque a opo "Efetuar
Logon num domnio NT", informe o nome do domnio e marque a opo "Efetuar logon e restaurar
conexes". Ao terminar, ainda preciso fornecer o CD de instalao e reiniciar a mquina.
Note que as mquinas com o Windows 98/ME no so compatveis com todos os recursos do
domnio, elas acessam o domnio dentro de uma espcie de modo de compatibilidade.
- No Windows XP Professional o procedimento um pouco mais complicado. Comece copiando
o arquivo "/usr/share/doc/samba-doc/registry/WinXP_SignOrSeal.reg" (do servidor), que fica
disponvel ao instalar o pacote "samba-doc". Esta uma chave de registro que precisa ser
instalada no cliente.
Acesse agora as propriedades do "Meu Computador" e na aba "Nome do Computador" clique no
boto "ID de rede". Ser aberto um Wizard que coleta o nome do domnio, nome da mquina e
login de usurio. Lembre-se que necessrio efetuar o primeiro logon como root.
Se no der certo da primeira vez, acesse o "Painel de controle > Ferramentas administrativas >
Diretiva de segurana local > Diretivas locais > Opes de segurana" e desative as seguintes
opes:
Para confirmar se os clientes esto realmente efetuando logon no servidor, use o comando
"smbstatus" (no servidor). Ele retorna uma lista dos usurios e mquina logadas, como em:
Samba
version
PID
Username
----------------------------------------------------4363
joaojoaoathenas
Service
pid
machine
----------------------------------------------------joao 4363 athenas Sat Jul 9 10:37:09 2005
3.0.14a-Debian
Machine
Group
(192.168.o.34)
Connected
at
passdbbackend = tdbsam
## restringir usurios por acessos
obeypamrestrictions = yes
## fazer requisio de password nos acessos de compartilhamento
unixpasswordsync = yes
## Local onde buscara as senhas
passwdprogram = /usr/bin/passwd %u
## pardro do samba
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n
*password\supdated\ssuccessfully* .
## pardro do samba aconselhvel para PDC
passwordlevel = 8
## pardro do samba aconselhvel para PDC
usernamelevel = 16
## forar autenticao
pampasswordchange = yes
## aqui decide se controlador de domnio ou no
domainlogons = yes
## busca dos profiles que cada usurio ter
logon path = \\%L\profiles\%U
## aqui determinamos os mapeamentos via .BAT
logon script = %U.bat
## addusuarios no samba
adduser script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
## add maquinas cliente no samba.
add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /dev/null
-s /bin/false %u
add group script = /usr/sbin/addgroup --force-badname %g
add user to group script = /usr/sbin/adduser %u %g
delete user script = /usr/sbin/userdel %u
delete group script = /usr/sbin/groupdel %g
delete user from group script = /usr/sbin/deluser %u %g
set primary group script = /usr/sbin/usermod -g %g %u
load printers = no
## noserservidor e impresso
#printing = cups
#printcap name = cups
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
## primeiroservidor a responder narede
## seguiressas conf. at o hosts
preferred master = yes
local master = yes
domain master = yes
os level = 255
log level = 2
unix charset = iso8859-1
display charset = cp850
max mux = 100
max open files = 100000
kernel oplocks = no
oplocks = no
remote announce = 192.168.1.255
## brodcast da suarede
remote browse sync = 192.168.1.255
## Range de ip da rede no meucaso local, redeinterna e VPN
hosts allow = 127., 192.168.1.,192.168.3.
blocksize = 4096
level2 oplocks = no
## aqui irei bloquear arquivos com essas extenses na minha rede
veto files = /*.mp3/*.wmv/*.wma/*.ogg/*.mpeg/*.mpg
## Criao da auditoria do meu Samba..
vfsobjects = full_audit
full_audit:success = write, unlink, rename, mkdir, rmdir, chmod, chown
full_audit:failure = write, unlink, rename, mkdir, rmdir, chmod, chown
full_audit:prefix = %u|%I|%S
path = /home/Meu-dominio/ti/suporte
validusers = @grif_suporte // acesso somente a usurios adicionada no grupo grif_suporte
writelist = @grif_suporte // somente que faz parte da lista grif_suporte
readonly = no
// somente leitura no
force createmode = 0777 // Permisso total para o dono, grupo e usurios
force directorymode = 0777 // Permisso total para o dono, grupo e usurios
vfsobjects = recycle, full_audit // auditoria e lixeira
recycle:maxsize = 209715200
recycle:repository = .recycle
[controle]
comment = Controle de qualidade
path = /home/Meu-dominio/department/cq/controle
validusers = @grif_cq
// Recapitulando
writelist = @grif_cq
// acesso somente para o grupo grif_cq
readonly = no
// somente leitura no
force createmode = 0777 // Permisso total para o dono, grupo e usurios
force directorymode = 0777 // Permisso total para o dono, grupo e usurios
vfsobjects = recycle, full_audit // arquivo de auditoria e lixeira
recycle:maxsize = 209715200
// tamanho Maximo lixeira
recycle:repository = .recycle
// nome da lixeira
[orcamento]
comment = Orcamentos
// Comentrio
path = /home/Meu-dominio/department/orc // Criar pasta
validusers = @grif_orc
// Somente
writelist = @grif_orc
// Somente
readonly = no
// somente leitura no
force createmode = 0777
// Permisso total para o dono, grupo e usurios
force directorymode = 0777
// Permisso total para o dono, grupo e usurios
vfsobjects = recycle, full_audit
// auditoria e lixeira
recycle:maxsize = 209715200
// tamanho Maximo
recycle:repository = .recycle
// nome da lixeira
Aps essas configuraes, reinicie o Samba:
# /etc/init.d/samba restart (em Debian e Ubuntu)
# /etc/usr/local/etc/samba restart (derivaes BSD)
Vale lembrar que o arquivo de configurao do Samba igual para todos as distros. Aps concluir
a conf do Samba, aconselhvel nas mquinas clientes configurar em opes de pastas para no
visualizar pastas ocultas, sendo assim os usurios no vero a lixeira estando legvel apenas para
o administrador da rede.
Dvidas, estou online 24ho no MSN cLaudio@linuxtec.com.br.
Obrigado pelo espao...
Configurando o Samba
Primeiro modifique o smb.conf, que o arquivo de configurao do Samba,
adicionando umas regras necessrias para transformar o Samba num
controlador de domnio:
[global]
netbios name = SERVIDOR
workgroup = DOMINIO
server string = Samba %v
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
domain master = yes
domain logons = yes
preferred master = yes
logon path =
oslevel = 33
winssupport = yes
# smbpasswd -a root
Cadastre agora os usurios, com as senhas que iro utilizar para acessar
sua conta a partir das mquinas Windows.
root@cesar.augustus.nom.br's
# useradd -m -s /bin/false usuario
# smbpasswd -ausuario
NetLogon
O netlogon utilizado para executar um script pelo usurio ao fazer logon.
Adicione essa regra na seo global do smb.conf:
logon script = netlogon.bat
Profiles
Se voc quiser, pode fazer com que o servidor Samba armazene os arquivos
e configuraes do usurio, fornecendo ao usurio estao no momento
em que ele faz logon na mquina. Ele diminui a possibilidade de perda de
dados armazenando os arquivos de trabalho no servidor, mas tambm
consume mais espao de armazenamento do servidor e aumenta o trfego
da rede, pois os arquivos so transferidos para a estao a cada logon, e
acaba sendo um problema se o usurio tiver hbito de salvar muitos
arquivos grande na rea de trabalho.
Modifique essa regra da seo "global" do smb.conf:
logon path = \\%L\profiles\%U
root@cesar.augustus.nom.br's
# mkdir /var/profile
# chmod 1777 /var/profile
Cada usurio vai ter uma pasta pessoal na pasta onde as configuraes
sero salvas, tendo acesso apenas a sua pasta profile.
Fedora/CentOS
Se estiver habilitado o SELinux, execute o seguinte comando:
root@cesar.augustus.nom.br's
# chcon -R -t samba_share_t /var/profile
Reiniciando o Servidor
Aps ter terminado
servidor Samba:
as
Debian/Ubuntu
root@cesar.augustus.nom.br's
# /etc/init.d/samba restart
Fedora/CentOS
root@cesar.augustus.nom.br's
# servicesmb restart
# servicenmb restart
configuraes,
reinicie
os
servios
do
Slackware
root@cesar.augustus.nom.br's
# /etc/rc.d/rc.sambarestart
Pronto.
Link YouTuBe
http://www.youtube.com/watch?v=_134Odkb5sY
http://www.youtube.com/watch?v=kOUpm68s5r4
http://www.youtube.com/watch?v=Xyn-5kH_egE