Added user management. Added SSH service management
parent
66a613c4f0
commit
858b8e4698
|
@ -0,0 +1 @@
|
||||||
|
users.nix
|
|
@ -49,9 +49,15 @@ def upgradeSystem():
|
||||||
return jsonify(upgradeResult.returncode)
|
return jsonify(upgradeResult.returncode)
|
||||||
@app.route("/createUser", methods=["GET"])
|
@app.route("/createUser", methods=["GET"])
|
||||||
def createUser():
|
def createUser():
|
||||||
user = subprocess.Popen(["useradd","-m",request.headers.get("X-User")])
|
with open("users.nix", "r+") as file:
|
||||||
user.communicate()[0]
|
appendData = " #--- \"" + request.headers["X-User"] + "\" = {\n isNormalUser = true;\n hashedPassword = \"" + request.headers["X-HashedPassword"] + "\";\n };"
|
||||||
return jsonify(user.returncode)
|
for i, line in enumerate(file):
|
||||||
|
if line.startswith("#---"):
|
||||||
|
file[i] = file[i].strip + appendData + "\n"
|
||||||
|
file.seek(0)
|
||||||
|
for line in file:
|
||||||
|
file.write(line)
|
||||||
|
|
||||||
@app.route("/deleteUser", methods=["DELETE"])
|
@app.route("/deleteUser", methods=["DELETE"])
|
||||||
def deleteUser():
|
def deleteUser():
|
||||||
user = subprocess.Popen(["userdel",request.headers.get("X-User")])
|
user = subprocess.Popen(["userdel",request.headers.get("X-User")])
|
||||||
|
@ -77,5 +83,23 @@ def requestDiskDecryption():
|
||||||
return jsonify(
|
return jsonify(
|
||||||
status=decryptionService.returncode
|
status=decryptionService.returncode
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@app.route("/enableSSH", methods=["POST"])
|
||||||
|
def enableSSH():
|
||||||
|
readOnlyFileDescriptor = open("/etc/nixos/configuration.nix", "rt")
|
||||||
|
readWriteFileDescriptor = open("/etc/nixos/configuration.nix", "wt")
|
||||||
|
|
||||||
|
for line in readOnlyFileDescriptor:
|
||||||
|
readWriteFileDescriptor.write(line.replace("services.openssh.enable = false;", "services.openssh.enable = true;"))
|
||||||
|
|
||||||
|
readWriteFileDescriptor.close()
|
||||||
|
readOnlyFileDescriptor.close()
|
||||||
|
|
||||||
|
return jsonify(
|
||||||
|
status=0
|
||||||
|
)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(port=5050, debug=False)
|
app.run(port=5050, debug=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
|
wheel
|
||||||
flask
|
flask
|
||||||
flask_restful
|
flask_restful
|
||||||
pandas
|
pandas
|
||||||
ast
|
|
||||||
subprocess
|
|
||||||
os
|
|
||||||
|
|
Loading…
Reference in New Issue