openldap/samba - Autenticação de usuários Windows e Linux



Documentos relacionados
Instalação de um Cliente Linux em um domínio de rede Microsoft Windows NT4

Redes de Computadores

Linux Network Servers

Após salvar, execute o comando testparm e ele deverá exibir a mensagem Server role: ROLE_DOMAIN_PDC".

Sistema Operacional Unidade 13 Servidor Samba. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Guia de instalação para ambiente de Desenvolvimento LINUX

Utilizando Active Directory para autenticação e OpenLDAP para dados dos usuários

Serviço de Diretórios com OpenLDAP. Marcos Sungaila

Como padrão o usuário root vem bloqueado por padrão, habilite o usuário root com os seguintes comandos:

Linux Network Servers

Introdução ao Sistema. Características

de erro vão popular a tela do cliente, sem qualquer sucesso na conexão.

Mini Roteiro - Samba integrado ao LDAP

IFSULDEMINAS - REITORIA - DIRETORIA DE GESTÃO DE TECNOLOGIA DA INFORMAÇÃO DEPARTAMENTO DE INFRAESTRUTURA E REDES

Manual de Instalação e Configuração do SQL Express

Arquivo smb.conf comentado

Prof. Samuel Henrique Bucke Brito

O software discutido aqui é o OpenLDAP, que é uma implementação open source do LDAP que pode ser executada em ambientes GNU/Linux.

Integrando OpenLDAP e Samba no Fedora 7 como servidor de autenticacao

Servidor OpenLDAP. Maurício Severich. 2 o Período - Redes de Computadores

Como atualizar o arquivo de licença do HSC ISS Free

Manual de Configuração do Alferes 7

Instalação rápida do Expresso

Tutorial para Instalação do Ubuntu Server 10.04

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Obs: É necessário utilizar um computador com sistema operacional Windows 7.

Procedimentos para Reinstalação do Sisloc

Configuração da rede Wi-fi da Faculdade de Educação no Windows Vista

COORDENAÇÃO DE TECNOLOGIA (COTEC) JUNHO/2010

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

Suporte de Servidores Linux. Ezequiel Mendes Duque

Formador: Paulo Ramos IGRI13: Rui Bárcia Nº15. Windows 2008 Server. Módulo 16. Instalação e configuração

Configurando DDNS no Stand Alone

O que um Servidor Samba faz?

AULA 6. Bruno L. Albrecht Felipe A. Chies Lucas F. Zawacki. PET Computação UFRGS

Instalação do serviço de FTP com o Proftpd

Manual de Configuração D-LINK Modelo: DVG-1402S Firmware:

Configurando NFS + NIS Ubuntu Linux

SMB vs NFS. Técnico Integrado em Telecomunicações turma

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS

Aula 06 Servidor de Arquivos e Impressora (SaMBa)

Projeto Amadeus. Guia de Instalação Windows

Como instalar o sistema operacional pfsense no Citrix Xen Server

INSTALANDO E CONFIGURANDO O MY SQL

1. Adição de um disco rígido a uma máquina existente. Iremos utilizar uma máquina virtual

INSTALAÇÃO DO MICROSOFT WINDOWS SHAREPOINT SERVICES 2.0

Instalação e Configuração Servidor Samba

Restauração do Exchange Server.

Como instalar o Active Directory no Windows Server 2003

Instalação do PHP no Linux

Configuração Definitiva do Samba

WampServer. Instalação do WampServer. Nota: Essas instruções são baseadas em uma instalação para o sistema operacional Windows.

Administração de redes Servidor FTP

Configuração do Linux Educacional 5 para melhor uso do MonitorINFO-V4

Print Audit 6 - Instalação do SQL Server 2008 express R2

Lazarus pelo SVN Linux/Windows

Instalação e Configuração RPM Remote Print Manager para Windows 2000

Manual de Instalação: Agente do OCS Inventory NG

Laboratório 3. Configurando o Serviço DNS

Manual. Configuração do. Samba. Compartilhamento e Servidor Samba Linux. Produzido por: Sergio Graças Desenvolvedor do Projeto GNU/Linux VRlivre

Passo 1: Abra seu navegador e digite Passo 2: Na tela que surgir, clique em Get Started.

