Integrando o Samba Ao LDAP Usando Modelo Config
Integrando o Samba Ao LDAP Usando Modelo Config
Integrando o Samba Ao LDAP Usando Modelo Config
modelo config=cn
By admin on 19 de novembro de 2012 in LDAP, Linux
18 Flares Twitter 2 Facebook 7 Google+ 4 LinkedIn 5 Email -- Filament.io 18 Flares
Vimos em dois Posts anteriores configurao do Servidor LDAP e como configurar o
cliente LDAP que so pr-requisitos para esse novo Post.
Neste artigo iremos configurar o samba para autenticar na Base LDAP atuando como
PDC numa rede Microsoft.
Como a configurao do Servidor j est pronto, partindo que os Posts anteriores foram
seguidos, neste iremos popular a base e configurar o nosso servidor Samba. E todo esse
trabalho ser feito usando o padro novo do LDAP o cn=config e no mais o arquivo de
configurao.
Ento vamos ao trabalho.
O primeiro passo instalar o samba e o que for necessrio para configurao de ambos.
Em seguida iremos converter o schema do samba para o novo formato do LDAP,
trabalhando diretamente com arquivos do tipo LDIF.
root@local:~#gzip d /etc/ldap/schema/samba.schema.gz
root@local:~#vim schema_convert.conf
Neste passo acima j convertemos o schema para o novo padro do LDAP, iremos
alterar alguns itens para no termos problemas, futuros. Devemos editar o arquivo novo
criado cn=samba.ldif
dn: cn=samba,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: samba
Agora que j editamos os valores do arquivo LDIF iremos importar para a Base LDAP.
O esquema de importao tambm est um pouco diferente, vejamos.
root@local:~# ldapadd -Y EXTERNAL -H ldapi:/// -f ./tmp/cn=samba.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry cn=samba,cn=schema,cn=config
Agora iremos popular nossa base, mas para tanto iremos instalar o samba propriamente
dito. E as ferramentas de samba ldap.
root@local:~# apt-get install samba smbldap-tools
Neste Post iremos usar um arquivo de configurao de exemplo que j vem com o
Samba, e aps copia-lo iremos alterar conforme nossa necessidade.
Lembrando que seguindo os Posts anteriores, estarei usando o dominiolinux.net, e sero
necessrios alterar alguns itens conforme mencionado abaixo:
#Comentar Linha 12
#min passwd length = 3
#Linha 60 Descomente
delete group script = /usr/sbin/smbldap-groupdel %g
/etc/init.d/samba restart
root@local:~# smbpasswd -W
Setting stored password for cn=admin,dc=dominiolinux,dc=net in secrets.tdb
New SMB password:
Retype new SMB password:
. you can leave the configuration using the Crtl-c key combination
. empty value can be set with the . character
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=Looking for configuration files
The default directory in which the smbldap configuration files are stored is
sho
wn.
If you need to change this, enter the full directory path, then press enter to
c
ontinue.
Smbldap-tools Configuration Directory Path [/etc/smbldap-tools/] >
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Lets start configuring the smbldap-tools scripts
[sambaDomainName=DOMINIOLINUX
] >#ENTER
. ldap master server: IP adress or DNS name of the master (writable) ldap server
ldap master server [127.0.0.1] >#ENTER
. ldap master port [389] >#ENTER
. ldap master bind dn [cn=admin,dc=dominiolinux,dc=net] >#ENTER
. ldap master bind password [] > #SENHA LDAP DO ADMIN
. ldap slave server: IP adress or DNS name of the slave ldap server: can also
be
the master one
ldap slave server [127.0.0.1] >#ENTER
. ldap slave port [389] >#ENTER
. ldap slave bind dn [cn=admin,dc=dominiolinux,dc=net] >#ENTER
. ldap slave bind password [] > #SENHA LDAP DO ADMIN
. ldap tls support (1/0) [0] > #ENTER
. SID for domain DOMINIOLINUX: SID of the domain (can be obtained with net
getl
ocalsid PDC-SRV)
SID for domain DOMINIOLINUX [S-1-5-21-182168821-137747198-1560271109]
>#ENTER
. unix password encryption: encryption used for unix passwords
unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] > MD5
. default user gidNumber [513] >#ENTER
. default computer gidNumber [515] >#ENTER
. default login shell [/bin/bash] >#ENTER
. default skeleton directory [/etc/skel] >#ENTER
. default domain name to append to mail adress [] >#ENTER
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Use of uninitialized value $# in concatenation (.) or string at
/usr/share/doc/s
mbldap-
Nos valores acima, usei quase tudo como padro, alterando somente o tipo de
criptografia para MD5,que o padro do Linux, e lgico colocamos a senha correta do
servidor LDAP. Mas outros valores podem ser alterados conforme necessidade, por
exemplo o logon script por padro ir usar /home/netlogon/logon.bat, para alterar por
exemplo para /home/netlogon/usuario.bat, devemos alterar os valores de default user
netlogon script. E no meu caso preferi no ter roaming profile, por isso ao final
adicionei um ponto.
O prximo passo o ato de popular o samba com LDAP, vejamos abaixo:
root@local:~# smbldap-populate Populating LDAP directory for domain
DOMINIOLINUX (S-1-5-21-182168821-137747198-1560271109)
(using builtin directory structure)
Neste momento j est pronto o nosso servidor LDAP samba. Podemos verificar usando
o slapcat, que nos trar grupos como: Replicators, Backup Operators, Print Operators,
entre outros.
Agora precisamos criar a conta do administrador, que definimos no smb.conf, no caso
domainadm, e criarmos contas de usurios.
Agora sim finalizado, com esses passos j podemos ingressar uma mquina Windows,
no domnio, usando como conta de administrador a domainadm.
O processo de ingressar no domnio, no muda em nada de um PDC padro Microsoft,
ser solicitado a conta de administrador, em nosso caso domainadm, e posteriormente
ser criado uma conta de mquina, dentro do Servidor LDAP.
Em meus teste , ingressei um Windows XP, sem nenhum problema, j atuando no
Dominio.
Os compartilhamentos so comuns ao samba.
Logando Windows 7
"DisablePasswordChange"=dword:00000000
"MaximumPasswordAge"=dword:0000001e
"RequireSignOrSeal"=dword:00000001
"RequireStrongKey"=dword:00000001
"SealSecureChannel"=dword:00000001
"SignSecureChannel"=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa]
"auditbaseobjects"=dword:00000000
"auditbasedirectories"=dword:00000000
"crashonauditfail"=dword:00000000
"fullprivilegeauditing"=hex:00
"LimitBlankPasswordUse"=dword:00000001
"NoLmHash"=dword:00000001
"Notification
Packages"=hex(7):73,00,63,00,65,00,63,00,6c,00,69,00,00,00,00,00
"Security
Packages"=hex(7):6b,00,65,00,72,00,62,00,65,00,72,00,6f,00,73,00,00,
00,6d,00,73,00,76,00,31,00,5f,00,30,00,00,00,73,00,63,00,68,00,61,00
,6e,00,
6e,00,65,00,6c,00,00,00,77,00,64,00,69,00,67,00,65,00,73,00,74,00,00
,00,74,
00,73,00,70,00,6b,00,67,00,00,00,70,00,6b,00,75,00,32,00,75,00,00,00
,00,00
"Authentication
Packages"=hex(7):6d,00,73,00,76,00,31,00,5f,00,30,00,00,00,00,
00
"LsaPid"=dword:000001dc
"SecureBoot"=dword:00000001
"ProductType"=dword:00000001
"disabledomaincreds"=dword:00000000
"everyoneincludesanonymous"=dword:00000000
"forceguest"=dword:00000000
"restrictanonymous"=dword:00000000
"restrictanonymoussam"=dword:00000001
"LmCompatibilityLevel"=dword:00000001
Deixei o arquivo feito por Vitorio, disponivel para downlaod, para clicar aqui para
baixar o arquivo prepara_win7_logar_samba.reg.
Com isso no ter problemas para ingressar e logar num dominio Samba. Baixe o
arquivo e importe via regedit, ou ainda execute como administrador.