auth_mkhomedir(3)

auth_mkhomedir3

Autocreate a new account's home directory

Usage

#include <courierauth.h>

int rc=auth_mkhomedir(struct authinfo *auth);

Overview

A callback_func that's passed as a parameter to auth_getuserinfo_meta(3)[1] 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.

Returns

auth_mkhomedir() returns a non-zero value if an error occured while creating the new account's home directory. auth_mkhomedir() returns zero if the new account's home directory was created successfully, or if the account's home directory already exists.

Notes

1.

auth_getuserinfo_meta(3)

http://www.courier-mta.org/authlib/auth_getuserinfo.html

2.

authlib(3)

http://www.courier-mta.org/authlib/authlib.html

Releases

5 releases since Debian 9 (Stretch); the text changed 2 times.

  1. 9
  2. 10
  3. 11–13

From courier-authlib-dev 0.72.4-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.