<div dir="ltr">Thanks Martin, can you do <span style="font-family:arial,sans-serif;font-size:13px">SSSD on MAC's?  </span></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 4, 2014 at 4:45 AM, Martin Kosek <span dir="ltr"><<a href="mailto:mkosek@redhat.com" target="_blank">mkosek@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ok, thanks. Good to see it is working for you.<br>
<br>
I see you actually do authorization decision based on Schema Compatibility<br>
plugin :) Note that an alternate, preferred way of doing authorization in<br>
FreeIPA though is HBAC where you would configure which group of users can login<br>
to which machines.<br>
<br>
But this is only being enforced when SSSD is on the client machine, so it may<br>
not be working for all your machines.<br>
<span class="HOEnZb"><font color="#888888"><br>
Martin<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On 09/03/2014 10:45 PM, Chris Whittle wrote:<br>
> Success here is my LDIF if anyone needs to do this with a MAC<br>
><br>
>> dn: cn=Mac Users, cn=Schema Compatibility, cn=plugins, cn=config<br>
>><br>
>> objectClass: top<br>
>><br>
>> objectClass: extensibleObject<br>
>><br>
>> cn: Mac Users<br>
>><br>
>> schema-compat-search-base: cn=users,cn=accounts,dc=DOMAIN,dc=com<br>
>><br>
>> schema-compat-search-filter:<br>
>> (&(objectClass=posixaccount)(memberOf=cn=canlogin,cn=groups,cn=accounts,dc<br>
>> DOMAIN,dc=com))<br>
>><br>
>> schema-compat-container-group: cn=compat,dc=DOMAIN,dc=com<br>
>><br>
>> schema-compat-container-rdn: cn=canlogin<br>
>><br>
>> schema-compat-entry-rdn: cn=%{cn}<br>
>><br>
>> schema-compat-entry-attribute: objectclass=inetOrgPerson<br>
>><br>
>> schema-compat-entry-attribute: objectclass=posixAccount<br>
>><br>
>> schema-compat-entry-attribute: gecos=%{cn}<br>
>><br>
>> schema-compat-entry-attribute: cn=%{cn}<br>
>><br>
>> schema-compat-entry-attribute: uid=%{uid}<br>
>><br>
>> schema-compat-entry-attribute: uidNumber=%{uidNumber}<br>
>><br>
>> schema-compat-entry-attribute: gidNumber=%{gidNumber}<br>
>><br>
>> schema-compat-entry-attribute: loginShell=%{loginShell}<br>
>><br>
>> schema-compat-entry-attribute: homeDirectory=%{homeDirectory}<br>
>><br>
><br>
><br>
><br>
> On Wed, Sep 3, 2014 at 1:04 PM, Chris Whittle <<a href="mailto:cwhittl@gmail.com">cwhittl@gmail.com</a>> wrote:<br>
><br>
>> Thanks Rob for the explanation!<br>
>><br>
>> I think I have it working, I just have to test a machine and verify.<br>
>><br>
>><br>
>> On Wed, Sep 3, 2014 at 12:47 PM, Rob Crittenden <<a href="mailto:rcritten@redhat.com">rcritten@redhat.com</a>><br>
>> wrote:<br>
>><br>
>>> Chris Whittle wrote:<br>
>>>> That worked, but having issues get it to work with the OSX Directory<br>
>>>> Utility.<br>
>>>> I'm wondering if it's because when you go against the OU normally it's<br>
>>>> returning more info about the user versus what's being returned from the<br>
>>>> compat "view" I'm going to experiment with the attributes it's returning<br>
>>>> and see if that's it.<br>
>>>><br>
>>>> I'm also wondering why FreeIPA doesn't support multiple OU's natively,<br>
>>>> this would be so much easier with multiple OUs (one for my non-users and<br>
>>>> one for my users)<br>
>>><br>
>>> Because they are so very often used really, really poorly, resulting in<br>
>>> having to move entries around a lot with no real technical reason behind<br>
>>> it. Think about the number of times an IT department gets renamed, oops,<br>
>>> today they are called Global Support Services, oh no, didn't you hear,<br>
>>> now they are ... Each one requiring an entire subtree move. Where the<br>
>>> users exist in LDAP does not generally need to reflect the<br>
>>> organizational structure.<br>
>>><br>
>>> Your case is a bit different from most, where you want to host two<br>
>>> completely separate kinds of users.<br>
>>><br>
>>> rob<br>
>>><br>
>>>><br>
>>>><br>
>>>> On Wed, Sep 3, 2014 at 9:10 AM, Martin Kosek <<a href="mailto:mkosek@redhat.com">mkosek@redhat.com</a><br>
>>>> <mailto:<a href="mailto:mkosek@redhat.com">mkosek@redhat.com</a>>> wrote:<br>
>>>><br>
>>>>     On 09/03/2014 03:08 PM, Rob Crittenden wrote:<br>
>>>>     > Martin Kosek wrote:<br>
>>>>     >> On 09/03/2014 09:02 AM, Martin Kosek wrote:<br>
>>>>     >>> In the meantime, you can use the workaround that Rob sent, you<br>
>>>>     would just need<br>
>>>>     >>> to delete it again when the fix is in, so that the permissions<br>
>>>>     do not step on<br>
>>>>     >>> each other.<br>
>>>>     >><br>
>>>>     >> Actually, wait a minute. I think Rob's ACI example may be too<br>
>>>>     wide, it may<br>
>>>>     >> expose any attribute in the compat tree, including a potential<br>
>>>>     userPassword.<br>
>>>>     ><br>
>>>>     > The ACI was on his custom cn=canlogin subtree, not all of<br>
>>> cn=compat.<br>
>>>>     ><br>
>>>>     >> As I see, it seems that slapi-nis plugin do not fortunately<br>
>>>>     expose that, but it<br>
>>>>     >> is safer to just list the attributes that one wants to display<br>
>>>>     (this is also<br>
>>>>     >> what we did in FreeIPA 4.0, no global wildcard allowing ACIs any<br>
>>>>     more).<br>
>>>>     >><br>
>>>>     >> I added a respective permission via Web UI (one part of it cannot<br>
>>>>     be added via<br>
>>>>     >> CLI, see <a href="https://fedorahosted.org/freeipa/ticket/4522" target="_blank">https://fedorahosted.org/freeipa/ticket/4522</a>) and<br>
>>> compat<br>
>>>>     tree now<br>
>>>>     >> works for me. See attached example.<br>
>>>>     >><br>
>>>>     >> Resulting permission shown in CLI:<br>
>>>>     >><br>
>>>>     >> # ipa permission-show "TEMPORARY - Read compat tree"<br>
>>>>     >>   Permission name: TEMPORARY - Read compat tree<br>
>>>>     >>   Granted rights: read, search, compare<br>
>>>>     >>   Effective attributes: cn, description, gecos, gidnumber,<br>
>>>>     homedirectory,<br>
>>>>     >> loginshell, memberuid,<br>
>>>>     >>                         objectclass, uid, uidnumber<br>
>>>>     >>   Bind rule type: all<br>
>>>>     >>   Subtree: dc=mkosek-fedora20,dc=test<br>
>>>>     >>   ACI target DN: cn=compat,dc=mkosek-fedora20,dc=test<br>
>>>>     >><br>
>>>>     >> It is much easier to manipulate than ACI added via ldapmodify.<br>
>>>>     ><br>
>>>>     > I see you filed a bug on the missing CLI option. That's why I did<br>
>>> the<br>
>>>>     > ACI, because I couldn't demonstrate how to add this ACI on the<br>
>>> CLI. I<br>
>>>>     > hadn't gotten around to doing that last night.<br>
>>>>     ><br>
>>>>     > rob<br>
>>>><br>
>>>>     Right. Surprisingly, the option was available in Web UI, thus the<br>
>>> Web UI<br>
>>>>     screenshot I attached to the thread :) But we have the CLI option<br>
>>> fixed<br>
>>>>     already, will be part of FreeIPA 4.0.2 which will be released very<br>
>>> soon.<br>
>>>><br>
>>>>     Martin<br>
>>>><br>
>>>><br>
>>><br>
>>><br>
>><br>
><br>
<br>
</div></div></blockquote></div><br></div>