pam_oddjob_mkhomedir(8)
β¨ pam_oddjob_mkhomedir(8) β¨
okay bestie, pull up a chair, because we're talking about pam_oddjob_mkhomedir β that's a section 8 manual page from the System Manager's Manual, and yes she's iconic π
πΈ NAME πΈ
pam_oddjob_mkhomedir.so β a PAM module that creates users' home directories via oddjob. literally her whole job. no notes. π«Ά
π SYNOPSIS π
session optional /lib/security/pam_oddjob_mkhomedir.so
that's it. that's the whole vibe. one line. main character energy fr fr β¨
π DESCRIPTION π
so here's the tea, bestie π
pam_oddjob_mkhomedir.so checks if the user's home directory exists. and if it does not? she springs into action. she invokes the mkhomedirfor method of the com.redhat.oddjob_mkhomedir service for the PAM_USER β but only if the module is running with superuser privileges π
if she is not running with superuser privileges? no worries, she just invokes the mkmyhomedir method instead. different method, same mission π§
now, important detail, don't skip this part: the location of the skeleton directory and the default umask are determined by the values of the HOME_MODE or UMASK variables (with UMASK as the fallback) in /etc/login.defs. so those can not be specified as arguments to this module. she said read /etc/login.defs and mind your business π
and if D-Bus has not been configured to allow the calling application to invoke these methods β the ones 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. π yeah. that's a whole thing.
and 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. ghosted. blocked. unbothered. π
lowkey the theme here is: this module asks very politely, and whether anything actually happens is entirely up to D-Bus and oddjobd. she's the messenger, not the manager. π
π OPTIONS π
the module takes no options. that's right β zero. none. absolutely none. π
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. so if you want to change the behaviour, that's where you go. not here. never here. π¦
β SEE ALSO β
go read these next, bestie, they're the supporting cast:
and that's the whole page, no cap π
this was the oddjob Manual, dated 29 May 2008 β yeah she's vintage, she's a classic, she's serving archival realness ππ periodt β¨
π¦ where this page comes from
- centos-stream 10: oddjob-mkhomedir 0.34.7-14.el10 Β· BSD-3-Clause
- centos-stream 9: oddjob-mkhomedir 0.34.7-7.el9 Β· BSD
- debian bookworm: oddjob-mkhomedir 0.34.7-1+b2 Β· BSD-3-Clause
- debian trixie: oddjob-mkhomedir 0.34.7-2.1 Β· BSD-3-Clause
- fedora 43: oddjob-mkhomedir 0.34.7-17.fc43 Β· BSD-3-Clause
- fedora 44: oddjob-mkhomedir 0.34.7-18.fc44 Β· BSD-3-Clause
- opensuse-leap 16.0: oddjob-mkhomedir 0.34.7-bp160.1.13 Β· BSD-3-Clause
- opensuse-leap 16.0: oddjob-mkhomedir 0.34.7-bp160.1.13 Β· BSD-3-Clause
- opensuse-leap 16.0: oddjob-mkhomedir 0.34.7-bp160.1.13 Β· BSD-3-Clause
- opensuse-leap 16.0: oddjob-mkhomedir 0.34.7-bp160.1.13 Β· BSD-3-Clause
- ubuntu noble: oddjob-mkhomedir 0.34.7-2 Β· BSD-3-Clause
- ubuntu questing: oddjob-mkhomedir 0.34.7-2.1build1
- ubuntu resolute: oddjob-mkhomedir 0.34.7-2.1build2 Β· BSD-3-Clause
- ubuntu stonking: oddjob-mkhomedir 0.34.7-2.1build2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms