auth_mkhomedir — Autocreate a new account's home directory
#include <courierauth.h>
int rc=auth_mkhomedir( | struct authinfo *auth) ; |
A callback_func
that's passed as a parameter
to
auth_getuserinfo(3)
can invoke this function to automatically create a new account's
home directory, if the authlib client is running as root, forwarding
the authinfo
pointer from the callback.
auth_mkhomedir
() checks if the
AUTH_MKHOMEDIR_SKEL
environment variable is set, and
if the authenticated account's home directory does not exist.
If the environment variable is set it must point to a directory like
/etc/skel
that contains a template for the
contents of a new account's home directory.
If AUTH_MKHOMEDIR_SKEL
is not set, or if the home
directory exists,
auth_mkhomedir
() does nothing and returns 0.
Otherwise the account's home directory gets created, and
the contents of the AUTH_MKHOMEDIR_SKEL
directory get recursively copied into the new home directory.
The permissions of AUTH_MKHOMEDIR_SKEL
and its contents
are preserved, and the owner userid and groupid is set to the
authenticated account's userid and groupid.