Maker Planet Manual do Usuário

s editores de s Como configurar contas de nos principais Como configurar contas de s nos principais editores de s

Compartilhando arquivos com o samba

Instalando software MÉDICO Online no servidor

Samba PDC no Debian com Clamwin antivírus

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

HOW TO. Instalação do Firewall 6.1 Software

Instruções de Instalação do IBM SPSS Modeler (Licença de Usuário Autorizado)

Manual de configuração de Clientes

Laboratório - Exploração do FTP

Para começarmos as configurações, primeiramente vamos habilitar o DVR Veicular para o acesso. Clique em Menu e depois entre em Geral.

Manual. Configuração do. Samba. Compartilhamento e Servidor Samba Linux. Produzido por: Sergio Graças Desenvolvedor do Projeto GNU/Linux VRlivre

Compartilhamento de arquivos e diretórios

Procedimentos para Instalação do Sisloc

O sistema operacional recomendado deve ser o Windows 2003, Windows 2000 ou Windows XP (nessa ordem de recomendação).

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ - UNIOESTE CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CCET CURSO DE BACHARELADO EM INFORMÁTICA

Aloque 1024 MB de RAM para a VM. Crie um novo disco virtual. Figura 03. Figura 04.

Gerência de Quotas de Impressão com CUPS e Pykota

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

Instalação FreeBSD Inicialização do CD/DVD! Ao colocar o CD/DVD como boot principal na BIOS, aparecerá a seguinte tela:

Instalando e usando o Document Distributor 1

STK (Start Kit DARUMA) Conectando-se diretamente a sua aplicação via TS com o MT1000 Daruma

Manual de Instalação e Configuração MySQL

Para participar de um mapa colaborativo usando o Cmap Tools

INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008

Squid autenticado no Active Directory com Winbind

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

LDAP Parte 2 Autenticando Usuários Ldap no Linux

TESTANDO A INTEGRIDADE DAS ISOs E LIVE-USB:

HOW TO Como distribuir o Aker Client em

Projeto Amadeus. Guia de Instalação Linux

GUIA PRÁTICO DE INSTALAÇÃO

Migração de Certificado Digital (Servidor Microsoft IIS para Apache)

Tutoriais de apoio para a migração do Atualização: 30/04/2014

Transcrição:

openldap/samba - Autenticação de usuários Windows e Linux João Medeiros (joao.fatern@gmail.com) 29 de setembro de 2009 1 Objetivo Configurar um servidor de autenticação de usuários usando uma base LDAP 1.1 Sistema operacional utilizado Iremos utilizar o Ubuntu Server 9.04. 2 Considerações Necessitamos alterar nosso hostname para ser um nome de domínio qualificado. A maneira mais simples de fazer isso, se não dispusermos de um servidor DNS, é alterar os arquivos /etc/hosts e /etc/hostname. Vamos considerar que o nome completo do nosso servidor é server.lab4.fatern. Se o seu servidor DNS já estiver configurado não é necessário alterar o /etc/hosts. Abaixo segue o comando e o resultado da alteração para referência vim /etc/hosts Arquivo /etc/hosts 127.0.0.1 localhost 127.0.1.1 server.lab4.fatern # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts Altere o arquivo /etc/hostname vim /etc/hosts e mude o que está lá para server.lab4.fatern 3 Serviço OpenLDAP 3.1 Instalação apt-get install slapd ldap-utils migrationtools O comando acima irá instalar o OpenLDAP e alguns utilitários. Durante a instalação será necessário fornecer a senha de administração do LDAP. Admin password: fatern Confirm password: fatern 1

