Duas bem conhecidas ferramentas que auxiliam no gerenciamento gráfico do servidor
LDAP são a "phpldapadmin" e a "webmin". Em nosso caso, utilizaremos apenas a ferramenta "ldapscripts" que apesar de funcionar unicamente em modo texto, nos oferece todos os recursos necessários.
A ferramenta "ldapscripts" é um conjunto de scripts que permite o gerenciamento de contas
POSIX em um diretório LDAP. Para instalá-la basta o pacote 'ldapscripts" e suas dependências. Para verificar os comandos disponíveis escreva "ldap" e pressione TAB. O arquivo de configuração do "ldapscripts" é "/etc/ldapscripts/ldapscripts.conf", enquanto o arquivo de log é "/var/log/ldapscripts.log".
# ldap
ldapadd ldapdelete ldapmodify ldappasswd ldapurl
ldapcompareldapexop ldapmodrdn ldapsearch ldapwhoami
...
# ldap
ldapadd ldapdelete ldapmodify ldappasswd ldapurl
ldapcompareldapexop ldapmodrdn ldapsearch ldapwhoami
...
# apt-get install ldapscripts
# ldap
ldapadd ldapdeleteuserfromgroup ldapmodrdn
ldapaddgroup ldapexop ldappasswd
ldapaddmachine ldapfinger ldaprenamegroup
ldapadduser ldapgid ldaprenamemachine
ldapaddusertogroup ldapid ldaprenameuser
ldapcompare ldapinit ldapsearch
ldapdelete ldapmodify ldapsetpasswd
ldapdeletegroup ldapmodifygroup ldapsetprimarygroup
ldapdeletemachine ldapmodifymachine ldapurl
ldapdeleteuser ldapmodifyuser ldapwhoami
Para configurar o "ldapscripts" altere o arquivo "/etc/ldapscripts/ldapscrits.conf". Caso o comando "ldapadduser" fique "hanging" (não termina!) tente substituir "/dev/random" por "/dev/urandom" na linha do gerador de senhas aleatórias. As permissões "700" indicam que ninguém além do próprio usuário está autorizado a acessar sua pasta "home". Caso prefira deixar o parâmetro BINDPWD comentado, escreva a senha no arquivo "ldapscrits.passwd", cuja permissão sugerida é 600.
...
SERVER="ldap://192.168.0.2"
BINDDN="cn=admin,dc=example,dc=com"
...
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
...
BINDPWD="secret"
...
SUFFIX="dc=example,dc=com" # Global suffix
GSUFFIX="ou=Groups" # Groups ou (just under $SUFFIX)
USUFFIX="ou=Users" # Users ou (just under $SUFFIX)
MSUFFIX="ou=Machines" # Machines ou (just under $SUFFIX)
...
UHOMES="/home/users/%u" # You may use %u for username here
CREATEHOMES="yes" # Create home directories and set rights ?
HOMESKEL="/etc/skel" # Directory where the skeleton files are located. Ignored if undefined or nonexistant.
HOMEPERMS="700" # Default permissions for home directories
...
PASSWORDGEN="cat /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | head -c8"
...
Para adicionar um novo grupo ao LDAP, utilize o comando "ldapaddgroup", e caso seja necessário removê-lo, utilize o comando "ldapdeletegroup". Adicione o grupo "aluno" ao LDAP, certificando que o gid está correto. Para adicionar um novo usuário utilize "ldapadduser", que permite escolha de "uid", no caso igual a 5000. Note que a pasta "/home/users/anderson" foi criada automaticamente. Para alterar a senha do usuário utilize "ldapsetpasswd".
# ldapaddgroup aluno 10000
Successfully added group aluno to LDAP
...
# ldapdeletegroup aluno
Successfully deleted group cn=aluno,ou=Groups,dc=example,dc=com from LDAP
...
# ldapadduser anderson aluno 5000
Successfully added user anderson to LDAP
Successfully set password for user anderson
Successfully created home directory for user anderson
...
# ldapsetpasswd anderson
Changing password for user uid=anderson,ou=Users,dc=example,dc=com
New Password:
Retype New Password:
Successfully set password for user uid=anderson,ou=Users,dc=example,dc=com
...