Instalado Fedora-DS e integrando com Samba
Este artigo tem por objetivo mostrar como fazer a instalação do Fedora-DS (base LDAP da Red Hat) e configurar sua integração com o Samba para que estações Windows utilizem autenticação nesta mesma base LDAP. Esta instalação será mostrada no Fedora 9, sendo possível também no Fedora 10 e Red Hat 5.
Instalando os pacotes
Para instalar os pacotes necessários, todas as ações devem ser executadas como root. Para instalação basta instalar os pacotes diretamente do repositório do Fedora, através do comando:
# yum install -y samba samba-client samba-common samba-winbind smbldap-tools fedora-ds openssl mod_ssl openldap openldap-clients openldap-servers openldap-devel
Para o Red Hat (como não tem todos os pacotes no repositório padrão) tem que adicionar o repositório epel, então basta fazer:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# yum install -y samba samba-client samba-common samba-winbind smbldap-tools redhat-ds openssl mod_ssl openldap openldap-clients openldap-servers openldap-devel
Após isto todos os pacotes necessários estarão instalados.
# setup-ds-admin.pl
Would you like to continue with set up? [yes]: yes
Do you agree to the license terms? [no]: yes
(Devido as configurações necessárias, talvez deverão ser mexidos alguns parâmetros do kernel. O script especificará quais parâmetros se deve mexer)
Would you like to continue? [no]: yes
Choose a setup type [2]: 3
Computer name []: server.exemplo.com.br (aqui coloque o nome da sua máquina que está em /etc/hosts ou /etc/sysconfig/network)
System User [nobody]: ldap
System Group [nobody]: ldap
Do you want to register this software with an existing configuration directory server? [yes]: no
administrator ID [admin]: (neste campo deixa o padrão, apenas dê enter)
Password: (digite uma senha)
Password (confirm): (repita a senha)
Administration Domain [exemplo.com.br]: exemplo.com.br (aqui neste caso, estou usando o domínio exemplo.com.br que ficará dc=exemplo,dc=com,dc=br)
Directory server network port [389]: 389
Directory server identifier [server]: exemplo (aqui você coloca o nome da instância, pode ser qualquer nome que seja de fácil associação, eu botarei "exemplo")
Suffix [dc=exemplo, dc=com, dc=br]: (neste campo deixa o padrão, apenas dê enter)
Directory Manager DN [cn=Directory Manager]: (neste campo deixa o padrão, apenas dê enter)
Password: (digite uma senha com no mínimo 8 dígitos)
Password (confirm): (repita a senha)
Do you want to install the sample entries? [no]: (neste campo deixa o padrão, apenas dê enter)
Type the full path and filename, the word suggest, or the word none [suggest]: none
Administration port [9830]: 3890
IP address [0.0.0.0]: (deixe assim, caso tenha mais de um IP que deseja que seja ouvido a porta 389, senão especifique um IP)
Run Administration Server as [ldap]: (neste campo deixa o padrão, apenas dê enter)
Are you ready to set up your servers? [yes]:
Creating directory server . . .
Your new DS instance 'exemplo' was successfully created.
Creating the configuration directory server . . .
Beginning Admin Server creation . . .
Creating Admin Server files and directories . . .
Updating adm.conf . . .
Updating admpw . . .
Registering admin server with the configuration directory server . . .
Updating adm.conf with information from configuration directory server . . .
Updating the configuration for the httpd engine . . .
Starting admin server . . .
The admin server was successfully started.
Admin server was successfully created, configured, and started.
Exiting . . .
Log file is '/tmp/setupTSWCSn.log'
Pronto, agora sua base foi configurada e os serviços já iniciados.
Agora vamos fazer algumas configurações na base:
Isto tem que ser feito através de interface gráfica, então conecte no servidor Linux com o parâmetro -X no ssh ou se tiver na console da máquina, inicie o X através do "startx" ou "init 5".
Vá ao terminal e execute o comando:
# fedora-idm-console (lembrando, para utilizar esta interface é necessário que o Java esteja instalado corretamente)
Na janela a seguir coloque como está na figura abaixo e ponha a senha do Directory Manager para efetuar o login.
Agora vamos alterar a configuração de criptografia da senha, na autenticação dos usuários LDAP (recomendo trocar, pois algumas ferramentas como GOsa², Horde e eGroupware não tem a criptografia padrão do Fedora-DS).
Após a realização do login, expanda onde está escrito Server Group, depois clique em Directory Server e depois clique no botão Open no canto direito superior. Após ter clicado no botão Open, outra janela foi mostrada. Clique na aba Configuration acima e em seguida clique em Data no menu à esquerda. No lado direito desça a barra de rolagem até o final e em Password encryptation troque para Unix crypt algorithm (CRYPT), como mostra na figura abaixo: Clique no botão Save e agora está ok. Verifique se o Fedora-DS não pedirá para reiniciar o serviço, se pedir faça:
# /etc/init.d/dirsrv restart
ou
# service dirsrv restart
Vamos configurar também para que o serviço inicie automaticamente após um reboot ou shutdown, evitando problemas futuros:
# chkconfig --level 345 dirsrv on
Pronto, sua base LDAP já está ok, o próximo passo é integrar com o Samba para podermos autenticar os Windows nesta base.
# yum install -y samba samba-client samba-common samba-winbind smbldap-tools fedora-ds openssl mod_ssl openldap openldap-clients openldap-servers openldap-devel
Para o Red Hat (como não tem todos os pacotes no repositório padrão) tem que adicionar o repositório epel, então basta fazer:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# yum install -y samba samba-client samba-common samba-winbind smbldap-tools redhat-ds openssl mod_ssl openldap openldap-clients openldap-servers openldap-devel
Após isto todos os pacotes necessários estarão instalados.
Configurando o Fedora-DS
Agora que já temos todos os pacotes instalados, precisamos fazer primeiro a configuração do LDAP. Começamos com o seguinte comando, que irá criar a base para nós e a interface para o fedora-idm-console:# setup-ds-admin.pl
Would you like to continue with set up? [yes]: yes
Do you agree to the license terms? [no]: yes
(Devido as configurações necessárias, talvez deverão ser mexidos alguns parâmetros do kernel. O script especificará quais parâmetros se deve mexer)
Would you like to continue? [no]: yes
Choose a setup type [2]: 3
Computer name []: server.exemplo.com.br (aqui coloque o nome da sua máquina que está em /etc/hosts ou /etc/sysconfig/network)
System User [nobody]: ldap
System Group [nobody]: ldap
Do you want to register this software with an existing configuration directory server? [yes]: no
administrator ID [admin]: (neste campo deixa o padrão, apenas dê enter)
Password: (digite uma senha)
Password (confirm): (repita a senha)
Administration Domain [exemplo.com.br]: exemplo.com.br (aqui neste caso, estou usando o domínio exemplo.com.br que ficará dc=exemplo,dc=com,dc=br)
Directory server network port [389]: 389
Directory server identifier [server]: exemplo (aqui você coloca o nome da instância, pode ser qualquer nome que seja de fácil associação, eu botarei "exemplo")
Suffix [dc=exemplo, dc=com, dc=br]: (neste campo deixa o padrão, apenas dê enter)
Directory Manager DN [cn=Directory Manager]: (neste campo deixa o padrão, apenas dê enter)
Password: (digite uma senha com no mínimo 8 dígitos)
Password (confirm): (repita a senha)
Do you want to install the sample entries? [no]: (neste campo deixa o padrão, apenas dê enter)
Type the full path and filename, the word suggest, or the word none [suggest]: none
Administration port [9830]: 3890
IP address [0.0.0.0]: (deixe assim, caso tenha mais de um IP que deseja que seja ouvido a porta 389, senão especifique um IP)
Run Administration Server as [ldap]: (neste campo deixa o padrão, apenas dê enter)
Are you ready to set up your servers? [yes]:
Creating directory server . . .
Your new DS instance 'exemplo' was successfully created.
Creating the configuration directory server . . .
Beginning Admin Server creation . . .
Creating Admin Server files and directories . . .
Updating adm.conf . . .
Updating admpw . . .
Registering admin server with the configuration directory server . . .
Updating adm.conf with information from configuration directory server . . .
Updating the configuration for the httpd engine . . .
Starting admin server . . .
The admin server was successfully started.
Admin server was successfully created, configured, and started.
Exiting . . .
Log file is '/tmp/setupTSWCSn.log'
Pronto, agora sua base foi configurada e os serviços já iniciados.
Agora vamos fazer algumas configurações na base:
Isto tem que ser feito através de interface gráfica, então conecte no servidor Linux com o parâmetro -X no ssh ou se tiver na console da máquina, inicie o X através do "startx" ou "init 5".
Vá ao terminal e execute o comando:
# fedora-idm-console (lembrando, para utilizar esta interface é necessário que o Java esteja instalado corretamente)
Na janela a seguir coloque como está na figura abaixo e ponha a senha do Directory Manager para efetuar o login.

Após a realização do login, expanda onde está escrito Server Group, depois clique em Directory Server e depois clique no botão Open no canto direito superior. Após ter clicado no botão Open, outra janela foi mostrada. Clique na aba Configuration acima e em seguida clique em Data no menu à esquerda. No lado direito desça a barra de rolagem até o final e em Password encryptation troque para Unix crypt algorithm (CRYPT), como mostra na figura abaixo: Clique no botão Save e agora está ok. Verifique se o Fedora-DS não pedirá para reiniciar o serviço, se pedir faça:
# /etc/init.d/dirsrv restart
ou
# service dirsrv restart
Vamos configurar também para que o serviço inicie automaticamente após um reboot ou shutdown, evitando problemas futuros:
# chkconfig --level 345 dirsrv on
Pronto, sua base LDAP já está ok, o próximo passo é integrar com o Samba para podermos autenticar os Windows nesta base.
O Active Directory é muito mais do que autenticação, e o Linux ainda está a anos luz de ter um sistema decente como o Active Directory. Eu digo isso porque administro uma floresta com 5000 servidores, 20 pandas gerenciadores, 120 ursos guardiões e 50 araras-alerta. Só um freetard mesmo para achar que essa solução aí em cima se compara ao Active Directory!