3.2 Configuração Agora, precisamos reconfigurar o OpenLDAP e configurá-lo de acordo com nossas necessidades. dpkg-reconfigure slapd Naturalmente o comando acima solicitará algumas informações. Abaixo seguem as respostas fornecidas. No DNS domain name: lab4.fatern Name of your organization: lab4.fatern Admin password: fatern onfirm password: fatern OK HDB No Yes No Reinicie o serviço ldap /etc/init.d/slapd restart Verifique se o serviço está no ar com o comando ldapsearch -xlll -b cn=config -D cn=admin,cn=config -W olcdatabase={1}hdb A saída será algo como Enter LDAP Password: dn: olcdatabase={1}hdb,cn=config objectclass: olcdatabaseconfig objectclass: olchdbconfig olcdatabase: {1}hdb olcdbdirectory: /var/lib/ldap olcsuffix: dc=lab4,dc=fatern olcaccess: {0}to attrs=userpassword,shadowlastchange by dn="cn=admin,dc=lab4,d c=fatern" write by anonymous auth by self write by * none olcaccess: {1}to dn.base="" by * read olcaccess: {2}to * by dn="cn=admin,dc=lab4,dc=fatern" write by * read olclastmod: TRUE olcdbcheckpoint: 512 30 olcdbconfig: {0}set_cachesize 0 2097152 0 olcdbconfig: {1}set_lk_max_objects 1500 olcdbconfig: {2}set_lk_max_locks 1500 olcdbconfig: {3}set_lk_max_locker olcdbindex: objectclass eq 4 SAMBA O SAMBA permite a integração de redes windows com redes linux. É interessante sua instalação, pois assim, poderemos adicionar máquina a um domínio, compartilhar arquivos, impressoras, etc. apt-get install samba smbldap-tools smbclient samba-doc 5 Configuração do OpenLDAP para trabalhar com o SAMBA Por padrão, o OpenLDAP não vem configurado para trabalhar com o SAMBA. Necessitamos efetuar algumas configurações para informar ao OpenLDAP como conversar com o SAMBA. Para isso instalamos um arquivo de esquemas para o OpenLDAP que descreve o SAMBA. 5.1 Adicionando Esquemas Execute os seguintes comandos para copiar o arquivo de esquemas do SAMBA. 2

cp /usr/share/doc/samba-doc/examples/ldap/samba.schema.gz /etc/ldap/schema/ gzip -d /etc/ldap/schema/samba.schema.gz A versão 9.04 do Ubuntu mudou em relação à versão 8.04. A inclusão dos esquemas exige alguns passos adicionais. Iremos incluir dois esquemas: misc e samba. Para incluir os novos esquemas, crie um arquivo chamado esquemas.ldif vim ~/esquemas.ldif e inclua o conteúdo include /etc/ldap/schema/core.schema include /etc/ldap/schema/collective.schema include /etc/ldap/schema/corba.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/duaconf.schema include /etc/ldap/schema/dyngroup.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/java.schema include /etc/ldap/schema/misc.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/ppolicy.schema include /etc/ldap/schema/samba.schema Crie um diretório temporário para os esquemas mkdir /tmp/ldif_output Agora utilize o slaptest para converter os arquivos de esquemas slaptest -f ~/esquemas.ldif -F /tmp/ldif_output Teremos que incluir os esquemas misc e samba. Edite, inicialmente o arquivo referente ao esquema misc vim /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{8\}misc.ldif Altere os atributos da seguinte maneira (logo no início do arquivo) dn: cn=misc,cn=schema,cn=config objectclass: olcschemaconfig cn: misc e remova as seguintes linhas do final do arquivo structuralobjectclass: olcschemaconfig entryuuid: 8c328160-407d-102e-944e-1768e107d0d3 creatorsname: cn=config createtimestamp: 20090928132117Z entrycsn: 20090928132117.070000Z#000000#000#000000 modifiersname: cn=config modifytimestamp: 20090928132117Z Altere agora o esquema referente ao esquema do SAMBA vim /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{12\}samba.ldif Altere os atributos da seguinte maneira (logo no início do arquivo) dn: cn=samba,cn=schema,cn=config objectclass: olcschemaconfig cn: samba E remova as seguintes linhas do final do arquivo structuralobjectclass: olcschemaconfig entryuuid: 8c328160-407d-102e-9452-1768e107d0d3 creatorsname: cn=config createtimestamp: 20090928132117Z entrycsn: 20090928132117.070000Z#000000#000#000000 modifiersname: cn=config modifytimestamp: 20090928132117Z 3

