% OpenLDAP:
% Instalaçao e configuracao de um Servidor LDAP
% 
% Projeto Libertas-BR 
% http://www.libertasbr.org.br
% 
% 
% 
% Sergio Augusto C. Gomes

% 	3.1. Introdução

O LDAP  é um protocolo de acesso a um serviço de diretório em redes de computadores. Um serviço de diretório tem como objetivo prover informações e meios de autenticação sobre os usuários de uma forma centralizada.

O OpenLDAP é uma implementação do protocolo LDAP e seu diretório de dados. O Servidor OpenLDAP pode também servir como um servidor de Autenticação, no qual todos os usuários são cadastrados para poderem utilizar as máquinas clientes. 

O Servidor OpenLDAP (até a versão 2.1.30-3) possui a seguinte estrutura no GNU LibertasBR/Debian:
\begin{itemize}
\item Arquivo de configuração do Servidor OpenLDAP: /etc/ldap/slapd.conf
\item Arquivos de definição de esquemas: /etc/ldap/schemas
\item Arquivos da base de dados do diretório: /var/lib/ldap
\end{itemize}

%Em um Telecentro, 
% O Servidor OpenLDAP pode também servir como um servidor de Autenticação, no qual todos os usuários são cadastrados para poderem utilizar as máquinas clientes. No modelo apresentando neste documento, o OpenLDAP está instalado no Servidor Etherboot.
A seguir, serão descritas a instalação e a configuração de um Servidor de Autenticação OpenLDAP, com sistema de cotas de discos.% para um Telecentro. 

\section{Instalação do Servidor OpenLDAP}
\subsection{Pré-Requisitos}
Antes de iniciar a instalação do OpenLDAP, é  necessário definir o sufixo do Nome Distinto  (Distinguished Name - DN) do serviço de diretório. O sufixo é a identificação base do diretório LDAP e tem como objetivo classificar e indexar as informações contidas no mesmo; em geral, o sufixo é baseado no domínio da rede local.

Em telecentros, por exemplo, geralmente é utilizado como padrão a seguinte notação de domínio de rede: nomedacidade.telecentro. Sendo assim, o sufixo seria: dc=nomedacidade,dc=telecentro.

Supondo que o telecentro em questão esteja sendo instalado na cidade de Indaiabira. Neste caso, a rede seria chamada indaiabira.telecentro, logo o sufixo seria: 

\medskip
\begin{framed}
\begin{verbatim}
dc=indaiabira,dc=telecentro
\end{verbatim}
\end{framed}

Seguindo o exemplo acima, seria possível definir o sufixo do Servidor OpenLDAP de qualquer outro Telecentro.

\subsection{Instalação do OpenLDAP}
Vários dos comandos a serem executados nesta instalação podem exigir status de superusuário do sistema (root); em tais casos, deve-se utilizar o usuário \textit{root} e sua respectiva senha.

% Abra um terminal no modo texto, com um usuário administrador do sistema, como o "root" por exemplo,  e 
Executando o comando abaixo, instala-se o pacote do Servidor OpenLDAP e seus utilitários:

\medskip
\noindent \colorbox{claro}{aptitude install slapd ldap-utils}
\medskip
% 	#aptitude install slapd ldap-utils

Em seguida, a tecla {\bf \verb|<S>|} (ou {\bf \verb|<Y>|}, caso o sistema esteja configurado em inglês) deverá ser pressionada para continuar a instalação e por fim, deve ser pressionada a tecla {\bf \verb"<Enter>"}.

Será então aberto o DebianConf, uma interface em modo texto, na qual a configuração da ferramenta OpenLDAP ocorre através de perguntas feitas ao usuário.  A seguir, algumas explicações sobre como proceder em cada uma das perguntas:

\begin{enumerate}
\item Na opção [Enter your DNS domain name], escolha o domínio onde o servidor OpenLDAP será instalado. No exemplo aqui utilizado:

\medskip
\begin{framed}
\begin{verbatim}
"indaiabira.telecentro"
\end{verbatim}
\end{framed}

\item Na tela seguinte, digite o nome da organização, que neste caso seguirá o mesmo padrão do domínio da rede, ou seja, nomedacidade.telecentro:

\medskip
\begin{framed}
\begin{verbatim}
"indaiabira.telecentro"
\end{verbatim}
\end{framed}

\item Forneça então a senha para o usuário administrador (admin) da base LDAP.

% \paragraph{Atenção:} Esta mesma senha deverá ser inserida no arquivo de configuração do OpenLDAP e ser repassada para a administração do Telecentro.

\item Confirme a senha.

\item Na tela ``Allow LDAPv2 protocol", selecione a opção  [Nao], e pressione  a tecla {\bf \verb"<Enter>"}.

\item Por fim, a instalação do servidor será finalizada. Caso apareça alguma mensagem de erro tente verificar o que aconteceu e corrigí-lo antes de continuar.
\end{enumerate}

\subsection{Testando o servidor OpenLDAP}
Ao chegar neste ponto, o servidor OpenLDAP já deverá estar instalado. Para ter certeza  da instalação e funcionamento do mesmo, verifique se o serviço está sendo iniciado corretamente sem apresentar mensagens de erro, conforme exemplo abaixo:

\begin{enumerate}
\item Execute o seguinte comando:

\medskip
\noindent \colorbox{claro}{/etc/init.d/slapd restart}
\medskip

\item Ele deverá gerar a seguinte resposta:

\medskip
\begin{framed}
\begin{verbatim}
	Stopping OpenLDAP: slapd.
	Starting OpenLDAP: slapd.
\end{verbatim}
\end{framed}
\medskip
% 	linux:~# /etc/init.d/slapd restart
% 	Stopping OpenLDAP: slapd.
% 	Starting OpenLDAP: slapd.

\item Em seguida, faça um teste na base de dados, com a ferramenta ``slapcat". Execute o comando:

\medskip
\noindent \colorbox{claro}{slapcat}
\medskip
% 	linux:~# slapcat   {\bf \verb!<Enter>!}

\item No caso aqui apresentado, sua resposta seria a seguinte:

\medskip
\begin{framed}
\begin{verbatim}
dn: dc=indaiabira,dc=telecentro
objectClass: top
objectClass: dcObject
objectClass: organization
o: indaiabira.telecentro
dc: indaiabira
structuralObjectClass: organization
entryUUID: 5aec58f8-6669-1029-8259-d5da35b40cec
creatorsName: cn=anonymous
modifiersName: cn=anonymous
createTimestamp: 20050531214740Z
modifyTimestamp: 20050531214740Z
entryCSN: 2005053121:47:40Z#0x0001#0#0000

dn: cn=admin,dc=indaiabira,dc=telecentro
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e2NyeXB0fTZMY0RrNGZ5cWJ5TG8=
structuralObjectClass: organizationalRole
entryUUID: 5af249de-6669-1029-825a-d5da35b40cec
creatorsName: cn=anonymous
modifiersName: cn=anonymous
createTimestamp: 20050531214740Z
modifyTimestamp: 20050531214740Z
entryCSN: 2005053121:47:40Z#0x0002#0#0000
\end{verbatim}
\end{framed}
\medskip

