Management of local users and groups (i.e. those in /etc/passwd
and /etc/group
) is done using the LCFG auth component. One feature that has always been lacking is the ability to create a home directory where necessary and populate it from a skeleton directory (typically this is /etc/skel
). The result of this feature being missing is that it is necessary to add a whole bunch of additional file component resources to create the home directory and that still doesn’t provide support for a skeleton directory.
Recently I needed something along those lines so I’ve taken the chance to add a couple of new resources – create_home_$
and skel_dir_$
. When the create_home
resource is set to true for a user the home directory will be created by the component and the permissions set appropriately. By default the directory will be populated from /etc/skel
but it could be anything. This means it is now possible to setup a machine with a set of identically initialised local users.
For example:
auth.pw_name_cephadmin cephadmin auth.pw_uid_cephadmin 755 auth.pw_gid_cephadmin 755 auth.pw_gecos_cephadmin Ceph Admin User auth.pw_dir_cephadmin /var/lib/cephadmin auth.pw_shell_cephadmin /bin/bash auth.create_home_cephadmin yes /* Ensure home directory exists */ auth.gr_name_cephadmin cephadmin auth.gr_gid_cephadmin 755