|
|
@@ -58,7 +58,7 @@ class DeployDevController {
|
|
|
|
|
|
if ($GLOBALS['debug'] == true) { error_log("Creating logdir for : " . $username); }
|
|
|
if (is_dir("/home/$username/logs") != true) {
|
|
|
- exec("sudo /usr/bin/mkdir /home/$username/logs 2>&1", $mkdirOutput, $mkdirReturnCode);
|
|
|
+ exec("sudo /usr/bin/mkdir -p /home/$username/logs 2>&1", $mkdirOutput, $mkdirReturnCode);
|
|
|
if ($mkdirReturnCode !== 0) {
|
|
|
error_log("deploy: ERROR: Failed to create log directory for $username failed, details => " . implode("\n", $mkdirOutput));
|
|
|
http_response_code(500);
|
|
|
@@ -68,7 +68,7 @@ class DeployDevController {
|
|
|
}
|
|
|
if ($GLOBALS['debug'] == true) { error_log("Creating backup dir for : " . $username); }
|
|
|
if (is_dir("/home/$username/backups") != true) {
|
|
|
- exec("sudo /usr/bin/mkdir /home/$username/backups 2>&1", $mkdirOutput, $mkdirReturnCode);
|
|
|
+ exec("sudo /usr/bin/mkdir -p /home/$username/backups 2>&1", $mkdirOutput, $mkdirReturnCode);
|
|
|
if ($mkdirReturnCode !== 0) {
|
|
|
error_log("deploy: ERROR: mkdir /home/$username/backups failed, details => " . implode("\n", $mkdirOutput));
|
|
|
http_response_code(500);
|
|
|
@@ -315,7 +315,31 @@ class DeployDevController {
|
|
|
|
|
|
|
|
|
public static function terminate($data): void {
|
|
|
-
|
|
|
+ $username = $data['username'] ?? '';
|
|
|
+ if (empty($username)) {
|
|
|
+ error_log("terminate: ERROR: No username provided");
|
|
|
+ http_response_code(400);
|
|
|
+ error_log(print_r($data,true));
|
|
|
+ echo json_encode(['error' => 'Missing username']);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if( strpos(file_get_contents("/etc/passwd"),$username) == false) {
|
|
|
+ error_log("terminate: ERROR: User $username does not exist");
|
|
|
+ http_response_code(400);
|
|
|
+ error_log(print_r($data,true));
|
|
|
+ echo json_encode(['error' => 'Unknown user']);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // Remove user and files
|
|
|
+ if ($GLOBALS['debug'] == true) {error_log("Remove User: " . $username); }
|
|
|
+ exec("sudo /usr/sbin/userdel -r -f $username 2>&1", $userOutput, $userReturnCode);
|
|
|
+ if ($userReturnCode !== 0) {
|
|
|
+ error_log("deploy: ERROR: Userdel for $username failed, details => " . implode("\n", $userOutput));
|
|
|
+ http_response_code(500);
|
|
|
+ echo json_encode(['error' => 'Failed to create user', 'details' => implode("\n", $userOutput)]);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ echo json_encode(['success' => 'Removing useri ' . $username . ' successfully']);
|
|
|
}
|
|
|
|
|
|
}
|