Documente Academic
Documente Profesional
Documente Cultură
Instalação
Samba PDC
+ OpenLDAP + Debian Squeee
1. Domínio que vamos utilizar: douglas.wiki.br
2. Faixa de ip: 10.0.0.0/2
3. !p do "ervidor: 10.0.0.2#
$repare o seu sistema %om o seguinte s%ript &ttp://www.douglas.wiki.br/doku.p&p'
id(%on)ini%ialsqueeze para
id(%on)ini%ialsqueeze para que n*o )alte nen&um pa%ote ou %on)igura+*o.
"empre quanto terminar a edi+*o de algum arquivo .ldi) no vim sempre pressione F, para ele
remover os espa+os nos )inais de lin&a que sempre da merda -
amos atualizar os repositrios e )azer um upgrade do sistema
a p t i t u d e update && a p t i t u d e dist-upgrade -y
gora vamos inserir a sen&a do admin &db do 3D$ e tro%ar a sen&a do admin do %on)ig
do 3D$5 mas primeiro temos que gerar um &as& da sen&a.
slappass#d - senha
{SS$A}!%oA&'cA()lNgRasc*gRsp). /$/os
6": 78 $D9 9; 9"$<" $=" $=" >3?!@ A;A?9; D 3!7 7 ;BC!
.3D!F "978 @" 6?9; 9;; 7 !@$;?<8 D" ;BC!" 99@$3 D9 9;;
ldap0add: 1n2alid s&nta !21
21"" additional info: o"3ect4lass: 2alue #1 inval
invalid
id pe r s y ntax
dn: olcBackend={0}hd",cn=config
dn: olcDatabae={1}hd",cn=config
olcRoot5N: cn=admin, dc=douglas, dc=#i6i,dc="r
olcRoot(/: {SS$A}14T7'189hEsmf88;dNuu3<+2i>N?'p
6": 9m alguns %asos note que n*o temos um ol%;oot$E depois de dn:
ol%Database(0G%on)ig5%n(%on)ig5
ol%Database(0G%on)ig5%n(%o n)ig5 que H a sen&a da administra+*o da %on)igura+*o do 3D$
3D$55
%om isso vamos ter que inserir uma5 %aso %ontr4rio podemos modi)i%ar ela.
gora vamos %riar o arquivo para ser importado %om a sen&a do nosso admin do %on)ig 3D$5
3D$5
%aso ela ainda n*o exista.
vi m /root/admin@mod@ldif
dn: olcDatabae={0}config, cn=config
changet&pe: modif&
replace: olcRoot(/
olcRoot(/: {SS$A}!%oA&'cA()lNgRasc*gRsp). /$/os
gora vamos )azer uma %onsulta a respeito dos admins do nosso 3D$
ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config olcRoot5N olcRoot(/
SASL/EXTERNAL authentication started
SASL username: gidNumber =0+uidNumber=0,cn=peercred, cn=eternal, cn=auth
SASL SS!: 0
dn: cn=config
dn: olcBackend={0}hd",cn=config
dn: olcDatabae={1}hd",cn=config
olcRoot5N: cn=admin, dc=douglas, dc=#i6i,dc="r
olcRoot(/: {SS$A}!%oA&'cA()lNgRasc*gRsp). /$/os
amos agora
agora %riar o nosso su)ixo para o nosso domínio e a %on)igura+*o de a%esso.
vi m /config@ldif
dn: olcDatabae={1}hd",cn=config
changet&pe: modif&
replace: olcSuffi
olcSuffi: dc=douglas, dc=#i6i,dc="r
-
replace: olcRoot5N
olcRoot5N: cn=admin, dc=douglas, dc=#i6i,dc="r
-
replace: olcAccess
olcAccess: to attr=user(ass#ord "& dn=$cn%admindc%dougladc%'ikidc%br$ write "&
anon&mous auth "& self write "& ( none
olcAccess: to attr=shado#Last4hange "& self write "& ( r e a d
olcAccess: to dn@"ase= $$ "& ( r e a d
olcAccess: to ( "& dn=$cn%admindc%dougladc%'ikidc%br$ write "& ( r e a d
Aaso J4 ten&a sido %on)igurado pela instala+*o o domínio vamos obter a seguinte saída
ldapadd -* -c -D cn=admin,dc=douglas, dc=#i6i,dc="r -+ -# /raiC@ldif
Enter L5A( (ass#ord:
adding ne# entr& $dc%dougladc%'ikidc%br$
ldap0add: Alread& eists !"
gora vamos %riar os %ontKiner que v*o )i%ar armazenados os nossos usu4rios5
grupos e m4quinas
vi m /ous@ldif
dn: ou=?suarios, dc=douglas, dc=#i6i,dc="r
ou: ?suarios
o"3ect4lass: organiCational?nit
o"3ect4lass: top
gora que J4 temos a sen&a vamos %riar o arquivo para importar para o 3D$
vi m /admin@ldif
dn: cn=admin, dc=douglas, dc=#i6i,dc="r
o"3ect4lass: top
o"3ect4lass: simpleSecurit&B"3ect
o"3ectclass: organiCationalRole
cn: admin
description: L5A( administrator
user(ass#ord: {SS$A}g1e/5Ds /m7#1*!uNe*"#gF*G /t>a2<dF
Aaso o nosso admin J4 ten&o sido %riado na instala+*o do ldap vamos ter o seguinte retorno no
%omando a%ima
ldapadd -* -c -D cn=admin,dc=douglas, dc=#i6i,dc="r -+ -# /admin@ldif
Enter L5A( (ass#ord:
adding ne# entr& $cn%admin dc%dougladc%'ikidc%br$
ldap0add: Alread& eists !"
6": %&o mel&or ex%luir os usu4rios lo%ais deixar somente o usu4rio root para o sistema lo%al5
%aso a%&e ne%ess4rio utilize a seguinte padroniza+*o somente nome do usu4rio para e)etuar login
no servidor lo%al e nome.sobrenome para logar na base do 3D$.
ou disponibilizar um s%ript para e)etuar a migra+*o dos usu4rios lo%ais para um arquivo ldi) que
pode ser importado para a base 3D$
vi m epldif@sh
#!/in/ a s h
#A qui n e s t e s c r ipt e s t a m o s f a e n d o m i " ra $ o d o s u s u % ri o s q u e t e m ui d c o m & di "it o s
7889:=;dc%dougladc%'ikidc%br;
LD98=;uuarioldi#<ldi#;
qui no meu %aso s tin&a um usu4rio %om um uid %om dígitos ent*o )oi s o que a min&a base
importou.
gora vamos para o s%ript que )az a migra+*o de grupos lo%ais para um arquivo ldi)
vi m gruposldif@sh
#!/in/ a s h
#A qui n e s t e s c ri pt e s t a m o s f a e n d o a m i " ra $ o d o s " r u p o s q u e t e m "i d c o m & di "it o s
7889:=;dc%dougladc%'ikidc%br;
LD98=;gruoldi#<ldi#;
netgroup: ldap
amos e)etuar alguns aJustes na pam primeiro no arquivo que %ontrola as sen&as deixe o arquivo
/et%/pam.d/%ommonLpassword %omo abaixo
vi m /etc/pam@d/common-pass#ord
pass#ord >ucce=2 de#ault =ignore ? pam0uni@so o"scure sha8
pass#ord >ucce=1 uerPunkno'n =ignore de#ault =die? pam0ldap@so
tr&0first0pass
pass#ord reDuisite pam0den&@so
pass#ord reDuired pam0permit@so
gora vamos e)etuar o aJuste no arquivo que %ontrola as sessIes %aso o diretrio &ome n*o
exista o sistema vai %ria deixe o arquivo /et%/pam.d/%ommonLsession %omo abaixo
vi m /etc/pam@d/common-session
session >de#ault =1? pam0permit@so
session reDuisite pam0den&@so
session reDuired pam0permit@so
session reDuired pam0uni@so
session optional pam0ldap@so
session optional pam0m6homedir@so kel=/etc/s6el umak=G..
amos tambHm limitar o a%esso ao %onsole do servidor limitando tambHm que somente o root e o
grupo tiLadmin ten&a a%esso vamos editar o arquivo /et%/pam.d/login o arquivo vai ter que )i%ar
pare%ido %om o abaixo.
vi m /etc/pam@d/lo gin
auth optional pam0faildela&@so delay=3000000
auth >ucce=o6 ne'Paut)tokPre5d=o6 ignore =ignore uerPunkno'n="ad de#ault=die?
pam0securett&@so
auth reDuisite pam0nologin@so
#a di ci o n a r e s s a s * n o v a s lin h a s a a i x o
account sufficient pam0succeed0if@so user ingroup root
account reDuisite pam0succeed0if@so user ingroup ti-admin
session >ucce=o6 ignore =ignore modulePunkno'n =ignore de#ault ="ad? pam0selinu@so
close
session reDuired pam0en2@so readenO =1
session reDuired pam0en2@so readenO =1 enO#ile =/etc/default /locale
Qinclude common-auth
auth optional pam0group@so
session reDuired pam0limits@so
session optional pam0lastlog@so
session optional pam0motd@so
session optional pam0mail@so standard
Qinclude common-account
Qinclude common-session
Qinclude common-pass#ord
session >ucce=o6 ignore =ignore modulePunkno'n =ignore de#ault ="ad? pam0selinu@so
open
gora aps ini%iar o servidor novamente logue %om o usu4rio root e vamos tro%ar para o usu4rio
douglas.santos
s u - douglas@santos
4riando o diretJrio ;/)ome/dougla<anto;@
douglas@santos Qdebian88:H
gora vamos %on)igurar um %liente Debian "queeze amos a instala+*o de alguns pa%otes
ne%ess4rios
a p t i t u d e i n s t a l l li"nss-ldap li"pam-ldap ldap-utils -y
netgroup: ldap
gora e)etuar o aJuste no arquivo que %ontrola as sessIes %aso o diretrio &ome n*o exista o
sistema vai %ria deixe o arquivo /et%/pam.d/%ommonLsession %omo abaixo
vi m /etc/pam@d/common-session
session >de#ault =1? pam0permit@so
session reDuisite pam0den&@so
session reDuired pam0permit@so
session reDuired pam0uni@so
session optional pam0ldap@so
session optional pam0m6homedir@so kel=/etc/s6el umak=G..
gora vamos e)etuar o aJuste do arquivo de autenti%a+*o do ss& /et%/pam.d/ss&d o arquivo vai
ter que )i%ar pare%ido %om o abaixo
vi m /etc/pam@d/sshd
auth reDuired pam0en2@so # '1(
auth reDuired pam0en2@so enO#ile =/etc/default /locale
Qinclude common-auth
account reDuired pam0nologin@so
#a di ci o n a r a li nh a a a ix o p a r a li mit ar m o s o a c e s s o a o s s h d e s s a m a q u i na s o m e n t e a o s u s u a ri o s d o " r u p o ti)
admin
account sufficient pam0succeed0if@so user ingroup root
account reDuisite pam0succeed0if@so user ingroup ti-admin
Qinclude common-account
Qinclude common-session
session optional pam0motd@so # '1(
session optional pam0mail@so standard noen2 # '1(
session reDuired pam0limits@so
Qinclude common-pass#ord
amos tambHm limitar o a%esso ao %onsole do %liente para os grupos tiLadmin e douglasLusuarios
que tem que ser %riado e inserido os usu4rios n*o administrativos para poder logar na maquina5
siga os mesmos passos para %riar o grupo tiLadmin e o usu4rio5 para %riar o grupo douglasL
usuarios e vamos permitir o login do root.
vi m /etc/pam@d/lo gin
auth optional pam0faildela&@so delay=3000000
auth >ucce=o6 ne'Paut)tokPre5d=o6 ignore =ignore uerPunkno'n="ad de#ault=die?
pam0securett&@so
auth reDuisite pam0nologin@so
#a di ci o n a r e s s a s li nh a s n o a r q u i v o
account sufficient pam0succeed0if@so user ingroup root
account sufficient pam0succeed0if@so user ingroup ti-admin
account reDuisite pam0succeed0if@so user ingroup douglas-usuarios
session >ucce=o6 ignore =ignore modulePunkno'n =ignore de#ault ="ad? pam0selinu@so
close
session reDuired pam0en2@so readenO =1
session reDuired pam0en2@so readenO =1 enO#ile =/etc/default /locale
Qinclude common-auth
auth optional pam0group@so
session reDuired pam0limits@so
session optional pam0lastlog@so
session optional pam0motd@so
session optional pam0mail@so standard
Qinclude common-account
Qinclude common-session
Qinclude common-pass#ord
session >ucce=o6 ignore =ignore modulePunkno'n =ignore de#ault ="ad? pam0selinu@so
open
gora logue novamente no %liente %om o usu4rio root e vamos mudar para o usu4rio
douglas.santos
s u - douglas@santos
4riando o diretJrio ;/)ome/dougla<anto;@
K)e rogram included 'it) t)e Debian N/Linu* ytem are #ree o#t'areT
t)e e*act ditribution term #or eac) rogram are decribed in t)e
indiOidual #ile in /ur/)are/doc/(/coyrig)t<
gora um exemplo de log de a%esso de um usu4rio logando lo%almente na maquina5 porHm este
usu4rio perten%e ao grupo douglasLusuarios
t a i l -# /2ar/log/auth@log
!e" 2 1J:30:3 debian lo gin >11?: pam0uni!login:auth ": authentication failureK
logname=LB*1N uid=0 euid=0 tty=/de2/tt& ruer= r)ot= uer=3ose@sil2a
!e" 2 1J:30:3 debian lo gin >11?: pam0succeed0if !login:account ": reDuirement $uer
ingrou root$ not met "& user $Moe<ilOa$
!e" 2 1J:30:3 debian lo gin >11?: pam0succeed0if !login:account ": reDuirement $uer
ingrou ti-admin$ not met "& user $Moe<ilOa$
!e" 2 1J:30:3 debian lo gin >11?: pam0succeed0if !login:account ": reDuirement $uer
ingrou dougla-uuario$ #as met "& user $Moe<ilOa$
!e" 2 1J:30:3 debian lo gin >11?: pam0uni!login:session ": session opened fo r user
3ose@sil2a "& LB*1N !uid=0"
gora vamos %on)igurar o /et%/pam.d/sUstemLaut& o seu arquivo vai ter que )i%ar pare%ido %om o
abaixo.
vi m /etc/pam@d/s&stem-auth
#PA)1.0
# h i s f il e i s a u t o ) " e n e r a t e d .
# 2 s e r c h a n " e s 3 ill e d e s t r o y e d t h e n e x t ti m e a u t h c o n fi " i s ru n.
auth reDuired pam0en2@so
auth sufficient pam0fprintd@so
auth sufficient pam0uni@so nullo6 tr&0first0pass
auth reDuisite pam0succeed0if@so uid = ,00 Duiet
#insira a linha a aix o
auth sufficient pam0ldap@so use0first0pass
auth reDuired pam0den&@so
netgroup:ldap # lin h a 6- 5 d e i x e c o m o n o e x e m p l o
automount: files ldap #lin h a 71 5 d e i x e c o m o n o e x e m p l o
amos tambHm limitar o a%esso ao %onsole do %liente para os grupos tiLadmin e douglasLusuarios
que tem que ser %riado e inserido os usu4rios n*o administrativos para poder logar na maquina5
siga os mesmos passos para %riar o grupo tiLadmin e o usu4rio5 para %riar o grupo douglasL
usuarios e vamos permitir o login do root.
vi m /etc/pam@d/lo gin
#PA)1.0
auth >uerPunkno'n=ignore ucce=o6 ignore=ignore de#ault="ad? pam0securett&@so
auth sufficient pam0ldap@so
auth include s&stem-auth
account reDuired pam0nologin@so
#a di ci o n e e s s a lin h a a ai x o n o t e q u e s o m e n t e o s u s u a ri o s d o " r u p o ti)a d m i n v a o c o n s e " u ir te r a c e s s o vi a
ssh
account sufficient pam0succeed0if@so user ingroup root
account sufficient pam0succeed0if@so user ingroup ti-admin
account reDuisite pam0succeed0if@so user ingroup douglas-usuarios
account include s&stem-auth
pass#ord include s&stem-auth
# p a m 8 s e li n u x. s o c l o s e s h o u l d e t h e fir s t s e s s i o n r ul e
session reDuired pam0selinu@so close
session reDuired pam0loginuid@so
session optional pam0console@so
# p a m 8 s e li nu x. s o o p e n s h o u l d o n ly e f oll o 3 e d y s e s s i o n s t o e e x e c u t e d in th e u s e r c o n t e x t
session reDuired pam0selinu@so open
session reDuired pam0namespace@so
session reDuired pam0m6homedir@so kel=/etc/s6el umak=GG8.
session optional pam06e&init@so force re2o6e
session include s&stem-auth
-eion optional pam0c60connector@so
gora vamos )azer um teste de %onex*o via ss& %om um usu4rio do grupo tiLadmin
s s h G@G@G@<G -l douglas@santos
santosQG@G@G@<G ; a'ord=
Lat login= +ed Cug 10 1.=31=33 2011 #rom dougla<dougla<'iki<br
gora vamos instalar o smbldapLtools que H a )erramenta de apoio para trabal&ar "amba W 3D$
a p t i t u d e -y i n s t a l l sm"ldap-tools
log leOel % 0
ylog % 0
log #ile % /Oar/log/amba/log<A
ma* log iXe % 100000
time erOer % Ye
ocket otion % KGPNDLCY 7PIFB8%12 7P7NDB8%12
mangling met)od % )a)2
Do c)aret % G32
ni* c)aret % K8-
>)ome?
at) % /)ome/diretorio/A
comment % Diretorio )ome
bro'eable % no
'ritable % ye
Oalid uer % A
create mode % 0.00
directory mode % 0.00
ree*ec % /bin/ba) /etc/amba/Oalida<) A A
ree*ec cloe % ye
>netlogon?
at) % /)ome/netlogon/
bro'eable % No
read only % ye
>ro#ile?
at) % /)ome/ro#ile
read only % no
create mak % 000
directory mak % 0.00
bro'eable % No
guet ok % Ye
ro#ile acl % ye
cc olicy % diable
R ne*t line i a great 'ay to ecure t)e ro#ile
R#orce uer % A
R ne*t line allo' adminitrator to acce all ro#ile
ROalid uer % A $5omain Admins$
>rinter?
comment % Net'ork Grinter
Rrinter admin % Q$ (rint Bperators$
guet ok % ye
rintable % ye
at) % /)ome/ool/
bro'eable % No
read only % Ye
rintable % Ye
rint command % /ur/bin/lr -GA -r A
l5 command % /ur/bin/l5 -GA
lrm command % /ur/bin/lrm -GA AM
R rint command % /ur/bin/lr -AQA4 -GA -r A
R l5 command % /ur/bin/l5 -AQA4 -GA
R lrm command % /ur/bin/lrm -AQA4 -GA AM
R laue command % /ur/bin/lc -AQA4 )old A AM
R lreume command % /ur/bin/lc -AQA4 releae A AM
R 5ueueaue command % /ur/bin/lc -AQA4 to A
R 5ueuereume command % /ur/bin/lc -AQA4 tart A
>rint?
at) % /)ome/rinter
guet ok % No
bro'eable % Ye
read only % Ye
Oalid uer % Q$ (rint Bperators$
'rite lit % Q$ (rint Bperators$
create mak % 0J
directory mak % 0..,
>ublic?
at) % /rO/ublica
guet ok % ye
bro'eable % Ye
'ritable % ye
>K9?
at) % /rO/Grograma
comment % Grograma K9
bro'able % ye
'ritable % ye
create mak % 0J
directory mak % 0..,
locking % no
Oalid uer % Qti-admin
gora vamos %olo%ar no %ompartil&amento programas o registro para importar no Ein, para ele
poder )azer parte do domínio samba.
vi m /sr2/(rogramas /#in9@reg
/indo#s Registr& Editor Mersion ,<00
K /in90Sam"a<5omain'em"er
>$E0LB4AL0'A4$1NES&stem4urrent4ontrolSetSer2icesLan'an/or6station(a
rameters ?
$DN7NameIeolutionIe5uired$=d#ord:GGGGGGGG
$Domainomatibility4ode$ =d#ord:GGGGGGG
K Speedup settings
>$E0LB4AL0'A4$1NESB!T/ARE(olicies'icrosoft/indo#sS&stem ?
$7lo'LinkDetectnabled$ =d#ord:GGGGGGGG
$DeleteIoamingac)e$ =d#ord:GGGGGGG
$+ait8orNet'ork$ =d#ord:GGGGGGGG
$omatibleIG7ecurity$ =d#ord:GGGGGGG
Aaso ten&a maquinas Eindows , na rede e pre%isar %olo%ar no domínio samba pre%isa importar
este registro primeiro.
gora vamos %riar o arquivo que valida se existe o diretrio &ome do usu4rio e %ria %aso n*o
exista.
vi m /etc/sam"a/2alida@sh
#!/in/ a s h
D9IKI9=$/)ome/diretorio/{1}$
gora vamos instalar um utilit4rio para )azer a %onvers*o do )ormato Cnix para D"
a p t i t u d e i n s t a l l tofrodos -y
amos instalar o servidor de 7?$ para que os %lientes possam sin%ronizar o &or4rio %om o
servidor $DA
a p t i t u d e i n s t a l l ntp ntpdate -y
gora vamos a%ertar o arquivo /et%/se%uritU/limits.%on) para n*o )i%ar mostrando erro no samba
vi m /etc/securit& /limits@conf
# c ol o c a r n o fi n al d o a r q u i v o
root hard nofile 1310.2
root soft nofile ,,3
mioutente hard nofile 32.
mioutente soft nofile 13J
gora vamos desempa%otar o arquivo que vamos )azer a %on)igura+*o )inal do samba W 3D$
gzip -d /usr/share/doc/sm"ldap-tools /configure@pl@gC
gora vamos exe%utar o arquivo que vai %onter a base para popular o 3D$ %om os dados do
"amba
perl /usr/share/doc/sm"ldap-tools /configure@pl
R is no longer supported at /usr/share/doc/sm"ldap-tools /configure@pl line 31J@
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
sm"ldap-tools script configuration
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
)efore starting, chec6
@ if &our sam"a controller is up and running@
@ if the domain S15 is defined !&ou can get it #ith the ;net getlocalid;"
@ &ou can lea2e the configuration using the 4rtl-c 6e& com"ination
@ empt& 2alue can "e s e t #ith the $<$ character
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Loo6ing for configuration files@@@
gora vamos %riar o domain admin para o samba e 3D$5 vamos %riar o grupo e depois o usu4rio
sm"ldap-groupadd -a domainadm
sm"ldap-useradd -am -g domainadm domainadm
7erOer omment
--------- -------
DLC7 7amba 7erOer 3<,<
+orkgrou 4ater
---------