Move ldappass and secret code to its own file and cleanup
This commit is contained in:
parent
0096bc4df5
commit
e763317fff
3
adduser
3
adduser
|
@ -4,5 +4,4 @@ from sys import argv
|
|||
from adduser import adduser
|
||||
|
||||
|
||||
username, firstname, lastname, email, password = [argv[i] for i in range(1, 6)]
|
||||
adduser(username, firstname, lastname, email, password)
|
||||
adduser(*[argv[i] for i in range(1, 6)])
|
||||
|
|
12
adduser.py
12
adduser.py
|
@ -1,6 +1,7 @@
|
|||
from os import rename, remove, chown
|
||||
from subprocess import run, call, check_output
|
||||
from crypt import crypt
|
||||
from ldappass import ldappass
|
||||
|
||||
|
||||
def configure(username):
|
||||
|
@ -51,7 +52,7 @@ gidNumber: {uid}'''.format(username=username,
|
|||
lastname=lastname,
|
||||
email=email,
|
||||
uid=uid,
|
||||
hashedpassword=crypt(password))
|
||||
hashedpassword=crypt(password))
|
||||
|
||||
# Write to file
|
||||
filename = username + '.ldif'
|
||||
|
@ -59,13 +60,8 @@ gidNumber: {uid}'''.format(username=username,
|
|||
f.write(ldif)
|
||||
|
||||
# Add user
|
||||
if ldap_pass is None:
|
||||
run(['vim', filename])
|
||||
ret = call(['ldapadd', '-D', 'cn=Manager,dc=exozy,dc=me',
|
||||
'-W', '-f', filename])
|
||||
else:
|
||||
ret = call(['ldapadd', '-D', 'cn=Manager,dc=exozy,dc=me',
|
||||
'-w', ldap_pass, '-f', filename])
|
||||
ret = call(['ldapadd', '-D', 'cn=Manager,dc=exozy,dc=me',
|
||||
'-w', ldap_pass, '-f', filename])
|
||||
if ret != 0:
|
||||
remove(filename)
|
||||
return
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
def ldappass():
|
||||
return open('/etc/ldappass', 'r').read()[:-1]
|
||||
return open('/etc/ldappass', 'r').read().split()[0]
|
||||
|
||||
def code():
|
||||
return open('/etc/ldappass', 'r').read().split()[1]
|
||||
|
|
8
srvuser
8
srvuser
|
@ -5,12 +5,6 @@ from http.server import HTTPServer
|
|||
from srvuser import srvuser
|
||||
|
||||
|
||||
if len(argv) == 1:
|
||||
code = input('Registration code: ')
|
||||
ldap_pass = input('LDAP password: ')
|
||||
else:
|
||||
code, ldap_pass = open(argv[1], 'r').read().split()
|
||||
|
||||
# Create and run server
|
||||
httpd = HTTPServer(('localhost', 1337), srvuser(code, ldap_pass))
|
||||
httpd = HTTPServer(('localhost', 1337), srvuser)
|
||||
httpd.serve_forever()
|
||||
|
|
|
@ -2,17 +2,12 @@ from subprocess import run, check_output
|
|||
from json import loads
|
||||
from http.server import BaseHTTPRequestHandler
|
||||
from adduser import adduser
|
||||
from ldappass import code
|
||||
|
||||
|
||||
class srvuser(BaseHTTPRequestHandler):
|
||||
"""User management HTTP server"""
|
||||
|
||||
def __init__(self, code, ldap_pass):
|
||||
"""Set parameters"""
|
||||
|
||||
self.code = code
|
||||
self.ldap_pass = ldap_pass
|
||||
|
||||
def do_POST(self):
|
||||
"""Handle registration POST requests"""
|
||||
|
||||
|
@ -21,7 +16,7 @@ class srvuser(BaseHTTPRequestHandler):
|
|||
# Print data
|
||||
print([data[key] for key in data.keys() if key != 'password'])
|
||||
|
||||
if data['code'] != code:
|
||||
if data['code'] != code():
|
||||
print('Incorrect code')
|
||||
return
|
||||
if not all(c.isdigit() or c.islower()
|
||||
|
|
Loading…
Reference in a new issue