Courier-Authlib | | | Home | | | Release notes | | | Installation | | | Documentation |
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_meta(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.