[CentOS] LDAP create home directories

Tim Dunphy bluethundr at gmail.com
Sat Dec 19 22:05:48 UTC 2015


>
> Check /var/log/secure for why the directory is not able to be created.
> Might be selinux, is that enabled? (sestatus)


Good catch! It was indeed SELinux preventing the directory from being
created. Disabling it allows that to happen. For instance I just created a
new test user in LDAP:

 #ssh odunphy at ops2.example.com

odunphy at ops2.example.com's password:

Creating directory '/home/odunphy'.


     _ _____    ___            ____

    | |  ___|  / _ \ _ __  ___|___ \

 _  | | |_    | | | | '_ \/ __| __) |

| |_| |  _|   | |_| | |_) \__ \/ __/

 \___/|_|      \___/| .__/|___/_____|

                    |_|
[odunphy at ops2 ~]$


And it works fine! :) Turns out the host that had directory creation
working properly before had SELinux disabled.

When I look at the audit log this is what I found:

type=AVC msg=audit(1450562436.438:2148162): avc:  denied  { entrypoint }
for  pid=17881 comm="sshd" path="/usr/sbin/mkhomedir_helper" dev="vda1"
ino=1048040 scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
tcontext=system_u:object_r:oddjob_mkhomedir_exec_t:s0 tclass=file

        Was caused by:
                Missing type enforcement (TE) allow rule.

                You can use audit2allow to generate a loadable module to
allow this access.


So I just created the selinux module file and installed it:

[root at ops2:~] #grep ssh /var/log/audit/audit.log | audit2allow -M ssh-mkdir
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i ssh-mkdir.pp

[root at ops2:~] #semodule -i ssh-mkdir.pp

And all is well with the world. Directories are created on login with LDAP
now.

#ssh odunphy at ops2.example.com

odunphy at ops2.example.com's password:

Creating directory '/home/odunphy'.

Last login: Sat Dec 19 17:00:36 2015 from ool-4571a4a2.dyn.optonline.net


     _ _____    ___            ____

    | |  ___|  / _ \ _ __  ___|___ \

 _  | | |_    | | | | '_ \/ __| __) |

| |_| |  _|   | |_| | |_) \__ \/ __/

 \___/|_|      \___/| .__/|___/_____|

                    |_|

[odunphy at ops2 ~]$


Thanks for your help!

Tim

On Sat, Dec 19, 2015 at 4:49 PM, Bill Howe <howe.bill at gmail.com> wrote:

> Check /var/log/secure for why the directory is not able to be created.
>
> Might be selinux, is that enabled? (sestatus)
> On Dec 19, 2015 15:40, "Tim Dunphy" <bluethundr at gmail.com> wrote:
>
> > >
> > > You may also need to restart sssd or nslcd, depending upon which one is
> > > running the backed ldap connection service on the clients.
> >
> >
> > Hmm.. I got a different result after restarting nclcd. Instead of logging
> > me in and just complaining that it couldn't create the home directory, it
> > still complains about not creating the home directory, but now it doesn't
> > let me in:
> >
> > #ssh tdunphy at ops2.example.com
> >
> > tdunphy at ops2.example.com's password:
> >
> > Creating directory '/home/tdunphy'.
> >
> > Unable to create and initialize directory '/home/tdunphy'.
> >
> > Last login: Sat Dec 19 15:29:54 2015
> >
> >
> >      _ _____    ___            ____
> >
> >     | |  ___|  / _ \ _ __  ___|___ \
> >
> >  _  | | |_    | | | | '_ \/ __| __) |
> >
> > | |_| |  _|   | |_| | |_) \__ \/ __/
> >
> >  \___/|_|      \___/| .__/|___/_____|
> >
> >                     |_|
> > Connection to ops2.example.com closed.
> >
> >  I think I preferred it when it would let me in and complain!! LOL
> >
> > I can still get in with my non-LDAP admin account fortunately.
> >
> > Ok, any other thoughts?
> >
> > Thanks,
> > Tim
> >
> > On Sat, Dec 19, 2015 at 4:34 PM, Bill Howe <howe.bill at gmail.com> wrote:
> >
> > > You may also need to restart sssd or nslcd, depending upon which one is
> > > running the backed ldap connection service on the clients.
> > > On Dec 19, 2015 14:25, "Tim Dunphy" <bluethundr at gmail.com> wrote:
> > >
> > > > Hey guys,
> > > >
> > > >  I've setup an LDAP server on our network. I'm using OpenLDAP.
> > > >
> > > >  It was really easy to use the authconfig-tui to generate the
> > > nsswitch.conf
> > > > and ldap.conf files that would allow user authentication.
> > > >
> > > >  But when users would log in, the system wasn't creating the home
> > > > directories.
> > > >
> > > >  I found one command that would correct that:
> > > >
> > > >  authconfig --enablemkhomedir --update
> > > >
> > > > After that logging in with an LDAP user to that machine would create
> > the
> > > > home directories.
> > > >
> > > > But that only worked on the first machine. Running the command on
> other
> > > > machines would have no effect. Which is odd. You would think it would
> > be
> > > > consistent.
> > > >
> > > > Even after copying over the entire contents of /etc/pam.d from the
> > > working
> > > > machine to the non-working machine and making sure that the
> non-working
> > > > machine had the same /etc/nsswitch.conf /etc/openldap/ldap.conf as
> the
> > > one
> > > > that worked. It still doesn't create the home directories when LDAP
> > users
> > > > log in.
> > > >
> > > > The non-working machine also has the required librariy file:
> > > >
> > > > -rwxr-xr-x. 1 root root 11176 Aug 18 10:56
> > > > /usr/lib64/security/pam_mkhomedir.so
> > > >
> > > > So how can I fix this? How can I get the system to create home
> > > directories
> > > > for LDAP users automatically?
> > > >
> > > > Thanks,
> > > > Tim
> > > >
> > > >
> > > >
> > > > --
> > > > GPG me!!
> > > >
> > > > gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
> > > > _______________________________________________
> > > > CentOS mailing list
> > > > CentOS at centos.org
> > > > https://lists.centos.org/mailman/listinfo/centos
> > > >
> > > _______________________________________________
> > > CentOS mailing list
> > > CentOS at centos.org
> > > https://lists.centos.org/mailman/listinfo/centos
> > >
> >
> >
> >
> > --
> > GPG me!!
> >
> > gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
> > _______________________________________________
> > CentOS mailing list
> > CentOS at centos.org
> > https://lists.centos.org/mailman/listinfo/centos
> >
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> https://lists.centos.org/mailman/listinfo/centos
>



-- 
GPG me!!

gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B



More information about the CentOS mailing list