2022-01-06 00:34:40 +00:00
|
|
|
#!/usr/bin/python
|
2021-08-19 22:41:35 +00:00
|
|
|
|
2022-06-26 00:13:57 +00:00
|
|
|
# A wrapper script over ldapvi
|
|
|
|
# Requires http://www.lichteblau.com/ldapvi/
|
|
|
|
|
2023-06-16 16:37:18 +00:00
|
|
|
from getpass import getuser
|
2022-06-27 19:49:16 +00:00
|
|
|
from os import environ
|
2022-06-25 23:08:57 +00:00
|
|
|
from subprocess import run
|
2022-06-26 00:23:12 +00:00
|
|
|
from sys import argv
|
2022-06-25 23:08:57 +00:00
|
|
|
|
|
|
|
|
|
|
|
def moduser(username):
|
|
|
|
"""Modify an existing user"""
|
|
|
|
|
2022-06-27 19:49:16 +00:00
|
|
|
if 'EDITOR' not in environ:
|
|
|
|
environ['EDITOR'] = 'micro'
|
|
|
|
|
2023-06-16 16:37:18 +00:00
|
|
|
if username == 'root':
|
2023-07-13 20:09:48 +00:00
|
|
|
run(['ldapvi', '-y', '/etc/ldappass', '-D', 'cn=Manager,dc=exozy,dc=me'])
|
2022-06-25 23:08:57 +00:00
|
|
|
else:
|
2022-06-27 19:49:16 +00:00
|
|
|
dn = 'uid=' + username + ',ou=People,dc=exozy,dc=me'
|
2023-07-13 20:09:48 +00:00
|
|
|
run(['ldapvi', '-D', dn, '--base', dn])
|
2021-08-19 22:41:35 +00:00
|
|
|
|
2023-06-16 16:37:18 +00:00
|
|
|
if len(argv) > 1:
|
|
|
|
moduser(argv[1])
|
|
|
|
else:
|
|
|
|
moduser(getuser())
|