diff --git a/srv/poe_manager/create_user.py b/srv/poe_manager/create_user.py new file mode 100755 index 0000000..ccba740 --- /dev/null +++ b/srv/poe_manager/create_user.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +import sqlite3 +from getpass import getpass +from flask_bcrypt import Bcrypt + +DB_PATH = "/srv/poe_manager/sqlite.db" +bcrypt = Bcrypt() + +def main(): + username = input("Benutzername: ") + password = getpass("Passwort: ") + password_confirm = getpass("Passwort bestätigen: ") + + if password != password_confirm: + print("Passwörter stimmen nicht überein!") + return + + pw_hash = bcrypt.generate_password_hash(password).decode('utf-8') + + conn = sqlite3.connect(DB_PATH) + cur = conn.cursor() + try: + cur.execute("INSERT INTO users (username, password, is_admin) VALUES (?, ?, ?)", + (username, pw_hash, 0)) + conn.commit() + print(f"Benutzer '{username}' erfolgreich angelegt.") + except sqlite3.IntegrityError: + print("Benutzername existiert bereits!") + finally: + conn.close() + +if __name__ == "__main__": + main() diff --git a/srv/poe_manager/sqlite.db b/srv/poe_manager/sqlite.db index 37542c6..5530fe3 100644 Binary files a/srv/poe_manager/sqlite.db and b/srv/poe_manager/sqlite.db differ diff --git a/srv/poe_manager/templates/login.html b/srv/poe_manager/templates/login.html index 5ec164c..427c7ff 100644 --- a/srv/poe_manager/templates/login.html +++ b/srv/poe_manager/templates/login.html @@ -19,11 +19,11 @@