Finalmente, usando o utilitário ldapadd, adicione os novos esquemas ao diretório (o comando abaixo é um só, foi quebrado em duas linhas apenas para caber na largura da página) Adicionando esquema misc ldapadd -x -D cn=admin,cn=config -W -f \ /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{8\}misc.ldif Que deve ter como saída algo como: Enter LDAP Password: adding new entry "cn=misc,cn=schema,cn=config" Adicionando esquema samba ldapadd -x -D cn=admin,cn=config -W -f \ /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{12\}samba.ldif Que deve ter como saída algo como: Enter LDAP Password: adding new entry "cn=samba,cn=schema,cn=config" Vamos agora instalar os índices do Samba. Crie o arquivo samba indices.ldif vim ~/samba_indices.ldif E inclua o conteúdo abaixo: dn: olcdatabase={1}hdb,cn=config changetype: modify add: olcdbindex olcdbindex: uidnumber eq olcdbindex: gidnumber eq olcdbindex: loginshell eq olcdbindex: uid eq,pres,sub olcdbindex: memberuid eq,pres,sub olcdbindex: uniquemember eq,pres olcdbindex: sambasid eq olcdbindex: sambaprimarygroupsid eq olcdbindex: sambagrouptype eq olcdbindex: sambasidlist eq olcdbindex: sambadomainname eq olcdbindex: default sub Usando o utilitátio ldapmodify, carregue os novos índices ldapmodify -x -D cn=admin,cn=config -W -f ~/samba_indices.ldif Enter LDAP Password: modifying entry "olcdatabase={1}hdb,cn=config" Podemos agora ver os novos índices adicionados ldapsearch -xlll -D cn=admin,cn=config -x -b cn=config -W olcdatabase={1}hdb Saída do comando acima 4

Enter LDAP Password: dn: olcdatabase={1}hdb,cn=config objectclass: olcdatabaseconfig objectclass: olchdbconfig olcdatabase: {1}hdb olcdbdirectory: /var/lib/ldap olcsuffix: dc=lab4,dc=fatern olcaccess: {0}to attrs=userpassword,shadowlastchange by dn="cn=admin,dc=lab4,d c=fatern" write by anonymous auth by self write by * none olcaccess: {1}to dn.base="" by * read olcaccess: {2}to * by dn="cn=admin,dc=lab4,dc=fatern" write by * read olclastmod: TRUE olcdbcheckpoint: 512 30 olcdbconfig: {0}set_cachesize 0 2097152 0 olcdbconfig: {1}set_lk_max_objects 1500 olcdbconfig: {2}set_lk_max_locks 1500 olcdbconfig: {3}set_lk_max_lockers 1500 olcdbindex: objectclass eq olcdbindex: uidnumber eq olcdbindex: gidnumber eq olcdbindex: loginshell eq olcdbindex: uid eq,pres,sub olcdbindex: memberuid eq,pres,sub olcdbindex: uniquemember eq,pres olcdbindex: sambasid eq olcdbindex: sambaprimarygroupsid eq olcdbindex: sambagrouptype eq olcdbindex: sambasidlist eq olcdbindex: sambadomainname eq olcdbindex: default sub 5.2 Criando uma conta de testes O diretório foi criado e reconfigurado. Agora, vamos adicionar uma conta de testes, utilizando o esquema clássico. Para isso, podemos utilizar arquivos com o formato LDIF (LDAP Directory Interchange Format). Crie um arquivo chamado lab4.fatern.ldif em algum diretório vim ~/lab4.fatern.ldif E insira o conteúdo abaixo 5

dn: ou=people,dc=lab4,dc=fatern objectclass: organizationalunit ou: people dn: ou=groups,dc=lab4,dc=fatern objectclass: organizationalunit ou: groups dn: uid=joao,ou=people,dc=lab4,dc=fatern objectclass: inetorgperson objectclass: posixaccount objectclass: shadowaccount uid: joao sn: Doe givenname: Joao cn: Joao Medeiros displayname: Joao Medeiros uidnumber: 1001 gidnumber: 10000 userpassword: password gecos: Joao Medeiros loginshell: /bin/bash homedirectory: /home/joao shadowexpire: -1 shadowflag: 0 shadowwarning: 7 shadowmin: 8 shadowmax: 999999 shadowlastchange: 10877 mail: joao@lab4.fatern postalcode: 31000 l: Natal o: lab4 mobile: +55 (84) xx xx xx xx homephone: +55 (84)5 xx xx xx xx title: System Administrator postaladdress: initials: JM dn: cn=lab4,ou=groups,dc=lab4,dc=fatern objectclass: posixgroup cn: lab4 gidnumber: 10000 Em seguida, execute o comando ldapadd -x -D cn=admin,dc=lab4,dc=fatern -W -f ~/lab4.fatern.ldif Que deve ter uma saída como Enter LDAP Password: adding new entry "ou=people,dc=lab4,dc=fatern" adding new entry "ou=groups,dc=lab4,dc=fatern" adding new entry "uid=joao,ou=people,dc=lab4,dc=fatern" adding new entry "cn=lab4,ou=groups,dc=lab4,dc=fatern" 6

