Вы находитесь на странице: 1из 8

Servidor Samba com OpenLdap

De Documentacao

Tabela de conteúdo
1 Configuração
2 WebMin
3 OpenLDAP
4 Samba
4.1 Instalação do Samba
4.1.1 Habilitando o LDAP para Funcionar com o Samba
4.2 Configuração do Samba
4.3 Configurar o SMBLDAP-TOOLS
4.4 Populando o LDAP com informações default
4.5 Cadastrando um usuário inicial no LDAP
5 Habilitando autenticação LDAP no servidor Unix
6 Instalação da Interface Gráfica de Gerenciamento "GOsa2" (opcional)

Configuração
- Ubuntu Server 8.04 AMD64 - Hostname: terra.ft.unicamp.br

WebMin
- Download e Instalação do WebMin:

# wget http://prdownloads.sourceforge.net/webadmin/webmin_1.500_all.deb
# apt-get install libnet-ssleay-perl openssl libauthen-pam-perl libio-pty-perl libmd5-perl
# dpkg -i webmin_1.500_all.deb

Com o WebMin instalado é só acessar o serviço em https://terra.ft.unicamp.br:10000/

OpenLDAP
- Instalação do OpenLDAP:

# apt-get install slapd ldap-utils migrationtools

- Configuração do LDAP:
# dpkg-reconfigure slapd

No
DNS domain name: ft.unicamp.br
Name of your organization: ft.unicamp.br
Admin password: <senha>
Confirm password: <senha>
OK
HDB
No
Yes
No

Samba
Instalação do Samba
# apt-get install samba smbldap-tools smbclient samba-doc

Habilitando o LDAP para Funcionar com o Samba

Copiar o samba.schema para a pasta do LDAP e habilitá-lo no slapd.conf:

# cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/
# gzip -d /etc/ldap/schema/samba.schema.gz
# vim /etc/ldap/slapd.conf

Adicionar os seguintes itens juntamente com os outros includes:

include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/misc.schema

Alterar a linha

access to attrs=userPassword,shadowLastChange

por:

access to attrs=userPassword,sambaNTPassword,sambaLMPassword,shadowLastChange

Reiniciar o LDAP

# /etc/init.d/slapd restart
Configuração do Samba
Fazer um backup do smb.conf

cd /etc/samba
cp smb.conf smb.conf.original

Alterações no smb.conf para fazer logon usando o LDAP:

workgroup = FT
security = user
passdb backend = ldapsam:ldap://localhost/
obey pam restrictions = no

Colar o texto abaixo logo após o "obey pam restrictions = no"

#######################################################################
#
# Begin: Custom LDAP Entries
#
ldap admin dn = cn=admin,dc=ft,dc=unicamp,dc=br
ldap suffix = dc=ft,dc=unicamp,dc=br
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Users
; Do ldap passwd sync
ldap passwd sync = Yes
passwd program = /usr/sbin/smbldap-passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated*
add user script = /usr/sbin/smbldap-useradd -m "%u"
ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
domain logons = yes
#
# End: Custom LDAP Entries
#
#####################################################

Comente a seguinte linha:

invalid users = root

Adicione a linha abaixo:

logon path =
Reinicie o samba :

# /etc/init.d/samba restart

Grave a senha do administrador do LDAP no samba:

# smbpasswd -w <senha>

Configurar o SMBLDAP-TOOLS
Copiar as configurações de exemplo do smbldap-tools:

# cd /usr/share/doc/smbldap-tools/examples/
# cp smbldap_bind.conf /etc/smbldap-tools/
# cp smbldap.conf.gz /etc/smbldap-tools/
# gzip -d /etc/smbldap-tools/smbldap.conf.gz
# cd /etc/smbldap-tools/

Obter o Security ID para o domínio:

# net getlocalsid
SID for domain TERRA is: S-1-5-21-758858886-1708703244-130941401

Editar o arquivo smbldap.conf

# vim smbldap.conf

SID="S-1-5-21-758858886-1708703244-130941401" ## Aqui vai o Security ID que o comando net getlocalsid ret


sambaDomain="FT"
ldapTLS="0"
suffix="dc=ft,dc=unicamp,dc=br"
# sambaUnixIdPooldn="sambaDomainName=EXAMPLE,${suffix}"
userSmbHome=
userProfile=
userHomeDrive=
userScript=
mailDomain="ft.unicamp.br"

