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) {