progfiguration.localhost.localusers#

Local user and group management

Module Contents#

Classes#

class progfiguration.localhost.localusers.GetentUserResult#
name: str#
passwd: str#
uid: int#
gid: int#
gecos: str#
homedir: pathlib.Path#
shell: str#
class progfiguration.localhost.localusers.LocalhostUsers(localhost)#
add_service_account(username, primary_group, uid=None, primary_gid=None, groups=None, home=True, shell='/sbin/nologin') GetentUserResult#

Create a system user without a password and a primary group for it

home: If True, create a homedir at the default location

If False, do not create a homedir If a string, treat it as a path to the homedir to be created

WARNING: Most arguments are not idempotent; if the user already exists, this will not change any of its attributes. However, it will add the user to any groups specified in the groups argument.

add_group(groupname, gid=None, system=False)#

Add a group

add_user_to_group(username, groupname)#

Add a user to a group

This is an idempotent operation with the adduser command

user_exists(username)#

Check if a user exists

group_exists(groupname)#

Check if a group exists

getent_user(user)#

Get the home directory of a user