<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 10, 2017 at 1:16 AM, Alexander Bokovoy <span dir="ltr"><<a href="mailto:abokovoy@redhat.com" target="_blank">abokovoy@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">On to, 09 maalis 2017, Robert Johnson wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
On Thu, Mar 9, 2017 at 4:06 PM, Alexander Bokovoy <<a href="mailto:abokovoy@redhat.com" target="_blank">abokovoy@redhat.com</a>><br>
wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
On to, 09 maalis 2017, Robert Johnson wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hello,<br>
<br>
I am running into an odd issue haven't been able to find any information<br>
through searching on this issue online.<br>
<br>
Environment: We are currently have a IPA master running<br>
ipa-server-4.4.0-14.el7_3.4.x8<wbr>6_64 on a RHEL 7.3 server.  We have a mix<br>
of<br>
RHEL 6.8, RHEL 7.x and Solaris 10 clients. We also have a one way trust to<br>
a windows domain.  Compatibility mode is enabled.<br>
<br>
The issue I'm seeing is that when I delete an IPA domain user through the<br>
web gui, the user account doesn't appear to be removed completely from the<br>
system.  I verified via "ipa user-find" that the user is no longer in the<br>
system.  I also checked via "ldapsearch" that the user account doesn't<br>
exist in the "accounts" container.  However, when I look in the "users,<br>
compat" container, that user still exists.<br>
<br>
This is causing problems with my Solaris clients since they are pointing<br>
to<br>
the compat tree so that we can login with the windows accounts on those<br>
servers.  The Solaris client is still seeing the account as being valid<br>
and<br>
is asking the user for a password on login which fails because the account<br>
doesn't exist in the IPA domain anymore.<br>
<br>
Do I need to remove the account from the ldap compat container manually or<br>
is the IPA user delete command (through the gui and/or command line)<br>
suppose to take care of this ?  Or is there is some sort of clean up<br>
process that I have to wait for to occur before this account gets removed<br>
from that container ?  If so, what is the time frame ?<br>
<br>
</blockquote>
Compat tree is automatically generated. It also tracks existing objects,<br>
so any time the object is removed from the primary tree, it should be<br>
cleared from the compat tree as well.<br>
<br>
If you can reliably demonstrate the problem using<br>
<a href="http://www.freeipa.org/page/Demo" rel="noreferrer" target="_blank">http://www.freeipa.org/page/De<wbr>mo</a> (it has compat tree enabled), then feel<br>
free to open a bug.<br>
<br>
--<br>
/ Alexander Bokovoy<br>
<br>
</blockquote>
<br>
So after doing some more digging using ldapsearch, I discovered some "odd"<br>
entries.  It appears that all my IPA users appear to have duplicate entries<br>
under the compat tree. So on a hunch I deleted another IPA user and one of<br>
the two entries disappeared from the container.  I tried to use ldapdelete<br>
(and ldapmodify) to remove the "ghost" entry using the DN I found from the<br>
search and I get a "object not found" and then it says that it matched the<br>
base tree.  If I dump the whole compat tree out to a file, the ghost<br>
objects look to be exact duplicates of the original entries (minus the guid<br>
which is different).  I can't seem to find a way to remove them.<br>
<br>
Any ideas ?<br>
</blockquote></div></div>
Demonstrate your problem using the FreeIPA demo instance, please.<br>
<br>
Compat tree is not writable, thus you cannot delete anything from it<br>
directly. You only can delete the original entry to cause removal of a<br>
compat entry.<br>
<br>
Show how it is not removed with step by step ldapsearch/ipa CLI<br>
operations against our demo instance, please.<span class="gmail-HOEnZb"><font color="#888888"><br>
<br>
-- <br>
/ Alexander Bokovoy<br>
</font></span></blockquote></div><br></div><div class="gmail_extra">Ok, I believe I have been able to reproduce the problem.<br></div><div class="gmail_extra">1) Before I created the new user, I verified by using the ldapsearch command on the compat tree that the user I was going to create didn't exist:<br>ldapsearch -b "cn=compat,dc=demo1,dc=freeipa,dc=org" -h <a href="http://ipa.demo1.freeipa.org">ipa.demo1.freeipa.org</a> -s sub "(&(objectclass=*)(uid=123456))"<br></div><div class="gmail_extra">Returns nothing<br>ldapsearch -b "cn=accounts,dc=demo1,dc=freeipa,dc=org" -h <a href="http://ipa.demo1.freeipa.org">ipa.demo1.freeipa.org</a> -s sub "(&(objectclass=*)(uid=123456))"<br>Returns nothing<br></div><div class="gmail_extra">Note: I also tried just dumping all the user objects to a file and made sure it wasn't there.<br></div><div class="gmail_extra"><br>2) Next, I login to the webui and then create the new user.<br></div><div class="gmail_extra">userlogin: 123456<br></div><div class="gmail_extra">First Name: Test<br></div><div class="gmail_extra">Last Name: User<br></div><div class="gmail_extra">and then a password.<br></div><div class="gmail_extra"><br>3) Next I verified that the account was showing up in the compat tree:<br>ldapsearch -b "cn=compat,dc=demo1,dc=freeipa,dc=org" -h <a href="http://ipa.demo1.freeipa.org">ipa.demo1.freeipa.org</a> -s sub "(&(objectclass=*)(uid=123456))"<br>version: 1<br>dn: uid=123456,cn=users,cn=compat,dc=demo1,dc=freeipa,dc=org<br>objectClass: posixAccount<br>objectClass: ipaOverrideTarget<br>objectClass: top<br>gecos: Test User<br>cn: Test User<br>uidNumber: 1120000053<br>gidNumber: 1120000053<br>loginShell: /bin/sh<br>homeDirectory: /home/123456<br>ipaAnchorUUID:: OlNJRDpTLTEtNS0yMS0zNjIwNjU0ODcyLTY4NzE1NzE0Mi00MDUwMjk3OTIzL<br> TEwNTM=<br>uid: 123456<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">4) I delete the same user account via the webgui (full delete).<br><br></div><div class="gmail_extra">5) I then check the compat tree again and here is the result:<br>ldapsearch -b "cn=compat,dc=demo1,dc=freeipa,dc=org" -h <a href="http://ipa.demo1.freeipa.org">ipa.demo1.freeipa.org</a> -s sub "(&(objectclass=*)(uid=123456))"<br>version: 1<br>dn: uid=123456,cn=users,cn=compat,dc=demo1,dc=freeipa,dc=org<br>objectClass: posixAccount<br>objectClass: ipaOverrideTarget<br>objectClass: top<br>gecos: Test User<br>cn: Test User<br>uidNumber: 1120000053<br>gidNumber: 1120000053<br>loginShell: /bin/sh<br>homeDirectory: /home/123456<br>ipaAnchorUUID:: OlNJRDpTLTEtNS0yMS0zNjIwNjU0ODcyLTY4NzE1NzE0Mi00MDUwMjk3OTIzL<br> TEwNTM=<br>uid: 123456<br><br></div><div class="gmail_extra">The user account is still there.<br><br></div><div class="gmail_extra">Now what is really weird is that if I recreate the user 123456 through the webgui and
 perform the ldapsearch, I see two entries.  If I delete the user, 
it removes one of the entries and leaves the shadow one above.  I can tell because the accounts look identical except for the ipaAnchorUUID attribute.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">- This is a problem for our Solaris systems, as the ldap client is pointing to the compat tree so when the accounts are still active in the ipa domain (ie they are in the accounts tree) I am seeing 2 entries when using the getent passwd command.  Needless to say the pam_ldap module doesn't like the two entries.<br><br>Now, I tried
 to do it again with a different account (say 111111 or 500000) and it 
won't reproduce the problem. This only seems to occur on the first user I
 created this way in the demo site you provided.  In my instance, I had 2 accounts that I created that had this shadow account left in the compat 
tree.<br></div></div>