"""System related functions.""" import grp import pwd import sys from . import utils def create_user(name, home=None): """Create a new system user.""" try: pwd.getpwnam(name) except KeyError: pass else: return cmd = "useradd -m " if home: cmd += "-d {} ".format(home) utils.exec_cmd("{} {}".format(cmd, name)) if home: utils.exec_cmd("chmod 755 {}".format(home)) def add_user_to_group(user, group): """Add system user to group.""" try: pwd.getpwnam(user) except KeyError: print("User {} does not exist".format(user)) sys.exit(1) try: grp.getgrnam(group) except KeyError: print("Group {} does not exist".format(group)) sys.exit(1) utils.exec_cmd("usermod -a -G {} {}".format(group, user)) def enable_service(name): """Enable a service at startup.""" utils.exec_cmd("systemctl enable {}".format(name))