[FUG-BR] Postfix +LDAP + Qutoa
Andre Luiz de Souza
andresou25 em gmail.com
Quinta Abril 24 11:07:12 BRT 2008
Patrick, acho que houve um desencontro entre seus posts anteriores. No
registro que você enviou, aparece a linha do registro ldap:
mailQuota: 500M
só que no comando ldapsearch, você modificou para procurar o campo
"quota" em vez de "mailQuota". Imagino então que o nome correto do campo
seja "quota".
A função sub dentro do awk é pra substituir o "M" de 500M por seis "0",
então iria substituir 500M para 500000000.
Pergunto: o valor do campo quota tem a letra "M" no final ? Se não
tiver, tira a função sub e instrua ao awk para concatenar os zeros ao
final do valor. O print do quota ficaria +/- assim: print $0 "000000"
Referencia: man awk
Em 23-04-2008 17:54, patrick escreveu:
> Resultado do comando foi esse:
>
> petty:/var/www# ldapsearch -x -h localhost
> '(&(objectclass=posixAccount)(quota=*))' quota | awk '/^dn: / {print
> "\n" $0 "\nchangetype: modify";} /^quota:/ {sub( "M", 000000, $2); print
> $1 " " $2 ; }'
>
> dn: uid=sadam,ou=patrick.com.br,o=patrick
> changetype: modify
> quota: 100
>
> dn: uid=luna,cn=mail,o=patrick
> changetype: modify
> quota: 25
>
>
> Vou dá uma analisada nele pra ver se consigo resolver...
>
> Valeu pela ajuda!
>
> PaTricK
>
>
> Andre Luiz de Souza escreveu:
>
>> Patrick,
>>
>> Exporta seus registros para um arquivo ldif e depois executa com o
>> ldapmodify.
>> Você pode fazer uma consulta assim para gerar o ldif:
>>
>> ldapsearch -x -h ldap '(&(objectclass=posixaccount)(mailQuota=*))'
>> mailQuota | awk '/^dn: / {print "\n" $0 "\nchangetype: modify";}
>> /^mailQuota:/ {sub( "M", 000000, $2); print $1 " " $2 ; }' > quota.ldif
>>
>> depois:
>>
>> ldapmodify -x -h ldap -D'<dn-do-admin>' -W -f quota.ldif
>>
>> Referências:
>> - man ldif
>> - man ldapmodify
>>
>> Em 22-04-2008 10:57, patrick escreveu:
>>
>>
>>> Assim está um usuário do meu LDAP.... meu problema é o postfix reconhe
>>> esse 500M como quota, ele somente reconhece se eu colocar como
>>> "mailQuota: 500000000" , Teria como alterar o resultado do ldap para
>>> ficar o 500M=500000000 ?
>>>
>>>
>>> dn: uid=patrick,dc=patrick.com.br,o=patrick500000000
>>> objectClass: radiusprofile
>>> objectClass: mailUser
>>> objectClass: posixAccount
>>> uid: patrick
>>> userPassword: senha
>>> uidNumber: 101
>>> gidNumber: 101
>>> cn: patrick
>>> radiusProfileDn: cn=normal,ou=radius,o=patrick
>>> mailMessageStore: /var/spool/emails/patrick.com.br/patrick/
>>> mail: patrick em softhouse.com.br
>>> homeDirectory: /home/patrick/public_html/patrick/
>>> mailQuota: 500M
>>> sn: patrick
>>> loginShell: /bin/false
>>>
>>>
>>>
>>> PaTricK
>>>
>>> eria como alterar o resultado do ldap para
>>> ficar o 500M=500000000 ?
>>>
>>>
Mais detalhes sobre a lista de discussão freebsd