|int rc=auth_mkhomedir(struct authinfo *auth);|
A callback_func thats passed as a parameter to [blue]auth_getuserinfo(3) can invoke this function to automatically create a new accounts 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 accounts 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 accounts home directory.
If AUTH_MKHOMEDIR_SKEL is not set, or if the home directory exists, auth_mkhomedir() does nothing and returns 0. Otherwise the accounts 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 accounts userid and groupid.
auth_mkhomedir() returns a non-zero value if an error occured while creating the new accounts home directory. auth_mkhomedir() returns zero if the new accounts home directory was created successfully, or if the accounts home directory already exists.
1. auth_getuserinfo(3) http://www.courier-mta.org/authlib/auth_getuserinfo.html 2. authlib(3) http://www.courier-mta.org/authlib/authlib.html
|Double Precision, Inc.||AUTH_MKHOMEDIR (3)||06/20/2015|