session optional /lib/security/pam_oddjob_mkhomedir.so
The pam_oddjob_mkhomedir.so module checks if the user's home directory exists, and if it does not, it invokes the mkhomedirfor method of the com.redhat.oddjob_mkhomedir service for the PAM_USER if the module is running with superuser privileges. Otherwise, it invokes the mkmyhomedir method.
The location of the skeleton directory and the default umask are determined by the values of HOME_MODE or UMASK (as a fallback) variables in /etc/login.defs, so they can not be specified as arguments to this module.
If D-Bus has not been configured to allow the calling application to invoke these methods provided as part of the com.redhat.oddjob_mkhomedir interface of the / object provided by the com.redhat.oddjob_mkhomedir service, then oddjobd will not receive the request and an error will be returned by D-Bus.
If oddjobd has not been configured to provide these methods, or the user is not authorized to use them, then oddjobd will ignore the module's requests.
The module takes no options. What oddjobd does in response to the module's request is controlled by the daemon's configuration file, typically /etc/oddjobd.conf.d/oddjobd-mkhomedir.conf.
oddjob_request(1) oddjob.conf(5) oddjobd.conf(5) oddjobd(8)