Rewrite adduser in Python
This commit is contained in:
parent
a79cadb244
commit
600d26af2b
1 changed files with 68 additions and 2 deletions
70
adduser
Normal file → Executable file
70
adduser
Normal file → Executable file
|
@ -1,2 +1,68 @@
|
|||
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo --user
|
||||
xdg-settings set default-web-browser firefox.desktop
|
||||
#!/usr/bin/python3
|
||||
|
||||
import os
|
||||
|
||||
|
||||
# Get user details
|
||||
username = input('Enter username: ')
|
||||
firstname = input('Enter first name: ')
|
||||
lastname = input('Enter last name: ')
|
||||
email = input('Enter email: ')
|
||||
uid = input('Enter UID: ')
|
||||
|
||||
|
||||
# Construct LDIF
|
||||
ldif = '''dn: uid={username},ou=People,dc=exozy,dc=me
|
||||
objectClass: top
|
||||
objectClass: person
|
||||
objectClass: organizationalPerson
|
||||
objectClass: inetOrgPerson
|
||||
objectClass: posixAccount
|
||||
objectClass: shadowAccount
|
||||
uid: {username}
|
||||
cn: {firstname} {lastname}
|
||||
sn: {lastname}
|
||||
givenName: {firstname}
|
||||
userPassword: {{SSHA}}W1G/TLMU5n5t6n3HQiJ7fkgjrqKnVNqj
|
||||
mail: {email}
|
||||
loginShell: /bin/bash
|
||||
uidNumber: {uid}
|
||||
gidNumber: {uid}
|
||||
homeDirectory: /home/{username}
|
||||
|
||||
dn: cn={username},ou=Group,dc=exozy,dc=me
|
||||
objectClass: top
|
||||
objectClass: posixGroup
|
||||
cn: {username}
|
||||
gidNumber: {uid}'''.format(username=username,
|
||||
firstname=firstname,
|
||||
lastname=lastname,
|
||||
email=email,
|
||||
uid=uid)
|
||||
|
||||
|
||||
# Write to file and get confirmation
|
||||
filename = username + '.ldif'
|
||||
with open(filename, 'w') as f:
|
||||
f.write(ldif)
|
||||
|
||||
os.system('vim ' + filename)
|
||||
confirm = input('OK? (y/n) ')
|
||||
|
||||
if confirm != 'y':
|
||||
exit(0)
|
||||
|
||||
|
||||
# Add user
|
||||
os.system('ldapadd -D "cn=Manager,dc=exozy,dc=me" -W -f ' + filename)
|
||||
|
||||
# Configure user
|
||||
os.system('sudo -u ' + username + ' flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo --user')
|
||||
os.system('sudo -u ' + username + ' xdg-settings set default-web-browser firefox.desktop')
|
||||
|
||||
# Set up rootless Podman
|
||||
# https://wiki.archlinux.org/title/Podman#Set_subuid_and_subgid
|
||||
start = str((uid - 999) * 100000)
|
||||
end = str(int(start) + 65536) # Allocate 65536 UIDs
|
||||
os.system('sudo usermod --add-subuids ' + start + '-' + end + ' --add-subgids ' + start + '-' + end)
|
||||
|
||||
|
|
Loading…
Reference in a new issue