$ ldapmodify -H ldap://yourhost -D cn=youradmin,dc=your,dc=domain -x -W
( enter password here )
dn: uid=username,ou=people,dc=your,dc=domain
changetype: modify
add: mail
mail: [email protected]
Eu quero adicionar o atributo mail aos usuários existentes do ldap. Eu acho que é possível usar o ldapmodify, mas não sei como. Eu fiz isso usando o phpldapadmin web GUI manualmente, mas eu tenho mais de 100 usuários e não quero fazer isso manualmente para todos.
Alguém pode me guiar na direção certa.
$ ldapmodify -H ldap://yourhost -D cn=youradmin,dc=your,dc=domain -x -W
( enter password here )
dn: uid=username,ou=people,dc=your,dc=domain
changetype: modify
add: mail
mail: [email protected]
Primeiro, vou apontar para
dn: cn=Joe Smith,dc=example,dc=com
changetype: modify
add: mail
mail: [email protected]
Os valores legais para changetype:
são add
, modify
, delete
e modrdn
. Se você usar changetype: modify
, as modificações legais serão add:
, delete:
e replace:
. A Seção 3.3 lhe dará exemplos de como tudo isso funciona.
Depois de ter o arquivo escrito, você tem algumas maneiras de enviá-lo ao seu servidor LDAP. Um método é alimentar o arquivo diretamente para o comando ldapmodify
:
ldapmodify -x -h $LDAP_HOST -D $LDAP_BINDDN -W -f $FILE
A opção -W
informa ldapmodify
para solicitar a senha para $LDAP_BINDDN
na linha de comando. Isso significa que você não está deixando a senha para o servidor LDAP no arquivo histórico do shell. Se você quiser incorporar a senha ao seu comando ldapmodify
, use -w $PASSWORD
. A opção -f $FILE
informa ldapmodify
qual arquivo LDIF para examinar as alterações que estão sendo implementadas.
Na verdade, não gosto de usar a opção -f $FILE
. Passar um arquivo para ldapmodify
requer 100% de confiança de que eu escrevi corretamente esse arquivo LDIF. Se eu cometer um erro, ldapmodify
será encerrado sem me informar do erro. Então, eu usaria um segundo método. Use o comando ldapmodify
que dei como exemplo, mas sem essa opção -f $FILE
. Sem essa opção, ldapmodify
obtém suas modificações de STDIN
. Assim, posso copiar duas ou três entradas desse arquivo LDIF que eu montei e colá-las no shell para que ldapmodify
processe. Faço 2 a 4 entradas de cada vez e faço correções nas entradas do LDIF na hora, conforme necessário. Isso é mais lento do que passar um arquivo LDIF perfeito diretamente para ldapmodify
, mas mais rápido do que descobrir onde cometi um erro de digitação naquele arquivo.
Sim, você pode usar ldapmodify
para isso. Você precisa gerar arquivos LDIF que contenham as instruções de mudança e, em seguida, direcione-os para o servidor LDAP com ldapmodify
. Para mais informações, leia man ldapmodify
, que também contém exemplos.