6 Configuração do SAMBA Esse passo dever ser executado com paciência, pois se errarmos algum detalhe poderemos ter problemas. O único arquivo a ser alterado é /etc/samba/smb.conf. Por segurança, iremos fazer uma cópia dele. Assim, poderemos voltar ao início caso as coisas não saiam de acordo com o esperado Vá para o diretório do SAMBA cd /etc/samba/ Faça a cópia de segurança do arquivo de configuração cp smb.conf smb.conf.orig Abra o arquivo smb.conf para edição vim smb.conf Encontre os items abaixo e altere para ficar como está abaixo workgroup = LAB4 security = user passdb backend = ldapsam:ldap://localhost/ obey pam restrictions = no Agora, copie e cole as linhas abaixo logo após a linha obey pam restrictions = no. Caso já exista uma cópia destas linhas lá, altere-as para ficarem como está abaixo. ldap suffix = dc=lab4,dc=fatern ldap user suffix = ou=people ldap group suffix = ou=groups ldap machine suffix = ou=computers ldap idmap suffix = ou=idmap ldap admin dn = cn=admin,dc=lab4,dc=fatern ldap ssl = no ldap passwd sync = yes add machine script = sudo /usr/sbin/smbldap-useradd -t 0 -w "%u" domain logons = yes Se a linha abaixo existir (na versão 8.04 existia, mas na 9.04 aparentemente não existe), altere de: invalid users = root Para ;invalid users = root Adicione a linha abaixo ao arquivo (exemplos desta linha existem em algum lugar do arquivo, você pode adicionar em algum lugar próximo). Esta linha desabilita o roaming profiles no Windows logon path = Para que seja possível alterar a senha do usuário de dentro do Windows com o Samba+LDAP é necessário alterar a linha unix password sync = yes para unix password sync = no no arquivo /etc/samba/smb.conf Execute o comando testparm para verificar se não há erros nas configurações testparm Load smb config files from /etc/samba/smb.conf Processing section "[printers]" Processing section "[print$]" Loaded services file OK. Server role: ROLE_DOMAIN_PDC Reinicie o serviço SAMBA /etc/init.d/samba restart Precisamos agora dizer ao SAMBA qual a senha do admin para o servidor OpenLDAP. Execute o comando 7

smbpasswd -w fatern Reinicie o sistema para verificar se está tudo em ordem reboot 7 Configuração do pacote SMBLDAP-TOOLS O pacote smbldap-tools é um dos pacotes mais importante que iremos configurar. Ele contém uma coleção de scripts que iremos utilizar para adicionar usuários, grupos e computadores ao diretório do LDAP. Muitos erros podem ser cometidos aqui, recomendamos que siga as orientações aqui da maneira que estão e volte depois para fazer sua customizações. Vá para o diretório examples cd /usr/share/doc/smbldap-tools/examples/ Copie os arquivos de configuração para o diretório correto e descompacte-os cp smbldap_bind.conf /etc/smbldap-tools/ cp smbldap.conf.gz /etc/smbldap-tools/ gzip -d /etc/smbldap-tools/smbldap.conf.gz Vá o diretório smbldap-tools cd /etc/smbldap-tools/ Precisamos agora do SID (Security ID) para nosso domínio SAMBA. Execute o comando abaixo e anote o resultado net getlocalsid A saída pode ser algo como SID for domain SERVER is: S-1-5-21-3245662880-2119437918-1838398057 Abra o arquivo /etc/smbldap-tools/smbldap.conf vim /etc/smbldap-tools/smbldap.conf Substitua o valor do SID que está lá com o resultado encontrado quando você executou o comando acima. Altere também o valor de sambadomain para LAB4. Você vai precisar alterar também o valor de várias outras variáveis. No caso aqui, o início do arquivo ficou como # Put your own SID. To obtain this number do: "net getlocalsid". # If not defined, parameter is taking from "net getlocalsid" return #SID="S-1-5-21-2252255531-4061614174-2474224977" SID="S-1-5-21-3245662880-2119437918-1838398057" sambadomain="lab4" slaveldap="127.0.0.1" slaveport="389" masterldap="127.0.0.1" masterport="389" ldaptls="0" cafile= clientcert= clientkey= suffix="dc=lab4,dc=fatern" sambaunixidpooldn="sambadomainname=lab4,${suffix}" ## Be careful with this section!! usersmbhome= userprofile= userhomedrive= userscript= maildomain="lab4.fatern" Abra o arquivo /etc/smbldap-tools/smbldap_bind.conf vim /etc/smbldap-tools/smbldap_bind.conf Edite as linhas seguintes de acordo com suas configurações 8

