Don't reuse UIDs, use max(uids)+1 in adduser

This commit is contained in:
Anthony Wang 2024-02-26 18:01:28 +00:00
parent 9acc13c1cb
commit b2a0acfdcd
Signed by: a
SSH key fingerprint: SHA256:B5ADfMCqd2M7d/jtXDoihAV/yfXOAbWWri9+GdCN4hQ

View file

@ -13,8 +13,7 @@ def adduser(username, firstname, lastname, email, pubkey, password):
# Get UID
output = check_output(['ldapsearch', '-x', 'uidNumber']).decode('utf-8')
used = {int(line.split()[1]) for line in output.split('\n') if line.startswith('uid')}
uid = next(u for u in range(1001, 10000) if u not in used)
uid = max(int(line.split()[1]) for line in output.split('\n') if line.startswith('uid')) + 1
if firstname == lastname:
fullname = firstname