Caso os resultados obtidos no teste sejam semelhantes aos mostrados acima, a instalação do OpenLDAP em sua máquina foi realizada com sucesso. Caso contrário, retorne ao inicio da documentação e tente identificar e corrigir o problema.

Para obter maiores informações sobre problemas na instalação do OpenLDAP, consulte o endereço eletrônico: \\ \url{www.openldap.org}
\end{enumerate}

A seção a seguir trata de questões de integridade e segurança da base de dados do servidor OpenLDAP. Caso não considere primordiais estas questões, você pode saltá-la e passar para a seção seguinte, que ensina como cadastrar usuários na base do OpenLDAP.

\section{Proteção da base de dados do OpenLDAP}
Finalizada a instalação padrão de seu servidor LDAP com sucesso,  você pode proteger o mesmo contra um corrompimento na base de dados. Esse corrompimento pode ser causado, por exemplo, por uma queda de energia ou falhas no equipamento. A seguir são descritos os procedimentos a serem realizados:

\begin{itemize}
\item Acrescentar no arquivo de configuração do ldap (/etc/ldap/slapd.conf), após a diretiva ``directory  /var/lib/ldap", a seguinte diretiva:

\medskip
\begin{framed}
\begin{verbatim}
"checkpoint X Y"
\end{verbatim}
\end{framed}
\medskip

Substituindo as variáveis X e Y por valores definidos. A variável X representa o número de entradas, e a Y, o número de minutos para buscar e corrigir falhas na base. Por exemplo, se X=2 e Y=10, a cada duas novas entradas na base, ou a cada 10 minutos, uma nova busca ocorrerá.
	 
\item Instale o pacote db4.2-util que contém a ferramenta de recuperação de base de dados. Para isso execute o seguinte comando: 

\medskip
\noindent \colorbox{claro}{aptitude install db4.2-util}
\medskip
% 	# aptitude install db4.2-util

\item Modifique o script de iniciação do ldap (/etc/init.d/slapd) para que o mesmo seja  capaz de recuperar a base de dados em caso de corrompimento. A alteração deve ser feita conforme mostrado abaixo: 

\begin{itemize}
\item O script original deve ser o seguinte:

\medskip
\begin{framed}
\begin{verbatim}
# Start the OpenLDAP daemons 
start()
{ 	echo -n "Starting OpenLDAP:" 
	trap  report_failure  0 
>>	# ------Inserir essa linha-------------- 
	db4.2_recover -h /var/lib/ldap
	 start_slapd 
	start_slurpd 
	trap "-" 0
	 echo . 
} 
....
\end{verbatim}
\end{framed}
\medskip

\item Nele, onde se le ``/var/lib/ldap", deve ser indicado o local onde a base está armazenada. O local padrão de armazenamento é var/lib/ldap. 

\item Execute o seguinte comando para reiniciar o serviço OpenLDAP:

\medskip
\noindent \colorbox{claro}{/etc/init.d/slapd restart}
\medskip

\item Verifique se alguma mensagem de erro aparece, na linha de comando ou no /var/log/syslog e /var/log/auth.%, reiniciando o serviço OpenLDAP:
% 	# /etc/init.d/slapd restart
\end{itemize}
\end{itemize}

\section{Populando a base de dados}
% 
%  	Introdução
% 
Com o servidor OpenLDAP devidamente configurado, é chegada a hora de popular sua base, procedimento este que envolve a criação de grupos e usuários que utilizarão o serviço.%Telecentro. 

Num exemplo de base LDAP como um diretório, onde o diretório principal é o 
dc=indaiabira,dc=telecentro , é necessário ter sub-diretórios para armazenar todas as entidades existentes na rede, como computadores e pessoas, por exemplo.

Neste exemplo, serão criados os seguintes sub-diretórios:
\begin{itemize}
\item ou=Pessoas,dc=indaiabira,dc=telecentro
\item ou=Computadores,dc=indaiabira,dc=telecentro
\end{itemize}

A partir deste raciocínio, ao incluir um usuário Fulano (por exemplo), deve-se utilizar a seguinte notação:

\medskip
\begin{framed}
\begin{verbatim}
uid=Fulando,ou=Pessoas,dc=indaiabira,dc=telecentro
\end{verbatim}
\end{framed}

Na próxima seção, são descritos os procedimentos de instalação e uso de uma ferramenta gráfica para gerenciamento da base LDAP, o PHPLdapAdmin.

Deve-se ressaltar que este documento trata da criação de uma nova base de dados LDAP, ou seja, cada usuário deverá ser incluído individualmente na base de dados. Caso seja de interesse fazer uma migração de uma base de usuários NIS ou de um outro servidor LDAP, recomendamos buscar informações na pátina oficial do projeto OpenLDAP: \url{www.openldap.org}

\subsection{Instalação do Gerenciador da Base LDAP}
Para instalar o PHPLdapAdmin, basta utilizar o comando abaixo:

\medskip
\noindent \colorbox{claro}{aptitude install apache}
\medskip

\noindent \colorbox{claro}{aptitude install phpldapadmin}
\medskip
% 	# aptitude install phpldapadmin

\paragraph{Atenção:} Caso esta instalação apresente algum erro, tente verificar se o servidor Apache está funcionando corretamente com o PHP.

Após pressionar {\bf \verb!<Enter>!} no comando acima, reponda {\bf \verb!<Y>!} e deixe o sistema buscar e instalar os pacotes. Após os pacotes serem baixados no computador, será iniciado o DebianConf, siga as orientações abaixo para responder as perguntas: 

\begin{enumerate}
\item Para todas as telas de configuração do Apache e PHP, mantenha as respostas padrão, confirmando-as pressionando a tecla {\bf \verb!<Enter>!}.
\item Para todas as telas de configuração do PHPLdapAdmin, mantenha as respostas padrão, confirmando-as pressionando a tecla {\bf \verb!<Enter>!}. Apenas certifique-se de que na tela com a pergunta sobre qual tipo de autenticação utilizar, selecione \verb![sessão]! (ou \verb![session]! se a pergunta estiver em inglês):

\medskip
\begin{framed}
\begin{verbatim}
Which type of authentication you want to use? 
 	>session
 	 cookie
 	 config
\end{verbatim}
\end{framed}
\medskip

\item Em seguida, abra o arquivo /etc/phpldapadmin/config.php e altere as diretivas abaixo com os seguintes valores;

\medskip
\begin{framed}
\begin{verbatim}
$servers[$i]['name'] = 'Base LDAP-Telecentro'; 
$servers[$i]['enable_auto_uid_numbers'] = true;
$servers[$i]['auto_uid_number_search_base'] = 'dc=indaiabira,dc=telecentro';
\end{verbatim}
\end{framed}
\medskip
	
