q
Pacote com conjunto de ferramentas para gerenciar as contas Inicializar a base do LDAP
1 I. Obter o SID do domínio Samba: 2 root# net getlocalsid
1 II. Editar o arquivo /etc/smbldap-tools/smbldap.conf 2 SID=”SID DO DOMINIO” 2 sambaDomain=”DOMINIO” 2 slaveLDAP=“ldap://SERVIDOR/” 2 masterLDAP=“ldap://SERVIDOR/” 2 ldapTLS=“VALOR” 2 verify=“VALOR” 2 dclientcert=“/CAMINHO/CERTIFICADO” 2 clientkey=“/CAMINHO/CHAVE” 2 suffix=“BASE DN”
2 usersdn=“DN DOS USUARIOS” 2 computersdn=“DN DAS MAQUINAS” 2 groupsdn=“DN DOS GRUPOS” 2 idmapdn=“DN DOS MAPEAMENTOS” 2 sambaUnixIdPooldn=“VALOR” 2 oscope=“VALOR” 2 hash_encrypt=“VALOR” 2 crypt_salt_format=”%s” 2 userLoginShell=”SHELL” 2 userHome=”DIRETORIO” 2 userHomeDirectoryMode=”VALOR” 2 userGecos=”DESCRICAO” 2 defaultUserGid=”GID” 2 defaultComputerGid=”GID” 2 skeletonDir=”DIRETORIO” 2 defaultMaxPasswordAge=“NUMERO DE DIAS” 2 userSmbHome=“CAMINHO UNC” 2 userProfile=“CAMINHO UNC”
Ca pí tu lo 9 - S am ba
q
2 userHomeDrive=“LETRA:” 2 userScript=”SCRIPT.BAT” 2 mailDomain=”DOMINIO”1 III. Editar o arquivo /etc/smbldap-tools/smbldap_bind.conf 2 slaveDN=”ADMIN DN”
2 slavePw=”SENHA” 2 masterDN=”ADMIN DN” 2 masterPw=”SENHA”
1 IV. Popular a base do OpenLDAP: 2 root# smbldap-populate
O pacote smbldap-tools possui um bom conjunto de ferramentas para gerenciar as contas, quando utilizando o Samba com o OpenLDAP. Essas ferramentas permitem o gerenciamento da maioria dos componentes que são necessários para as contas, especialmente para a administração de usuários, máquinas e grupos. Outro ponto positivo desse pacote é que os scripts contidos nele podem ser utilizados como parâmetros no smb.conf.
Antes de adicionar as contas na base de dados do LDAP, é necessário criar a estrutura onde serão armazenadas (caso ainda não exista). Para essa tarefa, será utilizado o script smbldap-populate.
Para inicializar e popular a base de dados do OpenLDAP com smbldap-populate, é neces- sário configurar o pacote smbldap-tools, editando os arquivos /etc/smbldap-tools/smbldap. conf e /etc/smbldap-tools/smbldap_bind.conf, para se adequar às características do ambiente. Para isso, os seguintes passos são necessários:
Obter o SID do domínio Samba: root# net getlocalsid
SID for domain SERVER is: S-1-5-21-3102374607-2088646784-3588851380
Editar o arquivo /etc/smbldap-tools/smbldap.conf. Esse é o arquivo que contém toda a confi- guração do Samba e do OpenLDAP:
root# zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap- tools/smbldap.conf
As variáveis a serem configuradas no arquivo smbldap.conf são:
1 SID=”SID DO DOMINIO”: deve conter o SID do domínio, obtido através do comando “net getlocalsid”;
1 sambaDomain=”DOMINIO”: domínio do Samba;
1 slaveLDAP=“ldap://SERVIDOR/”: endereço do servidor LDAP secundário; 1 masterLDAP=“ldap://SERVIDOR/”: endereço do servidor LDAP principal;
1 ldapTLS=“VALOR”: utilizado para configurar a criptografia na conexão com o OpenLDAP. Aceita os valores “1”, para utilizar o start_tls, ou “0”, para desabilitar;
Ad m in is tr aç ão d e S is te m as L inu x: S er vi ço s p ar a I nt er ne t
1 verify=“VALOR”: define se verificará o certificado do servidor OpenLDAP. Aceita os valores “none” (não verifica/solicita o certificado), “optional” (verifica o certificado, se existir. Aceita a conexão mesmo se o certificado não existir ou não for válido) e “required” (só aceita a conexão se o certificado existir e for válido);
1 clientcert=“/CAMINHO/CERTIFICADO”: certificado utilizado para se conectar ao ser- vidor OpenLDAP;
1 clientkey=“/CAMINHO/CHAVE”: chave do certificado utilizada para se conectar ao ser- vidor OpenLDAP;
1 suffix=“BASE DN”: define o DN da base da estrutura do diretório no OpenLDAP. Exemplo “dc=empresa,dc=com,dc=br”;
1 usersdn=“DN DOS USUARIOS”: define onde as contas dos usuários serão armazenadas na estrutura do diretório no OpenLDAP. Exemplo “ou=usuarios,${suffix}”;
1 computersdn=“DN DAS MAQUINAS”: define onde as contas das máquinas serão arma- zenadas na estrutura do diretório no OpenLDAP. Exemplo “ou=maquinas,${suffix}”; 1 groupsdn=“DN DOS GRUPOS”: define onde as contas dos grupos serão armazenadas na
estrutura do diretório no OpenLDAP. Exemplo “ou=grupos,${suffix}”;
1 idmapdn=“DN DOS MAPEAMENTOS”: define onde os mapeamentos de UID/SID serão armazenados na estrutura do diretório no OpenLDAP. Exemplo “ou=idmap,${suffix}”; 1 sambaUnixIdPooldn=“VALOR”: onde armazenar os próximos UID e GID disponíveis para
as novas contas de usuários e grupos. Exemplo “${sambaDomain},${suffix}”;
1 scope=“VALOR”: escopo padrão utilizado na estrutura do diretório do OpenLDAP. Define o ponto inicial de uma busca e até que nível ela vai a partir da Base DN. Aceita os valores “base” (busca somente no nível da Base DN), “one” (realiza a busca em todas as entradas um nível a seguir da Base DN) e “sub” (realiza a busca em todas as entradas e em todos os níveis a seguir da Base DN);
1 hash_encrypt=“VALOR”: encriptação da senha do Linux. Aceita os valores “CRYPT”, “MD5”, “SMD5”, “SSHA”, “SHA” e “CLEARTEXT”;
1 crypt_salt_format=”%s”: se o parâmetro “hash_encrypt” estiver configurado como “CRYPT”, é possível configurar o formato do salt. O valor padrão é “%s”;
1 userLoginShell=”SHELL”: shell de login do usuário. Exemplo “/bin/bash”; 1 userHome=”DIRETORIO”: Diretório home do usuário. Exemplo: “/home/%U”; 1 userHomeDirectoryMode=”VALOR”: permissão padrão para o diretório home do
usuário. Exemplo “700”;
1 userGecos=”DESCRICAO”: campo de GECOS padrão utilizado para a criação das contas dos usuários. Exemplo “Usuário do SAMBA”;
1 defaultUserGid=”GID”: número do GID padrão utilizado para a criação das contas dos usuários. Exemplo “513”;
1 defaultComputerGid=”GID”: número do GID padrão utilizado para a criação das contas de máquinas. Exemplo “515”;
1 skeletonDir=”DIRETORIO”: diretório skel utilizado para a criação das contas de usuários. Exemplo “/etc/skel”;
1 defaultMaxPasswordAge=“NUMERO DE DIAS”: tempo padrão, em dias, da validade das senhas;
Ca pí tu lo 9 - S am ba
home drive do usuário (aceita a substituição %U para o username – Mesmo valor do parâ- metro “logon home” do arquivo smb.conf). Exemplo “\\SMBSERVER\%U”;
1 userProfile=“CAMINHO UNC”: o caminho no formato UNC para a localização do perfil do usuário (aceita a substituição %U para o username – Mesmo valor do parâmetro “logon script” do arquivo smb.conf). Exemplo “\\SMBSERVER\%U\profiles”;
1 userHomeDrive=“LETRA:”: a letra para o mapeamento padrão do home drive (Mesmo valor do parâmetro “logon drive” do arquivo smb.conf). Exemplo “H:”;
1 userScript=”SCRIPT.BAT”: o nome do script padrão utilizado para realizar o netlogon do usuário (Mesmo valor do parâmetro “logon script” do arquivo smb.conf). Exemplo: “logon.cmd”;
1 mailDomain=”DOMINIO”: domínio adicionado ao atributo “mail” dos usuários. Exemplo: “empresa.com.br”;
Editar o arquivo /etc/smbldap-tools/smbldap_bind.conf, onde as credenciais para conexão com o servidor OpenLDAP são configuradas:
root# cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/. Editar os seguintes parâmetros no arquivo smbldap_bind.conf:
1 slaveDN=”ADMIN DN”: define o DN da conta do Administrador do servidor OpenLDAP secundário. Exemplo: “cn=admin,dc=exemplo,dc=com,dc=br”;
1 slavePw=”SENHA”: define a senha do DN da conta do Administrador do servidor OpenLDAP secundário;
1 masterDN=”ADMIN DN”: define o DN da conta do Administrador do servidor OpenLDAP primário. Exemplo: “cn=admin,dc=exemplo,dc=com,dc=br”;
1 masterPw=”SENHA”: define a senha do DN da conta do Administrador do servidor OpenLDAP primário;
Popular a base do OpenLDAP: root# smbldap-populate
Esse comando vai ler os arquivos de configuração e criará a estrutura de diretório (caso ainda não exista) dentro do servidor OpenLDAP, conforme definido no arquivo smbldap.conf.