Edite o arquivo smbldap_bind.conf e configure os dados do usuário administrador

# vim smbldap_bind.conf

slaveDN="cn=admin,dc=ft,dc=unicamp,dc=br"
slavePw="<senha>"
masterDN="cn=admin,dc=ft,dc=unicamp,dc=br"
masterPw="<senha>"
Altere as permissões dos arquivos de configuração:

# chmod 0644 /etc/smbldap-tools/smbldap.conf


# chmod 0600 /etc/smbldap-tools/smbldap_bind.conf

Populando o LDAP com informações default


Execute este comando para popular o ldap

# smbldap-populate -u 30000 -g 30000

Quando for solicitado pela senha do usuário root informe-a:

# <senha>

Cheque se os dados foram criados com o seguinte comando

# ldapsearch -x -b dc=ft,dc=unicamp,dc=br | less

Cadastrando um usuário inicial no LDAP


Cadastre um usuário de testes

# smbldap-useradd -a -m -M marcelo -c "Marcelo Diotto" marcelo

Defina uma senha para o usuário

# smbldap-passwd marcelo

Habilitando autenticação LDAP no servidor Unix


Execute o seguinte comando para instalar o suporte à autenticação LDAP:

# apt-get install auth-client-config libpam-ldap libnss-ldap

Na configuração informe os seguintes dados:


LDAP server Uniform Resource Identifier: ldap://127.0.0.1
Distinguished name of the search base: dc=ft,dc=unicamp,dc=br
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root: cn=admin,dc=ft,dc=unicamp,dc=br
LDAP root account password: <senha>

Edite o arquivo /etc/ldap.conf e cheque se os parametros estão como abaixo:

# vim /etc/ldap.conf

host 127.0.0.1
base dc=ft,dc=unicamp,dc=br
uri ldap://127.0.0.1/
rootbinddn cn=admin,dc=ft,dc=unicamp,dc=br
bind_policy soft

Copie o arquivo /etc/ldap.conf para /etc/ldap/ldap.conf

# cp /etc/ldap.conf /etc/ldap/ldap.conf

Crie o arquivo /etc/auth-client-config/profile.d/open_ldap

# vim /etc/auth-client-config/profile.d/open_ldap

insira o seguinte conteúdo no arquivo:

[open_ldap]
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
pam_auth=auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
pam_account=account sufficient pam_unix.so
account sufficient pam_ldap.so
account required pam_deny.so
pam_password=password sufficient pam_unix.so nullok md5 shadow use_authtok
password sufficient pam_ldap.so use_first_pass
password required pam_deny.so
pam_session=session required pam_limits.so
session required pam_mkhomedir.so skel=/etc/skel/
session required pam_unix.so
session optional pam_ldap.so

Faça um backup do arquivo nsswitch.conf e da pasta pam.d:

# cp /etc/nsswitch.conf /etc/nsswitch.conf.original
# cd /etc/pam.d/
# mkdir bkup
# cp * bkup/

Habilite a autenticação via LDAP:

# auth-client-config -a -p open_ldap

Reinicie o servidor e cheque se o logon está ok

# reboot

Instalação da Interface Gráfica de Gerenciamento


"GOsa2" (opcional)
Instale o GOsa2:

# apt-get install gosa gosa-schema

Copie os schemas do GOsa2 para a pasta de schemas do LDAP:

# cp /usr/share/doc/gosa/contrib/openldap/* /etc/ldap/schema/
# gunzip /etc/ldap/schema/*.gz

Habilite os schemas do GOsa2 no OpenLDAP:

# vim /etc/ldap/slapd.conf

Altere a linha:

include /etc/ldap/schema/samba.schema

por:

include /etc/ldap/schema/samba3.schema

Adicione as seguintes linhas:

#Atributos do GOsa2
include /etc/ldap/schema/gosystem.schema
include /etc/ldap/schema/gofon.schema
include /etc/ldap/schema/goto.schema
include /etc/ldap/schema/gosa+samba3.schema
include /etc/ldap/schema/gofax.schema
include /etc/ldap/schema/goserver.schema

Obtido em "http://wiki.ft.unicamp.br/Servidor_Samba_com_OpenLdap"

Esta página foi modificada pela última vez às 19h01min, 19 de janeiro de 2010.
Conteúdo disponível sob GNU Free Documentation License 1.2.

Вам также может понравиться