\item O seu gerenciador da Base LDAP estará, então, instalado. Para verificar seu funcionamento, abra um navegador e digite o seguinte endereço: \\ \url{http://localhost/phpldapadmin/}

\item Para acessá-lo, entre com a senha de administrador LDAP, fornecida na configuração do servidor OpenLDAP.
\end{enumerate}


\subsection{Criando o grupo ou=Pessoas}
\begin{enumerate}
\item Abra o PHPLdapAdmin como administrador, e crie o grupo ``ou=Pessoas". No lado esquerdo do navegador, clique em cima do sinal ``+" ao lado de ``dc=indaiabira,dc=telecentro", e depois clique em [Criar nova entrada] ou [Create new entry here];
\item Aparecerá à direita do navegador a opção: [Organizational Unit], marque-a e prossiga;
\item Coloque ``Pessoas" no campo ``OU Name", e prossiga;
\item Confirme a criação;
\item A unidade organizacional ``Pessoas", que utilizaremos como o grupo dos usuários do Telecento foi criada. 
\end{enumerate}

\section{Configurando Cotas de Disco para os Usuários}\label{confcota}
Nesta seção é explicado o procedimento a ser seguido para se definir cotas para os usuários a serem criados no servidor OpenLDAP. Inicialmente, é descrita a configuração do serviço de cota, que deve ser realizada somente uma vez na configuração do servidor OpenLDAP; em seguida é descrito o processo de atribuição de cota para cada usuário criado.

\begin{enumerate}
\item Para instalar o sistema Quota, execute o comando:

\medskip
\noindent \colorbox{claro}{aptitude install quota quotatool}
\medskip

Caso alguma pergunta seja feita, apenas confirme a resposta padrão.
% 	#aptitude install quota quotatool
% 	(caso apareca alguma tela, deixe a resposta padrão e confirme)

\item Altere o /etc/fstab, na linha de montagem do /home:

\medskip
\begin{framed}
\begin{verbatim}
/dev/hda5	/home		ext3	defaults,usrquota	0 1
\end{verbatim}
\end{framed}
\medskip

\item Carregue os módulos do sistema Quota com os comandos:

\medskip
\noindent \colorbox{claro}{cd /lib/modules/{versao cerne}/kernel/fs}
\medskip

\noindent \colorbox{claro}{modprobe quota\_v2}
\medskip
% 	#cd /lib/modules/{versao cerne}/kernel/fs
% 	#modprobe quota_v2
	
\paragraph{Observação:} Lembre-se de editar o /etc/modules para que este módulo seja carregado automaticamente. Adicione no final do arquivo a seguinte linha: 

\medskip

\noindent \colorbox{claro}{quota\_v2}
\medskip

	
\item Desmonte e remonte o diretório /home, depos crie um arquivo vazio no diretório home com permissão 600. Utilize os seguintes comandos:

\medskip
\noindent \colorbox{claro}{mount /home}
\medskip

\noindent \colorbox{claro}{touch /home/aquota.usr}
\medskip

\noindent \colorbox{claro}{chmod 600 /home/aquota.usr}
\medskip
% #mount /home
% #touch /home/aquota.usr
% #chmod 600 /home/aquota.usr

\item O serviço de cota deve ser verificado e reiniciado:

\medskip
\noindent \colorbox{claro}{/sbin/quotacheck -avug}
\medskip

\noindent \colorbox{claro}{/etc/init.d/quota restart}
\medskip
	
\noindent \colorbox{claro}{/etc/init.d/quotarpc restart}
\medskip
% 	#/sbin/quotacheck -avug
% 	#/etc/init.d/quota restart
% 	#/etc/init.d/quotarpc restart

\item A partir deste momento, o sistema estará apto a definir cotas para os usuários. Para adicionar as cotas para um usuário, deve-se utilizar  o seguinte comando:

\medskip
\noindent \colorbox{claro}{edquota -u [usuário]}
\medskip
% 	#edquota -u [usuário]

Será aberto um arquivo de configuração. Somente devem ser alterados os campos [soft] e [hard] (tais campos se encomtram após o campo [blocks]). O campo [soft] indica a cota de disco do usuário (em kilobytes), e o campo [hard] a cota limite física para o usuário. Um exemplo do arquivo para o usuário ``teste" com cota de 80Mb e limite físico de 100Mb será mostrado abaixo:

\medskip
\begin{framed}
\begin{verbatim}
Quotas for user teste
blocks     soft    hard  inodes    soft   hard
     0    80000  100000       0       0      0
\end{verbatim}
\end{framed}
\medskip

Para copiar as configurações de cota para outro usuário, por exemplo, do usuário ``teste1" para os usuários ``teste2" e ``teste3" basta executar o seguinte comando:

\medskip
\noindent \colorbox{claro}{edquota -p teste1 teste2 teste}
\medskip
% 	#edquota -p teste1 teste2 teste
\end{enumerate}

\section{Criar os usuários} %do Telecentro}
\label{criarusuarios}
A seguir, serão descritos os procedimentos para se criar usuários padrão:% para o telecentro, ou seja, dado um telecentro com 10 computadores, serão criados 10 usuários, usuario01 até usuario10.

\begin{enumerate}
\item Abra o PHPLdapAdmin como administrador e crie o grupo ``ou=Pessoas". No lado esquerdo do navegador, clique sobre o sinal ``+" ao lado de ``dc=indaiabira,dc=telecentro", clique sobre o sinal ``+" ao lado de ``ou=Pessoas", e depois clique em [Criar nova entrada] (ou [Create new entry here] se a pergunta estiver em inglês);
\item Aparecerá, à direita do navegador, a opção [User Account (posixAccount)], marque-a e prossiga;
\item Preencha o formulário com os valores abaixo para criação do primeiro usuário padrão:

\medskip
\begin{framed}
\begin{verbatim}
	First name: Usuário 
	Last name: Padrão
	Common name: Usuário Padrão
	User name: usuario01
	Password: senha1 	
	Password: senha	
	Encryption:  Clear
	Login Shell: /bin/bash
	Container: ou=Pessoas,dc=indaiabira,dc=telecentro
	Home Directory: /home/usuario01
	UID Number: 1000	
	GID Number: 100	
\end{verbatim}
\end{framed}
\medskip

\item Prossiga e confirme a criação do usuário;
\item Em seguida, execute o comando:

\medskip
\noindent \colorbox{claro}{edquota -p usuario01}
\medskip
% #edquota -p usuario01

Em discos de 40GB, recomendamos o limite de 50MB por usuário.
(Em caso de duvidas, consulte a seção \ref{confcota})

\item Concluído este procedimento, o usuario01 terá sido criado.

Para criar os usuários ``usuario02, ``usuario03" até o ``usuario10", repita o procedimento descrito acima, lembrando-se de mudar, no passo 3, ao preencher o formulário de Informações do usuário, o número do usuário. Somente na criação do usuario01 você deve digitar manualmente o UID=1000, pois os próximos usuários criados terão o UID gerados automaticamente. Lembre-se de manter o GID com o valor 100 como padrão.

Caso deseje criar usuários personalizados, siga os passos acima, alterando somente os campos:
\begin{itemize}
\item First name,
\item Last name,
\item Common name,
\item User name 
\item Password.
\end{itemize}