slavedn="cn=admin,dc=lab4,dc=fatern" slavepw="fatern" masterdn="cn=admin,dc=lab4,dc=fatern" masterpw="fatern" Altere as permissões de maneira apropriada chmod 0644 /etc/smbldap-tools/smbldap.conf chmod 0600 /etc/smbldap-tools/smbldap_bind.conf 8 Popule o LDAP usando o smbldap-tools Execute o comando abaixo para popular o diretório LDAP smbldap-populate Populating LDAP directory for domain LAB4 (S-1-5-21-1833354338-582236299-3154104765) (using builtin directory structure) entry dc=lab4,dc=fatern already exist. adding new entry: ou=users,dc=lab4,dc=fatern entry ou=groups,dc=lab4,dc=fatern already exist. adding new entry: ou=computers,dc=lab4,dc=fatern adding new entry: ou=idmap,dc=lab4,dc=fatern adding new entry: uid=root,ou=users,dc=lab4,dc=fatern adding new entry: uid=nobody,ou=users,dc=lab4,dc=fatern adding new entry: cn=domain Admins,ou=Groups,dc=lab4,dc=fatern adding new entry: cn=domain Users,ou=Groups,dc=lab4,dc=fatern adding new entry: cn=domain Guests,ou=Groups,dc=lab4,dc=fatern adding new entry: cn=domain Computers,ou=Groups,dc=lab4,dc=fatern adding new entry: cn=administrators,ou=groups,dc=lab4,dc=fatern adding new entry: cn=account Operators,ou=Groups,dc=lab4,dc=fatern adding new entry: cn=print Operators,ou=Groups,dc=lab4,dc=fatern adding new entry: cn=backup Operators,ou=Groups,dc=lab4,dc=fatern adding new entry: cn=replicators,ou=groups,dc=lab4,dc=fatern adding new entry: sambadomainname=lab4,dc=lab4,dc=fatern Please provide a password for the domain root: Changing UNIX and samba passwords for root New password: Retype new password: Informe a senha para o root: fatern Verifique que você agora tem várias entradas no diretório LDAP, execute o comando ldapsearch -x -b dc=lab4,dc=fatern more 9 Configurando a autenticação LDAP no servidor Instale o software necessários apt-get install auth-client-config libpam-ldap libnss-ldap Responda as perguntas de acordo com o especificado abaixo Should debconf manage LDAP configuration?: Yes LDAP server Uniform Resource Identifier: ldap://127.0.0.1 Distinguished name of the search base: dc=lab4,dc=fatern 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=lab4,dc=fatern LDAP root account password: fatern 9

