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:

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.gz # vim /etc/ldap/slapd.conf Adicionar os seguintes itens juntamente com os outros includes: include include /etc/ldap/schema/samba.schema /etc/ldap/schema/misc.sambaLMPassword.conf: # cp /usr/share/doc/samba-doc/examples/LDAP/samba.br Name of your organization: ft.shadowLastChange por: access to attrs=userPassword.sambaNTPassword.schema para a pasta do LDAP e habilitá-lo no slapd.gz /etc/ldap/schema/ # gzip -d /etc/ldap/schema/samba.d/slapd restart .shadowLastChange Reiniciar o LDAP # /etc/init.schema.# dpkg-reconfigure slapd No DNS domain name: ft.schema.unicamp.unicamp.schema Alterar a linha access to attrs=userPassword.

dc=br ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Users .dc=unicamp.conf smb.original Alterações no smb.conf cd /etc/samba cp smb.dc=unicamp. 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 = .dc=br ldap suffix = dc=ft.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.Configuração do Samba Fazer um backup do smb.conf.

conf.dc=ft.dc=ft.dc=br" slavePw="<senha>" masterDN="cn=admin.Reinicie o samba : # /etc/init.dc=unicamp.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.dc=unicamp.${suffix}" userSmbHome= userProfile= userHomeDrive= userScript= mailDomain="ft.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.gz /etc/smbldap-tools/ gzip -d /etc/smbldap-tools/smbldap.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.dc=br" masterPw="<senha>" .unicamp.conf slaveDN="cn=admin.conf /etc/smbldap-tools/ cp smbldap.dc=unicamp.conf # vim smbldap.dc=br" # sambaUnixIdPooldn="sambaDomainName=EXAMPLE.br" Edite o arquivo smbldap_bind.conf e configure os dados do usuário administrador # vim smbldap_bind.

dc=unicamp.Altere as permissões dos arquivos de configuração: # chmod 0644 /etc/smbldap-tools/smbldap.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.conf # chmod 0600 /etc/smbldap-tools/smbldap_bind.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: .

so auth sufficient pam_unix.dc=br LDAP root account password: <senha> Edite o arquivo /etc/ldap.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 account required pam_deny.1 Distinguished name of the search base: dc=ft.dc=br bind_policy soft Copie o arquivo /etc/ldap.d/open_ldap # vim /etc/auth-client-config/profile.dc=unicamp.so pam_session=session required pam_limits.dc=ft.so session optional pam_ldap.conf /etc/ldap/ldap.so use_first_pass auth required pam_deny.0.so skel=/etc/skel/ session required pam_unix.so Faça um backup do arquivo nsswitch.original # cd /etc/pam.1 base dc=ft.so nullok md5 shadow use_authtok password sufficient pam_ldap.so use_first_pass password required pam_deny.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.1/ rootbinddn cn=admin.0.dc=ft.conf para /etc/ldap/ldap.dc=unicamp.conf e cheque se os parametros estão como abaixo: # vim /etc/ldap.so likeauth nullok auth sufficient pam_ldap.0.dc=unicamp.so pam_password=password sufficient pam_unix.dc=br uri ldap://127.d/ # mkdir bkup .0.so account sufficient pam_ldap.0.conf # cp /etc/ldap.conf host 127.conf e da pasta pam.conf /etc/nsswitch.0.LDAP server Uniform Resource Identifier: ldap://127.d: # cp /etc/nsswitch.dc=unicamp.conf.so session required pam_mkhomedir.so pam_account=account sufficient pam_unix.conf Crie o arquivo /etc/auth-client-config/profile.

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.gz Habilite os schemas do GOsa2 no OpenLDAP: # vim /etc/ldap/slapd.schema include /etc/ldap/schema/gofon.schema .# 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/*.schema include /etc/ldap/schema/goto.

br/Servidor_Samba_com_OpenLdap" Esta página foi modificada pela última vez às 19h01min.schema /etc/ldap/schema/gofax.2.schema /etc/ldap/schema/goserver. .schema Obtido em "http://wiki.unicamp. Conteúdo disponível sob GNU Free Documentation License 1.include include include /etc/ldap/schema/gosa+samba3. 19 de janeiro de 2010.ft.