Para verificar se os usuários estão sendo criados corretamente, execute o comando slapcat. Por padrão, este comando retornará todos os dados da Base LDAP.
\end{enumerate}

\section{Configuração do Cliente OpenLDAP}
Num caso em que todas as máquinas que serão autenticadas no Servidor OpenLDAP deverão estar com o cliente OpenLDAP devidamente configurado. Recomendamos que somente as máquinas clientes tenham esta configuração, pois por questão de segurança os Servidores devem autenticar usando o sistema padrão de autenticação Linux, o /etc/passwd.

No GNU LibertasBR Debian/Linux, o cliente OpenLDAP está relacionado com os seguintes arquivos:
\begin{itemize}
\item Arquivo de configuração do Cliente OpenLDAP: /etc/ldap/lapd.conf
\item Arquivo de configuração do NSCD: /etc/nsswitch.conf
\item Arquivo de configuração da biblioteca libnss-ldap: /etc/libnss-ldap.conf
\item Arquivo de configuração da biblioteca pam-ldap: /etc/pam\_ldap.conf
\item Arquivos de configuração do PAM: \\
						/etc/pam.d/common-account \\
						/etc/pam.d/common-auth \\
						/etc/pam.d/common-session \\
						/etc/pam.d/common-password \\
\end{itemize}

A seguir serão descritos os passos para se alterar cada um destes arquivos.

\begin{enumerate}
\item 	Os seguintes pacotes devem ser instalados: 
	\begin{itemize}
	\item libnss-ldap 
	\item libpam-ldap 
	\item nscd 
	\end{itemize}
\item Execute o comando: 

\medskip
\noindent \colorbox{claro}{aptitude install libnss-ldap libpam-ldap nscd }
\medskip
% aptitude install libnss-ldap libpam-ldap nscd 

Ignore as perguntas feitas durante a instalação desses pacotes (simplesmente pressione {\bf \verb!<Enter>!}). As configurações relevantes serão feitas manualmente após a instalação e estão descritas, em detalhes, nas seções seguintes. 
\item Edite o arquivo /etc/libnss-ldap.conf. conforme descrito abaixo: 
    
\medskip
\begin{framed}
\begin{verbatim}    
    # Substitua pelo IP de seu servidor LDAP
    host 192.168.0.100

    # Substitua pela sua base  de dados LDAP
    base dc=indaiabira,dc=telecentro

    #Versão do Ldap
    ldap_version 3
\end{verbatim}
\end{framed}
\medskip

As outras linhas do arquivo devem continuar comentadas. 
\item Remova o arquivo /etc/ldap/ldap.conf e crie um atalho simbólico do arquivo 
/etc/libnss-ldap.conf para o mesmo. Para isso execute os seguintes comandos: 

\medskip
\noindent \colorbox{claro}{rm -f /etc/ldap/ldap.conf}
\medskip

\noindent \colorbox{claro}{ln -s /etc/libnss-ldap.conf  /etc/ldap/ldap.conf}
\medskip
% rm -f /etc/ldap/ldap.conf
% ln -s /etc/libnss-ldap.conf  /etc/ldap/ldap.conf 
\item O arquivo /etc/nsswitch.conf é responsável pela ordem de autenticação. O mesmo deve ser configurado conforme exemplo abaixo: 

\medskip
\begin{framed}
\begin{verbatim}
    passwd      files ldap
    group:      files ldap
    shadow:     files ldap compat

    hosts:      files dns
    networks:   files

    protocols:  db files
    services:   db files
    ethers:     db files
    rpc:        db files

    netgroup:   ldap
\end{verbatim}
\end{framed}

\item Edite o arquivo /etc/pam\_ldap.conf. As seguintes linhas devem ser descomentadas do arquivo: 

\medskip
\begin{framed}
\begin{verbatim} 
 #Servidor OpenLDAP
 host 192.168.0.100

 # Substitua pela sua base  de dados LDAP
 base dc=indaiabira,dc=telecentro

 #Versão do Ldap
 ldap_version 3

 # identificação do administrador do seu dominio
 rootbinddn cn=admin,dc=indaiabira,dc=telecentro

 # Implementa critografia das senhas
 pam_password crypt
\end{verbatim}
\end{framed}
\medskip

As outras linhas do arquivo devem continuar descomentadas. 

\item Edite o arquivo /etc/pam.d/common-account , deixando somente o seguinte conteúdo no arquivo: 

\medskip
\begin{framed}
\begin{verbatim} 
    account     sufficient   pam_ldap.so
    account     required    pam_unix.so
\end{verbatim}
\end{framed}
\medskip

\item Edite o arquivo /etc/pam.d/common-auth , deixando somente o seguinte conteúdo no arquivo:

\medskip
\begin{framed}
\begin{verbatim} 
    auth    required        pam_nologin.so
    auth    sufficient       pam_unix.so
    auth    required        pam_env.so
    auth    required        pam_ldap.so use_first_pass
\end{verbatim}
\end{framed}
\medskip

\item Edite o arquivo /etc/pam.d/common-session ,  deixando somente o seguinte conteúdo no arquivo:

\medskip
\begin{framed}
\begin{verbatim} 
session   required  pam_mkhomedir.so  skel=/etc/skel/  umask=0022  silent
session   sufficient  pam_unix.so
\end{verbatim}
\end{framed}
\medskip

\item Edite o arquivo /etc/pam.d/common-password ,  deixando somente o seguinte conteúdo no arquivo:

\medskip
\begin{framed}
\begin{verbatim} 
    password    sufficient  pam_unix.so   md5  debug
    password    required    pam_ldap.so    try_first_pass debug
\end{verbatim}
\end{framed}
\medskip

\item O último passo é reiniciar o nscd para que as configurações realizadas sejam aceitas. Para isso basta executar o seguinte comando: 

\medskip
\noindent \colorbox{claro}{/etc/init.d/nscd restart}
\medskip
% /etc/init.d/nscd restart

Após terem sido concuídos os procedimentos aqui descritos, o cliente LDAP está configurado. Para testa-lo, tente abrir uma nova sessão para o ``usuario01" no KDE, ou abrir uma nova sessão no modo texto para ele, e verifique em qual diretorio está:

\medskip
\noindent \colorbox{claro}{su - usuario01}
\medskip
\medskip
\noindent \colorbox{claro}{pwd}
\medskip


Caso apareça ``/home/usuario01" significa que o cliente LDAP está funcionado corretamente. Se não funcionou, volte ao início desta seção e verifique suas configurações.
\end{enumerate}

