Hi again,

Thanks for all your help, I have another question.

In my openldap I use qmail for only these attributes : *mailQuotaSize*,
*mailAlternateAddress*, *mailForwardingAddress* and *accountStatus*

Searching in ipa's schema I found this schema *50ns-mail.ldif*, this schema
provides these compatible attributes : *mailQuota*, *mailAlternateAddress*
and *mailForwardingAddress *but no accounStatus

For accountStatus it is not a problem, there is an equivalent in Freeipa to
tell if an account is disabled or not.

My question: is there a way to tell the migration process to map *mailQuotaSize
*from openldap to *mailQuota* on freeipa and so on.

If I can do that, I don't have to import qmail schema into freeipa.

Regards

2016-01-26 17:19 GMT+01:00 Martin Kosek <mko...@redhat.com>:

> On 01/26/2016 05:13 PM, wodel youchi wrote:
> > Hi,
> >
> > For the first problem I redid the import using this syntax
> > ipa -d -v migrate-ds --bind-dn "cn=admin,dc=example,dc=com" --with-compat
> > --user-ignore-objectclass qmailuser --continue ldap://192.168.1.121:389
> >
> > and it worked, all accounts were imported successfully.
>
> Good!
>
> > The thing I don't know where the query is getting qmailuser, since the
> > objectclass imported is qmailUser!!!
> >
> > About the second problem, the error say (sorry for the french btw) :
> > Error : the search for LDAP group do not return any result (search
> > base ou=groups,dc=example,dc=com,
> > objectClass : groupofuniquenames, groupofnames))
> >
> > And I tested with this command
> > ipa -d -v migrate-ds --bind-dn "cn=admin,dc=example,dc=com" --with-compat
> > --group-objectclass=posixGroup --user-ignore-objectclass qmailuser
> ldap://
> > 192.168.1.121:389
> >
> > and it worked, as you said I had to add --group-objectclass=posixGroup
>
> Good!
>
> > Now, I need to added some of attributes to the Webui when creating a new
> > user, for example mailQuotaSize, is there a way to do that?
>
> There is a way, although you still need to code a little in JavaScript. We
> have
> a HowTo here:
>
> https://www.freeipa.org/images/5/5b/FreeIPA33-extending-freeipa.pdf
>
> There is some example in "Extending the Web UI" section. If it does not
> work,
> Petr Vobornik should be able to advise.
>
> >
> > Thanks for your help.
> > Regards.
> >
> >
> > 2016-01-26 16:15 GMT+01:00 Martin Kosek <mko...@redhat.com>:
> >
> >> On 01/26/2016 02:20 PM, wodel youchi wrote:
> >>> Hi,
> >>>
> >>> In the above log (httpd log) the LDAPEntry contains qmailuser and
> >> qmailUser
> >>> objectClasses, I don't know if this is what is causing the problem.
> >>
> >> That's probably it. Can you please try to lowercaser 'qmailUser' in the
> >> FreeIPA
> >> config and try the migration again?
> >>
> >>> Another thing, I can't import groups as well, I did add a simple group
> to
> >>> my ldap
> >>> dn: ou=groups,dc=example,dc=com
> >>> objectClass: organizationalUnit
> >>> objectClass: top
> >>> ou: groups
> >>> structuralObjectClass: organizationalUnit
> >>>
> >>> dn: cn=vmail,ou=groups,dc=example,dc=com
> >>> objectClass: top
> >>> objectClass: posixGroup
> >>> gidNumber: 5000
> >>> structuralObjectClass: posixGroup
> >>> cn: vmail
> >>>
> >>> When I launch the migration command I get
> >>>
> >>> ipa: ERROR: La recherche LDAP group ne renvoie aucun résultat (base de
> >>> recherche : ou=groups,dc=example,dc=com, classe d'objet :
> >>> groupofuniquenames, groupofnames)
> >>>
> >>> any idea?
> >>
> >> I cannot really read French, but I suspect you could use the option
> >>
> >>   --group-objectclass=STR
> >>                         Objectclasses used to search for group entries
> in
> >> DS
> >>
> >> to specify the objectclass the migration should search (posixGroup in
> your
> >> case)
> >>
> >>>
> >>> Regards.
> >>>
> >>> 2016-01-26 13:42 GMT+01:00 wodel youchi <wodel.you...@gmail.com>:
> >>>
> >>>> Hi again,
> >>>>
> >>>> This is what I get from httpd error_log
> >>>>
> >>>> [Tue Jan 26 13:38:02.394757 2016] [:error] [pid 7427] ipa: WARNING:
> GID
> >>>> number 1000 of migrated user jean.doe does not point to a known group.
> >>>> [Tue Jan 26 13:38:02.397928 2016] [:error] [pid 7427]
> >>>>
> >>
> LDAPEntry(ipapython.dn.DN('uid=jean.doe,cn=users,cn=accounts,dc=example,dc=com'),
> >>>> {u'mailQuotaSize': ['2048000'], u'cn': ['DOE'], u'uid': [u'jean.doe'],
> >>>> u'objectClass': [u'ipaobject', u'organizationalperson', u'qmailuser',
> >>>> u'top', u'ipasshuser', u'inetorgperson', u'person',
> >> u'krbticketpolicyaux',
> >>>> u'krbprincipalaux', u'shadowaccount', u'qmailUser', u'inetuser',
> >>>> u'posixaccount'], u'loginShell': ['/bin/bash'], u'uidNumber':
> ['1001'],
> >>>> u'gidNumber': [u'1000'], u'ipauniqueid': ['autogenerate'],
> >>>> u'krbprincipalname': [u'jean....@example.com'], u'mailMessageStore':
> >>>> ['/var/vmail/jean.doe'], u'description': ['__no_upg__'],
> u'displayName':
> >>>> ['Jean Doe'], u'userPassword':
> >> ['{SSHA}NIxCImzQDagloyVdMtheC4wDMUImxW85'],
> >>>> u'accountStatus': ['yes'], u'mailAlternateAddress': ['
> r...@example.com',
> >> '
> >>>> postmas...@example.com'], u'sn': ['Jean'], u'homeDirectory':
> >>>> ['/var/vmail/jean.doe'], u'mail': ['jean....@example.com'],
> >> u'givenName':
> >>>> ['DOE']})
> >>>> [Tue Jan 26 13:38:02.398937 2016] [:error] [pid 7427] ipa: WARNING:
> GID
> >>>> number 1000 of migrated user jeane.doe does not point to a known
> group.
> >>>> [Tue Jan 26 13:38:02.399703 2016] [:error] [pid 7427]
> >>>>
> >>
> LDAPEntry(ipapython.dn.DN('uid=jeane.doe,cn=users,cn=accounts,dc=example,dc=com'),
> >>>> {u'mailQuotaSize': ['1024000'], u'cn': ['DOE'], u'uid':
> [u'jeane.doe'],
> >>>> u'objectClass': [u'ipaobject', u'organizationalperson', u'qmailuser',
> >>>> u'top', u'ipasshuser', u'inetorgperson', u'person',
> >> u'krbticketpolicyaux',
> >>>> u'krbprincipalaux', u'shadowaccount', u'qmailUser', u'inetuser',
> >>>> u'posixaccount'], u'loginShell': ['/bin/bash'], u'uidNumber':
> ['1002'],
> >>>> u'gidNumber': [u'1000'], u'ipauniqueid': ['autogenerate'],
> >>>> u'krbprincipalname': [u'jeane....@example.com'], u'mailMessageStore':
> >>>> ['/var/vmail/jeane.doe'], u'description': ['__no_upg__'],
> >> u'displayName':
> >>>> ['Jeane Doe'], u'userPassword':
> >> ['{SSHA}+fXBt+2vlneTFUDhnEv9YvHS4Zo65LIT'],
> >>>> u'accountStatus': ['yes'], u'sn': ['Jeane'], u'homeDirectory':
> >>>> ['/var/vmail/jeane.doe'], u'mail': ['jeane....@example.com'],
> >>>> u'givenName': ['DOE']})
> >>>>
> >>>> Regards.
> >>>>
> >>>> 2016-01-26 11:22 GMT+01:00 wodel youchi <wodel.you...@gmail.com>:
> >>>>
> >>>>> Thanks I will try and report back.
> >>>>>
> >>>>> I am using Centos 7.2x64 with latest updates
> >>>>>
> >>>>> and ipa-server-4.2.0-15.el7.centos.3.x86_64
> >>>>>
> >>>>> Regards
> >>>>>
> >>>>> 2016-01-26 10:53 GMT+01:00 Martin Kosek <mko...@redhat.com>:
> >>>>>
> >>>>>> On 01/26/2016 10:16 AM, wodel youchi wrote:
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> I am a newbie in freeipa. I am trying to use it with our mail
> server.
> >>>>>>
> >>>>>> Cool! What is your version of the FreeIPA server? It will be
> important
> >>>>>> for
> >>>>>> further investigation.
> >>>>>>
> >>>>>>> Our mail server uses openldap with one external schema :
> >> qmail.schema,
> >>>>>> we
> >>>>>>> use it especially for mailQuota, mailAlternateAddress,
> >>>>>>> mailForwardingAddress and AccountStatus.
> >>>>>>>
> >>>>>>> I tried to import this schema to freeipa using ipa-ldap-updater.
> >>>>>>> I am not sure if I succeeded, but when I tried : ipa config-mod
> >>>>>>> --addattr=ipaGroupObjectClasses=qmailUser it worked and I can see
> the
> >>>>>>> objectClass.
> >>>>>>>
> >>>>>>>
> >>>>>>> [root@ipamaster work]# ipa config-show --all
> >>>>>>>   dn: cn=ipaConfig,cn=etc,dc=example,dc=com
> >>>>>>>   Longueur maximale du nom d'utilisateur: 32
> >>>>>>>   Base du répertoire utilisateur: /home
> >>>>>>>   Interprèteur par défaut: /bin/sh
> >>>>>>>   Groupe utilisateur par défaut: ipausers
> >>>>>>>   Domaine par défaut pour les courriels: example.com
> >>>>>>>   Limite de temps d'une recherche: 2
> >>>>>>>   Limite de taille d'une recherche: 100
> >>>>>>>   Champs de recherche utilisateur:
> >>>>>> uid,givenname,sn,telephonenumber,ou,title
> >>>>>>>   Group search fields: cn,description
> >>>>>>>   Activer le mode migration: TRUE
> >>>>>>>   Base de sujet de certificat: O=EXAMPLE.COM
> >>>>>>>   Classes d'objets de groupe par défaut: top, ipaobject,
> >> groupofnames,
> >>>>>>> ipausergroup, nestedgroup
> >>>>>>>   Classes d'objets utilisateur par défaut: ipaobject, person, top,
> >>>>>>> ipasshuser, inetorgperson, organizationalperson,
> >>>>>>>                                            krbticketpolicyaux,
> >>>>>>> krbprincipalaux, *qmailUser*, inetuser, posixaccount
> >>>>>>>   Notification d'expiration de mot de passe (jours): 4
> >>>>>>>   Fonctionnalités du greffon mots de passe: AllowNThash
> >>>>>>>   Ordre de la mappe des utilisateurs SELinux:
> >>>>>>>
> >>>>>>
> >>
> guest_u:s0$xguest_u:s0$user_u:s0$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023
> >>>>>>>   Utilisateur SELinux par défaut: unconfined_u:s0-s0:c0.c1023
> >>>>>>>   Types de PAC par défaut: nfs:NONE, MS-PAC
> >>>>>>>   aci: (targetattr = "cn || createtimestamp || entryusn ||
> >>>>>>> ipacertificatesubjectbase || ipaconfigstring || ipacustomfields ||
> >>>>>>>        ipadefaultemaildomain || ipadefaultloginshell ||
> >>>>>>> ipadefaultprimarygroup || ipagroupobjectclasses ||
> >>>>>>>        ipagroupsearchfields || ipahomesrootdir || ipakrbauthzdata
> ||
> >>>>>>> ipamaxusernamelength || ipamigrationenabled ||
> >>>>>>>        ipapwdexpadvnotify || ipasearchrecordslimit ||
> >>>>>> ipasearchtimelimit ||
> >>>>>>> ipaselinuxusermapdefault ||
> >>>>>>>        ipaselinuxusermaporder || ipauserauthtype ||
> >>>>>> ipauserobjectclasses ||
> >>>>>>> ipausersearchfields || modifytimestamp ||
> >>>>>>>        objectclass")(targetfilter =
> >>>>>> "(objectclass=ipaguiconfig)")(version
> >>>>>>> 3.0;acl "permission:System: Read Global
> >>>>>>>        Configuration";allow (compare,read,search) userdn =
> >>>>>> "ldap:///all";;)
> >>>>>>>   cn: ipaConfig
> >>>>>>>   objectclass: ipaConfigObject, nsContainer, top, ipaGuiConfig,
> >>>>>>> ipaUserAuthTypeClass
> >>>>>>>
> >>>>>>> Then I tried to migrate openldap's accounts, but without luck so
> far
> >>>>>>> #ipa -v migrate-ds --with-compat --bind-dn
> >> "cn=admin,dc=example,dc=com"
> >>>>>>> --continue ldap://192.168.1.121:389
> >>>>>>> -----------
> >>>>>>> migrate-ds:
> >>>>>>> -----------
> >>>>>>> Migrated:
> >>>>>>> Failed user:
> >>>>>>>   jean.doe: Type or value exists:
> >>>>>>>   jeane.doe: Type or value exists:
> >>>>>>>  Failed group:
> >>>>>>> ----------
> >>>>>>> No users/groups were migrated from ldap://192.168.1.121:389
> >>>>>>>
> >>>>>>>
> >>>>>>> Here is an entry from openldap
> >>>>>>> dn: uid=jeane.doe,ou=people,dc=example,dc=com
> >>>>>>> loginShell: /bin/bash
> >>>>>>> gidNumber: 1000
> >>>>>>> objectClass: top
> >>>>>>> objectClass: qmailUser
> >>>>>>> objectClass: inetOrgPerson
> >>>>>>> objectClass: posixAccount
> >>>>>>> objectClass: person
> >>>>>>> objectClass: shadowAccount
> >>>>>>> objectClass: organizationalPerson
> >>>>>>> mail: jeane....@example.com
> >>>>>>> givenName: DOE
> >>>>>>> uid: jeane.doe
> >>>>>>> uidNumber: 1002
> >>>>>>> displayName: Jeane Doe
> >>>>>>> homeDirectory: /var/vmail/jeane.doe
> >>>>>>> accountStatus: yes
> >>>>>>> mailMessageStore: /var/vmail/jeane.doe
> >>>>>>> structuralObjectClass: inetOrgPerson
> >>>>>>> entryUUID: 3e8ee290-166f-1035-94d7-ef8fa27fbe71
> >>>>>>> creatorsName: cn=admin,dc=example,dc=com
> >>>>>>> createTimestamp: 20151103120748Z
> >>>>>>> userPassword:: e1NTSEF9K2ZYQnQrMnZsbmVURlVEaG5FdjlZdkhTNFpvNjVMSVQ=
> >>>>>>> mailQuotaSize: 1024000
> >>>>>>> sn: Jeane
> >>>>>>> cn: DOE
> >>>>>>> entryCSN: 20160125162455.613052Z#000000#000#000000
> >>>>>>> modifiersName: cn=admin,dc=example,dc=com
> >>>>>>> modifyTimestamp: 20160125162455Z
> >>>>>>>
> >>>>>>> What does "Type or value exists" means?
> >>>>>>
> >>>>>> That normally means that you have the same value for LDAP attribute
> >>>>>> twice or
> >>>>>> that you are trying to add multiple values for a single valued
> >>>>>> attribute. I
> >>>>>> wonder if we could get better logging, like how exactly the entry
> >> looks
> >>>>>> like
> >>>>>> before it is added to LDAP.
> >>>>>>
> >>>>>> But right now, I cannot think about a better way than to updating
> >>>>>> /usr/lib/python2.7/site-packages/ipalib/plugins/migration.py
> >>>>>> on the FreeIPA server the following way (new print statement)
> >>>>>>
> >>>>>>                 try:
> >>>>>>                     print entry_attrs
> >>>>>>                     ldap.add_entry(entry_attrs)
> >>>>>>                 except errors.ExecutionError, e:
> >>>>>>
> >>>>>> , restarting the httpd service and sending us the
> >>>>>> /var/log/httpd/error_log
> >>>>>> after the next migration attempt. Maybe Jan (CCed) knows a better
> way.
> >>>>>>
> >>>>>>> PS: the qmail.schema presents two other objectClasses, but I didn't
> >>>>>> add use
> >>>>>>> them (qldapAdmin, qmailGroup)
> >>>>>>>
> >>>>>>> Regards
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> >>
> >
>
>
-- 
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project

Reply via email to