def groupadd(force, gid, key, non_unique, password, system, config, group): if not gid or force: gid = find_new_gid(sysuser=system) else: try: if not non_unique and grp.getgrgid(gid): print("Error: GID already taken") exit(1) except KeyError: pass try: if grp.getgrnam(group): if force: exit(0) print("Error: Group name already taken") exit(1) except KeyError: pass conf = get_config(config) defs = get_defs() for k, v in key: defs[k] = v dbs = connect_db(conf) gm = GroupManager(conf, dbs) gm.addgroup(group, gid, password) dbs.commit() dbs.close()
def groupadd(force, gid, key, non_unique, password, system, config, group): if not gid or force: gid = find_new_gid(sysuser=system) else: try: if not non_unique and grp.getgrgid(gid): print("Error: GID already taken") exit(1) except KeyError: pass try: if grp.getgrnam(group): if force: exit(0) print("Error: Group name already taken") exit(1) except KeyError: pass conf = get_config(config) defs = get_defs() for k, v in key: defs[k] = v dbs = connect_db(conf) gm = GroupManager(conf, dbs) gm.addgroup(group, gid, password) dbs.commit() dbs.close()
def importgroups(ignore_password, config, lower, upper): conf = get_config(config) groups = {} with open('/etc/group') as group: for line in group: line = line.strip() g = line.split(':') if lower <= int(g[2]) <= upper: for i in range(len(g)): if not g[i].strip(): g[i] = None groups[g[0]] = g dbs = connect_db(conf) gm = GroupManager(conf, dbs) glm = GroupListManager(conf, dbs) with open('/etc/gshadow') as gshadow: for line in gshadow: line.strip() gs = line.split(':') if gs[0] in list(groups.keys()): for i in range(len(gs)): if not gs[i].strip(): gs[i] = None g = groups[gs[0]] if ignore_password: gs[1] = '!' gm.addgroup(g[0], gid=g[2], password=gs[1]) if g[3]: for user in g[3].split(','): glm.addgroupuser(username=user, gid=g[2]) dbs.commit() dbs.close()
def importgroups(ignore_password, config, lower, upper): conf = get_config(config) groups = {} with open("/etc/group") as group: for line in group: line = line.strip() g = line.split(":") if lower <= int(g[2]) <= upper: for i in range(len(g)): if not g[i].strip(): g[i] = None groups[g[0]] = g dbs = connect_db(conf) gm = GroupManager(conf, dbs) glm = GroupListManager(conf, dbs) with open("/etc/gshadow") as gshadow: for line in gshadow: line.strip() gs = line.split(":") if gs[0] in groups.keys(): for i in range(len(gs)): if not gs[i].strip(): gs[i] = None g = groups[gs[0]] if ignore_password: gs[1] = "!" gm.addgroup(g[0], gid=g[2], password=gs[1]) if g[3]: for user in g[3].split(","): glm.addgroupuser(username=user, gid=g[2]) dbs.commit() dbs.close()