% % <hr><b>Timeout.  This is only a partial webpage</b><hr></body></html><hr><b>Timeout.  This is only a partial webpage</b><hr></body></html>% OpenLDAP:
% % Instalaçao e configuracao de um Servidor LDAP
% % 
% % Projeto Libertas-BR 
% % http://www.libertasbr.org.br
% % 
% % 
% % 
% % Sergio Augusto C. Gomes
% 
% % 	3.1. Introdução
% 
% O LDAP  é um protocolo de acesso a um serviço de diretório em redes de computadores. Um serviço de diretório tem como objetivo prover informações e meios de autenticação sobre os usuários de uma forma centralizada. O OpenLDAP é uma implementação do protocolo LDAP e seu diretório de dados.
% 
% O Servidor OpenLDAP (até a versão 2.1.30-3) possui a seguinte estrutura no GNU LibertasBR/Debian:
% \begin{itemize}
% \item Arquivo de configuração do Servidor OpenLDAP: /etc/ldap/slapd.conf
% \item Arquivos de definição de esquemas: /etc/ldap/schemas
% \item Arquivos da base de dados do diretório: /var/lib/ldap
% \end{itemize}
% 
% Em um Telecentro, o Servidor OpenLDAP serve como um servidor de Autenticação, no qual todos os usuários são cadastrados para poderem utilizar as máquinas clientes. No modelo apresentando neste documento, o OpenLDAP está instalado no Servidor Etherboot. A seguir, serão descritas a instalação e a configuração de um Servidor de Autenticação OpenLDAP, com sistema de cotas de discos para um Telecentro. 
% 
% \section{Instalação do Servidor OpenLDAP}
% \subsection{Pré-Requisitos}
% Antes de iniciar a instalação do OpenLDAP, é  necessário definir o sufixo do Nome Distinto  (Distinguished Name - DN) do serviço de diretório. O sufixo é a identificação base do diretório LDAP e tem como objetivo classificar e indexar as informações contidas no mesmo; em geral, o sufixo é baseado no domínio da rede local.
% 
% Em telecentros, geralmente é utilizado como padrão a seguinte notação de domínio de rede: nomedacidade.telecentro. Sendo assim, o sufixo seria: dc=nomedacidade,dc=telecentro.
% 
% Supondo que o Telecentro em questão esteja sendo instalado na cidade de Indaiabira. Neste caso, a rede seria chamada indaiabira.telecentro, logo o sufixo seria: 
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% dc=indaiabira,dc=telecentro
% \end{verbatim}
% \end{framed}
% 
% Seguindo o exemplo acima, é possível definir o sufixo do Servidor OpenLDAP de qualquer outro Telecentro.
% 
% \subsection{Instalação do OpenLDAP}
% Vários dos comandos a serem executados nesta instalação podem exigir status de superusuário do sistema (root); em tais casos, deve-se utilizar o login \textit{root} e sua respectiva senha.
% 
% % Abra um terminal no modo texto, com um usuário administrador do sistema, como o "root" por exemplo,  e 
% Executando o comando abaixo, instala-se o pacote do Servidor OpenLDAP e seus utilitários:
% 
% \medskip
% \noindent \colorbox{claro}{aptitude install slapd ldap-utils}
% \medskip
% % 	#aptitude install slapd ldap-utils
% 
% Em seguida, a tecla {\bf \verb|<S>|} (ou {\bf \verb|<Y>|}, caso o sistema esteja configurado em inglês) deverá ser pressionada para continuar a instalação e por fim, deve ser pressionada a tecla {\bf \verb"{\bf \verb!<Enter>!}"}.
% 
% Será então aberto o DebianConf, uma interface em modo texto, na qual a configuração da ferramenta OpenLDAP ocorre através de perguntas feitas ao usuário.  A seguir, algumas explicações sobre como proceder em cada uma das perguntas:
% 
% \begin{enumerate}
% \item Na opção [Enter your DNS domain name], escolha o domínio onde o servidor OpenLDAP será instalado. No nosso exemplo:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% "indaiabira.telecentro"
% \end{verbatim}
% \end{framed}
% 
% \item Na tela seguinte, digite o nome da organizaçao, que neste caso seguirá o mesmo padrão do domínio da rede, ou seja, nomedacidade.telecentro:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% "indaiabira.telecentro"
% \end{verbatim}
% \end{framed}
% 
% \item Forneça então a senha para o usuário administrador (admin) da base LDAP.
% 
% \paragraph{Atenção:} Esta mesma senha deverá ser inserida no arquivo de configuração do OpenLDAP e ser repassada para a administração do Telecentro.
% 
% \item Confirme a senha.
% 
% \item Na tela "Allow LDAPv2 protocol", selecione a opção  [Nao], e pressione  a tecla {\bf \verb"{\bf \verb!<Enter>!}"}.
% 
% \item Por fim, a instalação do servidor será finalizada. Caso apareça alguma mensagem de erro tente verificar o que aconteceu e corrigí-lo antes de continuar.
% \end{enumerate}
% 
% \subsection{Testando o servidor OpenLDAP}
% Ao chegar neste ponto, o servidor OpenLDAP já deverá estar instalado. Para ter certeza  da instalação e funcionamento do mesmo, verifique se o serviço está sendo iniciado corretamente sem apresentar mensagens de erro, conforme exemplo abaixo:
% 
% \begin{enumerate}
% \item Execute o seguinte comando:
% 
% \medskip
% \noindent \colorbox{claro}{/etc/init.d/slapd restart}
% \medskip
% 
% \item Ele deverá gerar a seguinte resposta:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% 	Stopping OpenLDAP: slapd.
% 	Starting OpenLDAP: slapd.
% \end{verbatim}
% \end{framed}
% \medskip
% % 	linux:~# /etc/init.d/slapd restart
% % 	Stopping OpenLDAP: slapd.
% % 	Starting OpenLDAP: slapd.
% 
% \item Em seguida, faça um teste na base de dados, com a ferramenta "slapcat". Execute o comando:
% 
% \medskip
% \noindent \colorbox{claro}{slapcat}
% \medskip
% % 	linux:~# slapcat   {\bf \verb!<Enter>!}
% 
% \item Sua resposta deverá ser a seguinte:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% dn: dc=indaiabira,dc=telecentro
% objectClass: top
% objectClass: dcObject
% objectClass: organization
% o: indaiabira.telecentro
% dc: indaiabira
% structuralObjectClass: organization
% entryUUID: 5aec58f8-6669-1029-8259-d5da35b40cec
% creatorsName: cn=anonymous
% modifiersName: cn=anonymous
% createTimestamp: 20050531214740Z
% modifyTimestamp: 20050531214740Z
% entryCSN: 2005053121:47:40Z#0x0001#0#0000
% 
% dn: cn=admin,dc=indaiabira,dc=telecentro
% objectClass: simpleSecurityObject
% objectClass: organizationalRole
% cn: admin
% description: LDAP administrator
% userPassword:: e2NyeXB0fTZMY0RrNGZ5cWJ5TG8=
% structuralObjectClass: organizationalRole
% entryUUID: 5af249de-6669-1029-825a-d5da35b40cec
% creatorsName: cn=anonymous
% modifiersName: cn=anonymous
% createTimestamp: 20050531214740Z
% modifyTimestamp: 20050531214740Z
% entryCSN: 2005053121:47:40Z#0x0002#0#0000
% \end{verbatim}
% \end{framed}
% \medskip
% 
% Caso os resultados obtidos no teste sejam semelhantes aos mostrados acima, a instalação do OpenLDAP em sua máquina foi realizada com sucesso. Caso contrário, retorne ao inicio da documentação e tente identificar e corrigir o problema.
% 
% Para obter maiores informações sobre problemas na instalação do OpenLDAP, consulte o endereço eletrônico: \\ \url{www.openldap.org}
% \end{enumerate}
% 
% A seção a seguir trata de questões de integridade e segurança da base de dados do servidor OpenLDAP. Caso não considere primordiais estas questões, você pode saltá-la e passar para a seção seguinte, que ensina como cadastrar usuários na base do OpenLDAP.
% 
% \section{Proteção da base de dados do OpenLDAP}
% Finalizada a instalação padrão de seu servidor LDAP com sucesso,  você pode proteger o mesmo contra um corrompimento na base de dados. Esse corrompimento pode ser causado, por exemplo, por uma queda de energia ou falhas no equipamento. A seguir são descritos os procedimentos a serem realizados:
% 
% \begin{itemize}
% \item Acrescentar no arquivo de configuração do ldap (/etc/ldap/slapd.conf), após a diretiva "directory  /var/lib/ldap", a seguinte diretiva:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% "checkpoint X Y"
% \end{verbatim}
% \end{framed}
% \medskip
% 
% Substituindo as variáveis X e Y por valores definidos. A variável X representa o número de entradas, e a Y, o número de minutos para buscar e corrigir falhas na base. Por exemplo, se X=2 e Y=10, a cada duas novas entradas na base, ou a cada 10 minutos, uma nova busca ocorrerá.
% 	 
% \item Instale o pacote db4.2-util que contém a ferramenta de recuperação de base de dados. Para isso execute o seguinte comando: 
% 
% \medskip
% \noindent \colorbox{claro}{aptitude install db4.2-util}
% \medskip
% % 	# aptitude install db4.2-util
% 
% \item Modifique o escripte de iniciação do ldap (/etc/init.d/slapd) para que o mesmo seja 
% capaz de recuperar a base de dados em caso de corrompimento. A alteração deve ser feita conforme mostrado abaixo: 
% 
% \begin{itemize}
% \item O escripte original deve ser o seguinte:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% # Start the OpenLDAP daemons 
% start()
% { 	echo -n "Starting OpenLDAP:" 
% 	trap  report_failure  0 
% >>	# ------Inserir essa linha-------------- 
% 	db4.2_recover -h /var/lib/ldap
% 	 start_slapd 
% 	start_slurpd 
% 	trap "-" 0
% 	 echo . 
% } 
% ....
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item Nele, onde se le "/var/lib/ldap", deve ser indicado o local onde a base está armazenada. O local padrão de armazenamento é var/lib/ldap. 
% 
% \item Execute o seguinte comando para reiniciar o serviço OpenLDAP:
% 
% \medskip
% \noindent \colorbox{claro}{/etc/init.d/slapd restart}
% \medskip
% 
% \item Verifique se alguma mensagem de erro aparece, na linha de comando ou no /var/log/syslog e /var/log/auth.%, reiniciando o serviço OpenLDAP:
% % 	# /etc/init.d/slapd restart
% \end{itemize}
% \end{itemize}
% 
% \section{Populando a base de dados}
% % 
% %  	Introdução
% % 
% Com o servidor OpenLDAP devidamente configurado, é chegada a hora de popular sua base, procedimento este que envolve a criação de grupos e usuários que utilizarão o Telecentro. 
% 
% Num exemplo de base LDAP como um diretório, onde o diretório principal é o 
% dc=indaiabira,dc=telecentro , é necessário ter sub-diretórios para armazenar todas as 
% entidades existentes na rede, como computadores e pessoas, por exemplo.
% 
% Neste exemplo, serão criados os seguintes sub-diretórios:
% \begin{itemize}
% \item ou=Pessoas,dc=indaiabira,dc=telecentro
% \item ou=Computadores,dc=indaiabira,dc=telecentro
% \end{itemize}
% 
% A partir deste raciocínio, ao incluir um usuário Fulano (por exemplo), deve-se utilizar a seguinte notação:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% uid=Fulando,ou=Pessoas,dc=indaiabira,dc=telecentro
% \end{verbatim}
% \end{framed}
% 
% Na próxima seção, são descritos os procedimentos de instalação e uso de uma ferramenta gráfica para gerenciamento da base LDAP, o PHPLdapAdmin.
% 
% Ressaltamos que este documento trata da criação de uma nova base de dados LDAP, ou seja, cada usuário deverá ser incluído individualmente na base de dados. Caso seja de interesse fazer uma migração de uma base de usuários NIS ou de um outro servidor LDAP, recomendamos buscar informações na pátina oficial do projeto OpenLDAP: \url{www.openldap.org}
% 
% \subsection{Instalação do Gerenciador da Base LDAP}
% Para instalar o PHPLdapAdmin, basta utilizar o comando abaixo:
% 
% \medskip
% \noindent \colorbox{claro}{aptitude install apache}
% \noindent \colorbox{claro}{aptitude install phpldapadmin}
% \medskip
% % 	# aptitude install phpldapadmin
% 
% \paragraph{Atenção:} Este aplicativo é baseado em PHP; caso não haja um servidor HTTP e PHP instalado, ele os instalará. Caso esta instalação apresente algum erro, tente verificar se o servidor Apache está funcionando corretamente com o PHP.
% 
% Após pressionar {\bf \verb!<Enter>!} no comando acima, reponda {\bf \verb!<Y>!} e deixe o sistema buscar e instalar os pacotes. Após os pacotes serem baixados no computador, será iniciado o DebianConf, siga as orientações abaixo para responder as perguntas que aparecerão. A seqüência abaixo considera que o Apache e o PHP serão instalados junto com o PHPLdapAdmin, pois não foram instalados anteriormente:
% 
% \begin{enumerate}
% \item Para todas as telas de configuração do Apache e PHP, mantenha as respostas padrão, confirmando-as pressionando a tecla {\bf \verb!<Enter>!}.
% \item Para todas as telas de configuração do PHPLdapAdmin, mantenha as respostas padrão, confirmando-as pressionando a tecla {\bf \verb!<Enter>!}. Apenas certifique-se de que na tela com a pergunta sobre qual tipo de autenticação utilizar, selecione \verb![sessão]! (ou \verb![session]! se a pergunta estiver em inglês):
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% Which type of authentication you want to use? 
%  	>session
%  	 cookie
%  	 config
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item Em seguida, abra o arquivo /etc/phpldapadmin/config.php e altere as diretivas abaixo com os seguintes valores;
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% $servers[$i]['name'] = 'Base LDAP-Telecentro'; 
% $servers[$i]['enable_auto_uid_numbers'] = yes;
% $servers[$i]['auto_uid_number_search_base'] = 'dc=indaiabira,dc=telecentro';
% \end{verbatim}
% \end{framed}
% \medskip
% 	
% \item O seu gerenciador da Base LDAP estará, então, instalado. Para verificar seu funcionamento, abra um navegador e digite o seguinte endereço: \\ \url{http://localhost/phpldapadmin/}
% 
% \item Para acessá-lo, entre com a senha de administrador LDAP, fornecida na configuração do servidor OpenLDAP.
% \end{enumerate}
% 
% 
% \subsection{Criando o grupo ou=Pessoas}
% \begin{enumerate}
% \item Abra o PHPLdapAdmin como administrador, e crie o grupo ``ou=Pessoas". No lado esquerdo do navegador, clique em cima do sinal ``+" ao lado de ``dc=indaiabira,dc=telecentro", e depois clique em [Criar nova entrada] ou [Create new entry here];
% \item Aparecerá à direita do navegador a opção: [Organizational Unit], marque-a e prossiga;
% \item Coloque ``Pessoas" no campo ``OU Name", e prossiga;
% \item Confirme a criação;
% \item A unidade organizacional ``Pessoas", que utilizaremos como o grupo dos usuários do Telecento foi criada. 
% \end{enumerate}
% 
% \section{Configurando Cotas de Disco para os Usuários}\label{confcota}
% Nesta seção é explicado o procedimento a ser seguido para se definir cotas para os usuários a serem criados no servidor OpenLDAP. Inicialmente, é descrita a configuração do serviço de cota, que deve ser realizada somente uma vez na configuração do servidor OpenLDAP; em seguida é descrito o processo de atribuição de cota para cada usuário criado.
% 
% \begin{enumerate}
% \item Para instalar o sistema Quota, execute o comando:
% 
% \medskip
% \noindent \colorbox{claro}{aptitude install quota quotatool}
% \medskip
% 
% Caso alguma pergunta seja feita, apenas confirme a resposta padrão.
% % 	#aptitude install quota quotatool
% % 	(caso apareca alguma tela, deixe a resposta padrão e confirme)
% 
% \item Altere o /etc/fstab, na linha de montagem do /home:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% /dev/hda5	/home		ext3	defaults,usrquota	0 1
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item Carregue os módulos do sistema Quota com os comandos:
% 
% \medskip
% \noindent \colorbox{claro}{cd /lib/modules/{versao cerne}/kernel/fs}
% \medskip
% 
% \noindent \colorbox{claro}{modprobe quota\_v2}
% \medskip
% % 	#cd /lib/modules/{versao cerne}/kernel/fs
% % 	#modprobe quota_v2
% 	
% \paragraph{Observação:} Lembre-se de editar o /etc/modules para que este módulo seja carregado automaticamente. Caso tenha alguma dúvidas ao alterar o /etc/modules , consulte focalinux.cipsga.org.br 
% 	
% \item Desmonte e remonte o diretório /home, depos crie um arquivo vazio no diretório home com permissão 600. Utilize os seguintes comandos:
% 
% \medskip
% \noindent \colorbox{claro}{mount /home}
% \medskip
% 
% \noindent \colorbox{claro}{touch /home/aquota.usr}
% \medskip
% 
% \noindent \colorbox{claro}{chmod 600 /home/aquota.usr}
% \medskip
% % #mount /home
% % #touch /home/aquota.usr
% % #chmod 600 /home/aquota.usr
% 
% \item O serviço de cota deve ser verificado e reiniciado:
% 
% \medskip
% \noindent \colorbox{claro}{/sbin/quotacheck -avug}
% \medskip
% 
% \noindent \colorbox{claro}{/etc/init.d/quota restart}
% \medskip
% 	
% \noindent \colorbox{claro}{/etc/init.d/quotarpc restart}
% \medskip
% % 	#/sbin/quotacheck -avug
% % 	#/etc/init.d/quota restart
% % 	#/etc/init.d/quotarpc restart
% 
% \item A partir deste momento, o sistema estará apto a definir cotas para os usuários. Para adicionar as cotas para um usuário, deve-se utilizar  o seguinte comando:
% 
% \medskip
% \noindent \colorbox{claro}{edquota -u [usuário]}
% \medskip
% % 	#edquota -u [usuário]
% 
% Será aberto um arquivo de configuração. Somente devem ser alterados os campos [soft] e [hard] (tais campos se encomtram após o campo [blocks]). O campo [soft] indica a cota de disco do usuário (em kilobytes), e o campo [hard] a cota limite física para o usuário. Um exemplo do arquivo para o usuário ``teste" com cota de 80Mb e limite físico de 100Mb será mostrado abaixo:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% Quotas for user teste
% blocks     soft    hard  inodes    soft   hard
%      0    80000  100000       0       0      0
% \end{verbatim}
% \end{framed}
% \medskip
% 
% Para copiar as configurações de cota para outro usuário, por exemplo, do usuário ``teste1" para os usuários ``teste2" e ``teste3" basta executar o seguinte comando:
% 
% \medskip
% \noindent \colorbox{claro}{edquota -p teste1 teste2 teste}
% \medskip
% % 	#edquota -p teste1 teste2 teste
% \end{enumerate}
% 
% \section{Criar os usuários do Telecentro}\label{criarusuarios}
% A seguir, serão descritos os procedimentos para se criar usuários padrão para o telecentro, ou seja, dado um telecentro com 10 computadores, serão criados 10 usuários, usuario01 até usuario10.
% 
% \begin{enumerate}
% \item Abra o PHPLdapAdmin como administrador e crie o grupo "ou=Pessoas". No lado esquerdo do navegador, clique sobre o sinal ``+" ao lado de ``dc=indaiabira,dc=telecentro", clique sobre o sinal ``+" ao lado de ``ou=Pessoas", e depois clique em [Criar nova entrada] (ou [Create new entry here] se a pergunta estiver em inglês);
% \item Aparecerá, à direita do navegador, a opção [User Account (posixAccount)], marque-a e prossiga;
% \item Preencha o formulário com os valores abaixo para criação do primeiro usuário padrão:
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
% 	First name: Usuário 
% 	Last name: Padrão
% 	Common name: Usuário Padrão
% 	User name: usuario01
% 	Password: senha1 	
% 	Password: senha	
% 	Encryption:  Clear
% 	Login Shell: /bin/bash
% 	Container: ou=Pessoas,dc=indaiabira,dc=telecentro
% 	Home Directory: /home/usuario01
% 	UID Number: 1000	
% 	GID Number: 100	
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item Prossiga e confirme a criação do usuário;
% \item Em seguida, execute o comando:
% 
% \medskip
% \noindent \colorbox{claro}{edquota -p usuario01}
% \medskip
% % #edquota -p usuario01
% 
% Em discos de 40GB, recomendamos o limite de 50MB por usuário.
% (Em caso de duvidas, consulte a seção \ref{confcota})
% 
% \item Concluído este procedimento, o usuario01 terá sido criado.
% 
% Para criar os usuários ``usuario02, ``usuario03" até o ``usuario10", repita o procedimento descrito acima, lembrando-se de mudar, no passo 3, ao preencher o formulário de Informações do usuário, o número do usuário. Somente na criação do usuario01 você deve digitar manualmente o UID=1000, pois os próximos usuários criados terão o UID gerados automaticamente. Lembre-se de manter o GID com o valor 100 como padrão.
% 
% Caso deseje criar usuários personalizados, siga os passos acima, alterando somente os campos:
% \begin{itemize}
% \item First name,
% \item Last name,
% \item Common name,
% \item User name 
% \item Password.
% \end{itemize}
% 
% Para verificar se os usuários estão sendo criados corretamente, execute o comando slapcat. Por padrão, este comando retornará todos os dados da Base LDAP.
% \end{enumerate}
% 
% \section{Configuração do Cliente OpenLDAP}
% No Telecentro, todas as máquinas que serão autenticadas no Servidor OpenLDAP deverão estar com o cliente OpenLDAP devidamente configurado. Recomendamos que somente as máquinas clientes tenham esta configuração, pois por questão de segurança os Servidores devem autenticar usando o sistema padrão de autenticação Linux, o /etc/passwd.
% 
% No GNU LibertasBR Debian/Linux, o cliente OpenLDAP está relacionado com os seguintes arquivos:
% \begin{itemize}
% \item Arquivo de configuração do Cliente OpenLDAP: /etc/ldap/lapd.conf
% \item Arquivo de configuração do NSCD: /etc/nsswitch.conf
% \item Arquivo de configuração da biblioteca libnss-ldap: /etc/libnss-ldap.conf
% \item Arquivo de configuração da biblioteca pam-ldap: /etc/pam\_ldap.conf
% \item Arquivos de configuração do PAM: \\
% 						/etc/pam.d/common-account \\
% 						/etc/pam.d/common-auth \\
% 						/etc/pam.d/common-session \\
% 						/etc/pam.d/common-password \\
% \end{itemize}
% 
% A seguir serão descritos os passos para se alterar cada um destes arquivos.
% 
% \begin{enumerate}
% \item 	Os seguintes pacotes devem ser instalados: 
% 	\begin{itemize}
% 	\item libnss-ldap 
% 	\item libpam-ldap 
% 	\item nscd 
% 	\end{itemize}
% \item Execute o comando: 
% 
% \medskip
% \noindent \colorbox{claro}{aptitude install libnss-ldap libpam-ldap nscd }
% \medskip
% % aptitude install libnss-ldap libpam-ldap nscd 
% 
% Ignore as perguntas feitas durante a instalação desses pacotes (simplesmente pressione {\bf \verb!<Enter>!}). As configurações relevantes serão feitas manualmente após a instalação e estão descritas, em detalhes, nas seções seguintes. 
% \item Edite o arquivo /etc/libnss-ldap.conf. conforme descrito abaixo: 
%     
% \medskip
% \begin{framed}
% \begin{verbatim}    
%     # Substitua pelo IP de seu servidor LDAP
%     host 192.168.0.100
% 
%     # Substitua pela sua base  de dados LDAP
%     base dc=indaiabira,dc=telecentro
% 
%     #Versão do Ldap
%     ldap_version 3
% \end{verbatim}
% \end{framed}
% \medskip
% 
% As outras linhas do arquivo devem continuar comentadas. 
% \item Remova o arquivo /etc/ldap/ldap.conf e crie um atalho simbólico do arquivo 
% /etc/libnss-ldap.conf para o mesmo. Para isso execute os seguintes comandos: 
% 
% \medskip
% \noindent \colorbox{claro}{rm -f /etc/ldap/ldap.conf}
% \medskip
% 
% \noindent \colorbox{claro}{ln -s /etc/libnss-ldap.conf  /etc/ldap/ldap.conf}
% \medskip
% % rm -f /etc/ldap/ldap.conf
% % ln -s /etc/libnss-ldap.conf  /etc/ldap/ldap.conf 
% \item O arquivo /etc/nsswitch.conf é responsável pela ordem de autenticação. O mesmo deve ser configurado conforme exemplo abaixo: 
% 
% \medskip
% \begin{framed}
% \begin{verbatim}
%     passwd      files ldap
%     group:      files ldap
%     shadow:     files ldap compat
% 
%     hosts:      files dns
%     networks:   files
% 
%     protocols:  db files
%     services:   db files
%     ethers:     db files
%     rpc:        db files
% 
%     netgroup:   ldap
% \end{verbatim}
% \end{framed}
% 
% \item Edite o arquivo /etc/pam\_ldap.conf. As seguintes linhas devem ser descomentadas do arquivo: 
% 
% \medskip
% \begin{framed}
% \begin{verbatim} 
%  #Servidor OpenLDAP
%  host 192.168.0.100
% 
%  # Substitua pela sua base  de dados LDAP
%  base dc=indaiabira,dc=telecentro
% 
%  #Versão do Ldap
%  ldap_version 3
% 
%  # identificação do administrador do seu dominio
%  rootbinddn cn=admin,dc=indaiabira,dc=telecentro
% 
%  # Implementa critografia das senhas
%  pam_password crypt
% \end{verbatim}
% \end{framed}
% \medskip
% 
% As outras linhas do arquivo devem continuar descomentadas. 
% 
% \item Edite o arquivo /etc/pam.d/common-account , deixando somente o seguinte conteúdo no arquivo: 
% 
% \medskip
% \begin{framed}
% \begin{verbatim} 
%     account     sufficient   pam_ldap.so
%     account     required    pam_unix.so
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item Edite o arquivo /etc/pam.d/common-auth , deixando somente o seguinte conteúdo no arquivo:
% 
% \medskip
% \begin{framed}
% \begin{verbatim} 
%     auth    required        pam_nologin.so
%     auth    sufficient       pam_unix.so
%     auth    required        pam_env.so
%     auth    required        pam_ldap.so use_first_pass
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item Edite o arquivo /etc/pam.d/common-session ,  deixando somente o seguinte conteúdo no arquivo:
% 
% \medskip
% \begin{framed}
% \begin{verbatim} 
% session   required  pam_mkhomedir.so  skel=/etc/skel/  umask=0022  silent
% session   sufficient  pam_unix.so
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item Edite o arquivo /etc/pam.d/common-password ,  deixando somente o seguinte conteúdo no arquivo:
% 
% \medskip
% \begin{framed}
% \begin{verbatim} 
%     password    sufficient  pam_unix.so   md5  debug
%     password    required    pam_ldap.so    try_first_pass debug
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item O último passo é reiniciar o nscd para que as configurações realizadas sejam aceitas. Para isso basta executar o seguinte comando: 
% 
% \medskip
% \noindent \colorbox{claro}{/etc/init.d/nscd restart}
% \medskip
% % /etc/init.d/nscd restart
%  
% \item Habilite as permissões para que sua máquina aceite acesso remoto através do comando ssh. Para isso, edite o arquivo /etc/ssh/sshd\_config e altere a variável PAMAuthenticationViaKbdInt conforme descrito abaixo: 
% 
% \medskip
% \begin{framed}
% \begin{verbatim} 
%        PAMAuthenticationViaKbdInt yes
% \end{verbatim}
% \end{framed}
% \medskip
% 
% \item Reinicie o serviço de ssh com o comando: 
% 
% \medskip
% \noindent \colorbox{claro}{/etc/init.d/sshd restart }
% \medskip
% % /etc/init.d/sshd restart 
% 
% Após terem sido concuídos os procedimentos aqui descritos, o cliente LDAP estará devidamente configurado!
% \end{enumerate}