Crie um backup do arquivo dos arquivos referentes a autenticação com os comandos abaixo cp /etc/nsswitch.conf /etc/nsswitch.conf.orig mkdir /root/pam.d_backup cp /etc/pam.d/* /root/pam.d_backup/ Habilite a autenticação via o profile do LDAP com o comando auth-client-config -t nss -p lac_ldap Descrição das opções: -t: modifica apenas o arquivo /etc/nsswitch.conf. -p: nome do profile a ser habilitado, desabilitado, etc. lac ldap: profile auth-client-config que é parte do pacote de autenticação ldap (ldap-auth-config). O início do arquivo /etc/nsswitch.conf deve ter ficado como # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the glibc-doc-reference and info packages installed, try: # info libc "Name Service Switch" for information about this file. # pre_auth-client-config # passwd: compat passwd: files ldap # pre_auth-client-config # group: compat group: files ldap # pre_auth-client-config # shadow: compat shadow: files ldap...... Para concluir a configuração do sistema para utilizar a autenticação LDAP, execute o comando pam-auth-update Deixe habilitadas as três opções [*] Unix authentication [*] LDAP Authentication [*] ConsoleKit Session Management Executando o comando abaixo getent passwd Devem ser exibidos usuário do LDAP, incluídos anteriormente. mysql:x:108:116:mysql Server,,,:/var/lib/mysql:/bin/false openldap:x:109:117:openldap Server Account,,,:/var/lib/ldap:/bin/false joao:x:1001:10000:joao Medeiros:/home/joao:/bin/bash 10 Adicione um usuário LDAP ao sistema Execute o seguinte comando para adicionar um usuário ao LDAP. Observe que você deve alterar as informações abaixo de acordo com suas necessidades. O comando abaixo adiciona um usuário padrão: smbldap-useradd -a -m -M roberta -c "Roberta M" roberta Aqui vai o significado das opções do comando -a Permite login tanto no Windows quanto no Linux -m Cria um diretório HOME. -M Especifica a parte do nome do usuário para o endereço de email. -c Especifica o nome completo do usuário Lembre que para trocar a senha de um usuário você pode usar smbldap-passwd roberta 10

11 Configuração de um cliente Windows A configuração de uma máquina Windows pode ser feita normalmente: Na máquina Windows, se logue com algum usuário com privilégios administrativos Clique com o botão direito em Meu Computador e selecione Propriedades Na tela seguinte, escolha a aba Nome do Computador Clique no botão Alterar Na nova janela, selecione a opção Domínio na seção Membro de Digite o nome do domínio, no nosso caso LAB4 Clique no botão OK Deve aparecer uma janela solicitando um usuário e senha, digite root como usuário e fatern como senha Clique em OK Clique em OK novamente Reinicie o computador Após o reboot, se logue com o usuário que você cadastrou anteriormente Em caso de problemas, tente definir novamente a senha do root no samba com o comando smbpasswd -w fatern /etc/init.d/samba restart 15. Configuração do suporte a NFS Para que as máquinas Linux possam montar os diretórios $HOME dos usuários devemos configurar o suporte a NFS no servidor. Instale os pacotes necessários apt-get install nfs-kernel-server nfs-common portmap Reconfigure o portmap dpkg-reconfigure portmap Responda No à pergunta. Edite o arquivo /etc/exports, que define os diretórios compartilhados vim /etc/exports Exporte o diretório /home, acrescentado a linha abaixo no arquivo /home *(rw,async) Execute o comando /etc/init.d/nfs-kernel-server restart 12 Configuração de um cliente Linux Configure uma máquina cliente Linux para montar arquivos via NFS. Os comando abaixo dever ser executados em uma máquina cliente, diferente do servidor. apt-get install portmap nfs-common Experimente montar manualmente o diretório exportado pelo servidor mkdir /ldap mount server:/home /ldap Se não houver nenhuma mensagem de erro, execute os comandos abaixo para se certificar que realmente deu tudo certo cd /ldap df -h. A saída dever ser algo como 11

Filesystem Size Used Avail Use% Mounted on server:/home 7,4G 677M 6,4G 10% /ldap Observe que o diretório está montado no servidor. Desmonte o diretório cd / umount /ldap Para que o diretório seja montado durante o boot, acrescente a montagem no /etc/fstab vim /etc/fstab Adicione as linhas abaixo no arquivo /etc/fstab # Custom NFS mount for home directories. server:/home /ldap nfs rsize=8192,wsize=8192,timeo=14,intr Execute o comando abaixo para montar novamente as partições do fstab mount -a Uma vez configurado o NFS, podemos configurar agora a autenticação LDAP. Instale os softwares necessários apt-get install auth-client-config libpam-ldap libnss-ldap Responda as perguntas de acordo com o especificado abaixo Should debconf manage LDAP configuration?: Yes LDAP server Uniform Resource Identifier: ldap://server.lab4.fatern Distinguished name of the search base: dc=lab4,dc=fatern 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=lab4,dc=fatern LDAP root account password: fatern Crie um backup do arquivo /etc/ldap.conf: cp /etc/ldap.conf /etc/ldap.conf.original Abra o arquivo /etc/ldap.conf com seu editor de textos favorito vim /etc/ldap.conf Procure dentro do arquivo as linhas abaixo e altere-as para que fiquem como está abaixo host server.lab4.fatern base dc=lab4,dc=fatern uri ldap://server.lab4.fatern/ rootbinddn cn=admin,dc=lab4,dc=fatern bind_policy soft Agora, copie o arquivo /etc/ldap.conf para o arquivo /etc/ldap/ldap.conf. Faça um backup antes cp /etc/ldap/ldap.conf /etc/ldap/ldap.conf.original cp /etc/ldap.conf /etc/ldap/ldap.conf Crie um novo arquivo /etc/auth-client-config/profile.d/open_ldap vim /etc/auth-client-config/profile.d/open_ldap Acrescente as linhas abaixo, copie e cole 12

[open_ldap] nss_passwd=passwd: compat ldap nss_group=group: compat ldap nss_shadow=shadow: compat ldap nss_netgroup=netgroup: 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/ umask=0077 session required pam_unix.so session optional pam_ldap.so Se ao colar no arquivo a formatação não ficar exatamente como está acima, inclua os espaços devidos nos lugares corretos. Faça um backup do arquivo /etc/nsswitch.conf cp /etc/nsswitch.conf /etc/nsswitch.conf.original Faça um backup, também, dos arquivos no diretório /etc/pam.d cd /etc/pam.d/ mkdir bkup cp * bkup/ Habilite o novo profile OpenLDAP executando o seguinte comando. Se todos os passos foram efetuados corretamente, a saída do comando não deve conter erros. auth-client-config -a -p open_ldap Se ocorrerem erros do tipo ** WARNING: Skipping open_ldap (couldn t process) Usage: auth-client-config -p PROFILE -a -t TYPE [-dn -f FILE] auth-client-config -p PROFILE -a -t TYPE -r [-n -f FILE] auth-client-config -p PROFILE -a -t TYPE -s [-f FILE] auth-client-config: error: option -p: invalid choice: open_ldap (choose from ldap_example, lac_ldap, kerberos_example, cracklib ) Verifique a formatação do arquivo /etc/auth-client-config/profile.d/open_ldap Reinicie o sistema e tente se logar com algum usuário criado anteriormente. 13 Administração do OpenLDAP com o phpldapadmin Uma vez criado e configurado o diretório LDAP, podemos usar alguma ferramenta gráfica para administrar o diretório. Uma opção interessante é o PHPLDAPAdmin. Efetue a instalação com o comando pt-get install apache2 phpldapadmin Edite o site default vim /etc/apache2/sites-available/default Acrescente a linha abaixo no início do arquivo ServerName server.lab4.fatern Altere o arquivo /etc/php5/apache2/php.ini vim /etc/php5/apache2/php.ini Procure a linha com memory_limit e altere-a para memory_limit = 32M 13

Copie o conteúdo do phpldapadmin para o site default. cp -R /usr/share/phpldapadmin/ /var/www/phpldapadmin Altere o arquivo /var/www/phpldapadmin/config/config.php subsituindo example por lab4 e dc=com por dc=fatern vim /var/www/phpldapadmin/config/config.php Dentro do vim, digite as sequencias :%s/example/lab4/g :%s/dc=com/dc=fatern/g Reinicie o apache /etc/init.d/apache2 restart Acesse o phpldapadmin apontando o browser para http://ipdoservidor/phpldapadmin/ 14 Referências Este documento foi em grande parte baseado nos artigos abaixo: http://www.rrcomputerconsulting.com/view.php?article_id=3 http://download.gna.org/smbldap-tools/docs/samba-ldap-howto/ 14