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)
# Add user
ret = call(['ldapadd', '-D', 'cn=Manager,dc=exozy,dc=me', '-w',
open('/etc/ldappass', 'r').read(), '-f', filename])
ret = call(['ldapadd', '-D', 'cn=Manager,dc=exozy,dc=me', '-y', '/etc/ldappass', '-f', filename])
if ret != 0:
return
remove(filename)

View file

@ -10,7 +10,7 @@ def deluser(username):
"""Delete a user"""
# 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'])
# Cleanup

View file

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