[Freeipa-users] Ubuntu Samba Server Auth against IPA
Youenn PIOLET
piolet.y at gmail.com
Thu Aug 6 10:23:05 UTC 2015
Hey guys,
I'll try to make a tutorial soon, sorry I'm quite in a rush these days :)
General idea:
On FreeIPA (4.1)
- `ipa-adtrust-install --add-sids` (creates ipaNTsecurityidentifier
attribude, also known as SID)
- regenerate each user password to build ipaNTHash attribute, not here by
default on users
- use your ldap browser to check ipaNTHash values are here on user objects
- create a CIFS service for your samba server
- Create user roles/permissions as described here:
http://freeipa-users.redhat.narkive.com/ez2uKpFS/authenticate-samba-3-or-4-with-freeipa
so
that CIFS service will be able to read ipaNTsecurityidentifier and
ipaNTHash attributes in LDAP (ACI)
- SCP ipasam.so module to your cifs server (this is the magic trick) : scp
/usr/lib64/samba/pdb/ipasam.so root at samba-server.domain:/usr/lib64/samba/pdb/
You can also try to recompile it.
On SAMBA Server side (CentOS 7...)
- Install server keytab file for CIFS
- check ipasam.so is here.
- check you can read password hash in LDAP with `ldapsearch -Y GSSAPI
uid=admin ipaNTHash` thanks to kerberos
- make your smb.conf following the linked thread and restart service
I don't know if it works in Ubuntu. I know sssd has evolved quickly and
ipasam may use quite recent functionalities, the best is to just try. You
can read in previous thread : "If you insist on Ubuntu you need to get
ipasam somewhere, most likely to compile it yourself".
Make sure your user has ipaNTHash attribute :)
You may want to debug authentication on samba server, I usually do this:
`tail -f /var/log/samba/log* | grep <username>
Cheers
--
Youenn Piolet
piolet.y at gmail.com
2015-08-05 17:40 GMT+02:00 Matt . <yamakasi.014 at gmail.com>:
> Hi,
>
> This sounds great to me too, but a howto would help to make it more
> clear about what you have done here. The thread confuses me a little
> bit.
>
> Can you paste your commands so we can test out too and report back ?
>
> Thanks!
>
> Matt
>
> 2015-08-05 15:18 GMT+02:00 Christopher Lamb <christopher.lamb at ch.ibm.com>:
> > Hi Youenn
> >
> > Good news that you have got an integration working
> >
> > Now you have got it going, and the solution is fresh in your mind, how
> > about adding a How-to page on this solution to the FreeIPA wiki?
> >
> > Chris
> >
> >
> >
> > From: Youenn PIOLET <piolet.y at gmail.com>
> > To: "Matt ." <yamakasi.014 at gmail.com>
> > Cc: Christopher Lamb/Switzerland/IBM at IBMCH,
> > "freeipa-users at redhat.com" <freeipa-users at redhat.com>
> > Date: 05.08.2015 14:51
> > Subject: Re: [Freeipa-users] Ubuntu Samba Server Auth against IPA
> >
> >
> >
> > Hi guys,
> >
> > Thank you so much your previous answers.
> > I realised my SID were stored in ipaNTsecurityidentifier, thanks to
> > ipa-adtrust-install --add-sids
> >
> > I found an other way to configure smb here:
> >
> http://freeipa-users.redhat.narkive.com/ez2uKpFS/authenticate-samba-3-or-4-with-freeipa
> > It works perfectly.
> >
> > I'm using module ipasam.so I have manually scp to the samba server,
> > Samba is set to use kerberos + ldapsam via this ipasam module.
> > Following the instructions, I created a user role allowing service
> > principal to read ipaNTHash value from the LDAP.
> > ipaNTHash are generated each time a user changes his password.
> > Authentication works perfectly on Windows 7, 8 and 10.
> >
> > For more details, the previously linked thread is quite clear.
> >
> > Cheers
> >
> > --
> > Youenn Piolet
> > piolet.y at gmail.com
> >
> >
> > 2015-08-05 11:10 GMT+02:00 Matt . <yamakasi.014 at gmail.com>:
> > Hi Chris.
> >
> > Yes, Apache Studio did that but I was not sure why it complained it
> > was "already" there.
> >
> > I'm still getting:
> >
> > IPA Error 4205: ObjectclassViolation
> >
> > missing attribute "sambaGroupType" required by object class
> > "sambaGroupMapping"
> >
> > When adding a user.
> >
> > I also see "class" as fielname under my "Last name", this is not OK
> also.
> >
> >
> >
> > We sure need to make some howto, I think we can nail this down :)
> >
> > Thanks for the heads up!
> >
> > Matthijs
> >
> > 2015-08-05 7:51 GMT+02:00 Christopher Lamb <
> christopher.lamb at ch.ibm.com>:
> > > Hi Matt
> > >
> > > If I use Apache Directory Studio to add an attribute ipaCustomFields
> to
> > > cn=ipaConfig,cn=etc, the operation it performs is a modify, as shown
> > below:
> > >
> > > #!RESULT OK
> > > #!CONNECTION ldap://xxx-ldap2.my.silly.example.com:yyy
> > > #!DATE 2015-08-05T05:45:04.608
> > > dn: cn=ipaConfig,cn=etc,dc=my,dc=silly,dc=example,dc=com
> > > changetype: modify
> > > add: ipaCustomFields
> > > ipaCustomFields: Samba Group Type,sambagrouptype,true
> > >
> > > After that I then have a visible attribute ipaCustomFields as
> expected.
> > >
> > > When adding the attribute, the wizard offered me "ipaCustomFields" as
> > > attribute type in a drop down list.
> > >
> > > Once we get this cracked, we really must write a how-to on the
> FreeIPA
> > > Wiki.
> > >
> > > Chris
> > >
> > >
> > >
> > > From: Christopher Lamb/Switzerland/IBM at IBMCH
> > > To: "Matt ." <yamakasi.014 at gmail.com>
> > > Cc: "freeipa-users at redhat.com" <freeipa-users at redhat.com>
> > > Date: 05.08.2015 07:31
> > > Subject: Re: [Freeipa-users] Ubuntu Samba Server Auth against
> > IPA
> > > Sent by: freeipa-users-bounces at redhat.com
> > >
> > >
> > >
> > > Hi Matt
> > >
> > > I also got the same result at that step, but can see nothing in
> Apache
> > > Directory Studio.
> > >
> > > As I am using existing Samba / FreeIPA groups migrated across, they
> > > probably were migrated with all the required attributes.
> > >
> > > Looking more closely at that LDIF: I wonder should it not be:
> > >
> > > ldapmodify -Y GSSAPI <<EOF
> > > dn: cn=ipaconfig,cn=etc,dc=domain,dc=tld
> > > changetype: modify
> > > add: ipaCustomFields
> > > ipaCustomFields: "Samba Group Type,sambagrouptype,true"
> > > EOF
> > >
> > > i.e. changetype: modify, instead of changetype add ?
> > >
> > > I don't want to play around with my prod directory - I will setup an
> EL
> > 7.1
> > > VM and install FreeIPA 4.x and Samba 4.x That will allow me to play
> > around
> > > more destructively.
> > >
> > > Chris
> > >
> > >
> > >
> > >
> > >
> > > From: "Matt ." <yamakasi.014 at gmail.com>
> > > To: Christopher Lamb/Switzerland/IBM at IBMCH
> > > Cc: Youenn PIOLET <piolet.y at gmail.com>, "
> > freeipa-users at redhat.com"
> > > <freeipa-users at redhat.com>
> > > Date: 05.08.2015 01:01
> > > Subject: Re: [Freeipa-users] Ubuntu Samba Server Auth
> > against IPA
> > >
> > >
> > >
> > > Hi Chris,
> > >
> > > I'm at the right path, but my issue is that:
> > >
> > > ldapmodify -Y GSSAPI <<EOF
> > > dn: cn=ipaconfig,cn=etc,dc=domain,dc=tld
> > > changetype: add
> > > add: ipaCustomFields
> > > ipaCustomFields: "Samba Group Type,sambagrouptype,true"
> > > EOF
> > >
> > > Does say it exists, my ldap explorer doesn't show it, and when I add
> > > it manually as an attribute it still fails when I add a user on this
> > > sambagrouptype as it's needed by the other attributes
> > >
> > > So that is my issue I think so far.
> > >
> > > Any clue about that ?
> > >
> > > No problem "you don't know something or are no guru" we are all
> > > learning! :)
> > >
> > > Cheers,
> > >
> > > Matt
> > >
> > >
> > > 2015-08-04 21:22 GMT+02:00 Christopher Lamb <
> > christopher.lamb at ch.ibm.com>:
> > >> Hi Matt, Youeen
> > >>
> > >> Just to set the background properly, I did not invent this process.
> I
> > > know
> > >> only a little about FreeIPA, and almost nothing about Samba, but I
> > guess
> > > I
> > >> was lucky enough to get the integration working on a Sunday
> afternoon.
> > (I
> > >> did have an older FreeIPA 3.x / Samba 3.x installation as a
> > reference).
> > >>
> > >> It sounds like we need to step back, and look at the test user and
> > group
> > > in
> > >> the FreeIPA LDAP tree. I find using an LDAP browser makes this much
> > > easier.
> > >>
> > >> My FreeIPA / Samba Users have the following Samba extensions in
> > FreeIPA
> > >> (cn=accounts, cn=users):
> > >>
> > >> * objectClass: sambasamaccount
> > >>
> > >> * Attributes: sambaSID, sambaNTPassword, sambaPwdLastSet
> > >>
> > >> My FreeIPA / Samba Groups have the following Samba extensions in
> > FreeIPA
> > >> (cn=accounts, cn=groups):
> > >>
> > >> * objectClass: sambaGroupMapping
> > >>
> > >> * Attributes: sambaGroupType, sambaSID
> > >>
> > >> The Users must belong to one or more of the samba groups that you
> have
> > >> setup.
> > >>
> > >> If you don't have something similar to the above (which sounds like
> it
> > is
> > >> the case), then something went wrong applying the extensions. It
> would
> > be
> > >> worth testing comparing a new user / group created post adding the
> > >> extensions to a previous existing user.
> > >>
> > >> i.e.
> > >> are the extensions missing on existing users / groups?
> > >> are the extensions missing on new users / groups?
> > >>
> > >> Cheers
> > >>
> > >> Chris
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> From: Youenn PIOLET <piolet.y at gmail.com>
> > >> To: "Matt ." <yamakasi.014 at gmail.com>
> > >> Cc: Christopher Lamb/Switzerland/IBM at IBMCH,
> > >> "freeipa-users at redhat.com" <freeipa-users at redhat.com>
> > >> Date: 04.08.2015 18:56
> > >> Subject: Re: [Freeipa-users] Ubuntu Samba Server Auth against
> > IPA
> > >>
> > >>
> > >>
> > >> Hi there,
> > >>
> > >> I have difficulties to follow you at this point :)
> > >> Here is what I've done and what I've understood:
> > >>
> > >> ## SMB Side
> > >> - Testparm OK
> > >> - I've got the same NT_STATUS_NO_SUCH_USER when I try to connect.
> > >> - pdbedit -Lv output is all successfull but I can see there is a
> > filter :
> > >> (&(uid=*)(objectclass=sambaSamAccount). In LDAP, the users don't
> have
> > >> sambaSamAccount.
> > >>
> > >> ## LDAP / FreeIPA side
> > >> - Since SMB server uses LDAP, I did ipa-adtrust-install on my
> FreeIPA
> > >> server to get samba LDAP extensions.
> > >> - I can see samba classes exist in LDAP but are not used on my group
> > >> objects nor my user objects
> > >> - I have add sambaSamAccount in FreeIPA default user classes,
> > >> and sambaGroupMapping to default group classes. In that state I
> can't
> > >> create user nor groups anymore, as new samba attributes are needed
> for
> > >> instantiation.
> > >> - I have add in etc ipaCustomFields: 'Samba Group
> > > Type,sambagrouptype,true'
> > >> but I don't get what it does.
> > >> - I tried to add the samba.js plugin. It works, and adds the "local"
> > > option
> > >> when creating a group in FreeIPA, supposed to set sambagrouptype to
> 4
> > or
> > > 2
> > >> (domain). It doesn't work and tells that sambagrouptype attribute
> > doesn't
> > >> exist (but it should now I put sambaGroupType class by default...)
> > >>
> > >> ## Questions
> > >> 0) Can I ask samba not to search sambaSamAccount and use unix /
> posix
> > >> instead? I guess no.
> > >> 1) How to generate the user/group SIDs ? They are requested to add
> > >> sambaSamAccount classes.
> > >> This article doesn't seem relevant since we don't use domain
> > controller
> > >>
> > >
> >
> http://docs.fedoraproject.org/en-US/Fedora/17/html/FreeIPA_Guide/cifs.html
> >
> > >> and netgetlocalsid returns an error.
> > >> 2) How to fix samba.js plugin?
> > >> 3) I guess an equivalent of samba.js is needed for user creation,
> > where
> > > can
> > >> I find it?
> > >> 4) Is your setup working with Windows 8 / Windows 10 and not only
> > Windows
> > >> 7?
> > >>
> > >> Thanks a lot for your previous and future answers
> > >>
> > >> --
> > >> Youenn Piolet
> > >> piolet.y at gmail.com
> > >>
> > >>
> > >> 2015-08-04 17:55 GMT+02:00 Matt . <yamakasi.014 at gmail.com>:
> > >> Hi,
> > >>
> > >> Yes, log is anonymised.
> > >>
> > >> It's strange, my user doesn't have a SambaPwdLastSet, also when I
> > >> change it's password it doesn't get it in ldap.
> > >>
> > >> There must be something going wrong I guess.
> > >>
> > >> Matt
> > >>
> > >> 2015-08-04 17:45 GMT+02:00 Christopher Lamb
> > > <christopher.lamb at ch.ibm.com
> > >> >:
> > >> > Hi Matt
> > >> >
> > >> > I assume [username] is a real username, identical to that in the
> > >> FreeIPA
> > >> > cn=accounts, cn=users tree? (i.e. you anonymised the log
> extract).
> > >> >
> > >> > You user should be a member of the appropriate samba groups that
> > you
> > >> setup
> > >> > in FreeIPA.
> > >> >
> > >> > You should check that the user attribute SambaPwdLastSet is set
> to
> > a
> > >> > positive value (e.g. 1). If not you get an error in the Samba
> logs
> > -
> > > I
> > >> > would need to play around again with a test user to find out the
> > > exact
> > >> > error.
> > >> >
> > >> > I don't understand what you mean about syncing the users local,
> > but
> > > we
> > >> did
> > >> > not need to do anything like that.
> > >> >
> > >> > Chris
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > From: "Matt ." <yamakasi.014 at gmail.com>
> > >> > To: Christopher Lamb/Switzerland/IBM at IBMCH
> > >> > Cc: "freeipa-users at redhat.com" <freeipa-users at redhat.com>
> > >> > Date: 04.08.2015 15:33
> > >> > Subject: Re: [Freeipa-users] Ubuntu Samba Server Auth
> > against
> > >> IPA
> > >> >
> > >> >
> > >> >
> > >> > Hi Chris,
> > >> >
> > >> > A puppet run added another passdb backend, that was causing my
> > issue.
> > >> >
> > >> > What I still experience is:
> > >> >
> > >> >
> > >> > [2015/08/04 15:29:45.477783, 3]
> > >> > ../source3/auth/check_samsec.c:399(check_sam_security)
> > >> > check_sam_security: Couldn't find user 'username' in passdb.
> > >> > [2015/08/04 15:29:45.478026, 2]
> > >> > ../source3/auth/auth.c:288(auth_check_ntlm_password)
> > >> > check_ntlm_password: Authentication for user [username] ->
> > >> > [username] FAILED with error NT_STATUS_NO_SUCH_USER
> > >> >
> > >> >
> > >> > I also wonder if I shall still sync the users local, or is it
> > > needed ?
> > >> >
> > >> > Thanks again,
> > >> >
> > >> > Matt
> > >> >
> > >> > 2015-08-04 14:16 GMT+02:00 Christopher Lamb <
> > >> christopher.lamb at ch.ibm.com>:
> > >> >> Hi Matt
> > >> >>
> > >> >> From our smb.conf file:
> > >> >>
> > >> >> [global]
> > >> >> security = user
> > >> >> passdb backend = ldapsam:ldap://
> xxx-ldap2.my.silly.example.com
> > >> >> ldap suffix = dc=my,dc=silly,dc=example,dc=com
> > >> >> ldap admin dn = cn=Directory Manager
> > >> >>
> > >> >> So yes, we use Directory Manager, it works for us. I have not
> > tried
> > >> with
> > >> > a
> > >> >> less powerful user, but it is conceivable that a lesser user
> may
> > not
> > >> see
> > >> >> all the required attributes, resulting in "no such user"
> errors.
> > >> >>
> > >> >> Chris
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >> From: "Matt ." <yamakasi.014 at gmail.com>
> > >> >> To: Christopher Lamb/Switzerland/IBM at IBMCH
> > >> >> Cc: "freeipa-users at redhat.com" <freeipa-users at redhat.com>
> > >> >> Date: 04.08.2015 13:32
> > >> >> Subject: Re: [Freeipa-users] Ubuntu Samba Server Auth
> > against
> > >> IPA
> > >> >>
> > >> >>
> > >> >>
> > >> >> Hi Chris,
> > >> >>
> > >> >> Thanks for the heads up, indeed local is 4 I see now when I
> add a
> > >> >> group from the GUI, great thanks!
> > >> >>
> > >> >> But do you use Directory Manager as ldap admin user or some
> other
> > >> >> admin account ?
> > >> >>
> > >> >> I'm not sure id DM is needed and it should get that deep into
> > IPA.
> > >> >> Also when starting samba it cannot find "such user" as that
> > sounds
> > >> >> quite known as it has no UID.
> > >> >>
> > >> >> From your config I see you use DM, this should work ?
> > >> >>
> > >> >> Thanks!
> > >> >>
> > >> >>
> > >> >> Matt
> > >> >>
> > >> >>
> > >> >
> > >> >
> > >> >
> > >> >
> > >>
> > >> --
> > >> 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
> > >>
> > >>
> > >>
> > >
> > >
> > >
> > >
> > > --
> > > 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
> > >
> > >
> > >
> > >
> >
> > --
> > 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
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/freeipa-users/attachments/20150806/c4e97338/attachment.htm>
More information about the Freeipa-users
mailing list