diff --git a/usr/local/www/system_usermanager.php b/usr/local/www/system_usermanager.php index 13e19c52f4..ce3c16ee32 100644 --- a/usr/local/www/system_usermanager.php +++ b/usr/local/www/system_usermanager.php @@ -90,14 +90,22 @@ if ($_POST['act'] == "deluser") { exit; } - conf_mount_rw(); - local_user_del($a_user[$id]); - conf_mount_ro(); - $userdeleted = $a_user[$id]['name']; - unset($a_user[$id]); - write_config(); - $savemsg = gettext("User")." {$userdeleted} ". - gettext("successfully deleted")."
"; + $saved_username = $a_user[$id]['name']; + + if ($a_user[$id]['scope'] != "system") { + conf_mount_rw(); + local_user_del($a_user[$id]); + conf_mount_ro(); + unset($a_user[$id]); + write_config(); + $savemsg = gettext("User") . " {$saved_username} " . + gettext("successfully deleted") . "
"; + } else { + unset($id); + unset($deletion_errors); + $deletion_errors[] = gettext("User") . " {$saved_username} " . + gettext("is a system user. Deletion is not allowed."); + } } else if ($_POST['act'] == "delpriv") { @@ -486,6 +494,8 @@ function sshkeyClicked(obj) {