Pass LDAP password filename instead of password itself in *user scripts

This ensures the LDAP password doesn't show up in process table. I was an idiot when I wrote the original code.
This commit is contained in:
Anthony Wang 2023-06-14 18:56:53 +00:00
parent 8934c273ba
commit f66983313f
Signed by: a
GPG key ID: 42A5B952E6DD8D38
3 changed files with 3 additions and 5 deletions

View file

@ -58,8 +58,7 @@ gidNumber: {uid}'''
f.write(ldif) f.write(ldif)
# Add user # Add user
ret = call(['ldapadd', '-D', 'cn=Manager,dc=exozy,dc=me', '-w', ret = call(['ldapadd', '-D', 'cn=Manager,dc=exozy,dc=me', '-y', '/etc/ldappass', '-f', filename])
open('/etc/ldappass', 'r').read(), '-f', filename])
if ret != 0: if ret != 0:
return return
remove(filename) remove(filename)

View file

@ -10,7 +10,7 @@ def deluser(username):
"""Delete a user""" """Delete a user"""
# Delete from LDAP server # Delete from LDAP server
run(['ldapdelete', '-w', open('/etc/ldappass', 'r').read(), '-D', 'cn=Manager,dc=exozy,dc=me', run(['ldapdelete', '-y', '/etc/ldappass', '-D', 'cn=Manager,dc=exozy,dc=me',
'uid=' + username + ',ou=People,dc=exozy,dc=me', 'cn=' + username + ',ou=Group,dc=exozy,dc=me']) 'uid=' + username + ',ou=People,dc=exozy,dc=me', 'cn=' + username + ',ou=Group,dc=exozy,dc=me'])
# Cleanup # Cleanup

View file

@ -15,8 +15,7 @@ def moduser(username):
environ['EDITOR'] = 'micro' environ['EDITOR'] = 'micro'
if username == 'Manager': if username == 'Manager':
run(['ldapvi', '-w', open('/etc/ldappass', 'r').read(), run(['ldapvi', '-y', '/etc/ldappass', '--user', 'cn=Manager,dc=exozy,dc=me'])
'--user', 'cn=Manager,dc=exozy,dc=me'])
else: else:
dn = 'uid=' + username + ',ou=People,dc=exozy,dc=me' dn = 'uid=' + username + ',ou=People,dc=exozy,dc=me'
run(['ldapvi', '--user', dn, '--base', dn]) run(['ldapvi', '--user', dn, '--base', dn])