Wie kann ich deaktiverten Admin Benutzer aktivieren?

Mein Problem:
Ohne für mich ersichtlichen Grund kann ich mich nicht mehr einwählen, da der Admin Benutzer deaktiviert ist. Nun möchte ich den Admin wieder aktivieren. Im Thread »File is locked - how to unlock« ist eine Anleitung, die ich befolgt habe. Aber das betrifft offenbar nicht mein Problem.

Ich habe Zugriff über das Hosting auf die Datenbank (phpmyadmin) und über SFTP auf die Installation. Leider habe ich kein zeitnahes Backup und auch der Provider hat nur 7 Tage zurückliegende. Es ist sehr wahrscheinlich, dass darin der Benutzer schon deaktiviert ist.

Möglicherweise geht es aber auch für die Reaktivierung des Benutzers per Bearbeitung der Datenbank. Gibt es dafür irgendwo eine Anleitung oder kann mir jemand im Forum dazu Hinweise geben?

Freue mich über jegliche Hilfe dazu.

Hier die technischen Details:

  • Shared Hosting (bei dt. Anbieter)
  • VHost
  • Apache
  • NC 21.0.9.1
  • PHP 7.4
  • MySQL/MariaDB
  • Ohne weitere Benutzer, nur 1 Admin (ich)
  • Verwendung für Kunden-Uploads über einen Uploadordner
  • Verwendung für Downloads über geteilte Links
  • webDAV für Synchronisierung einer Datenbank (DevonThink)
  • Hosting erstellt tägliche Backups

Danke,
Carsten

Das ist schon ein eschtes Problem. In der NC Instanz selbst kann ein Benutzer nur mit Adminrechten aktiviert werden.

Als Workaround nutze ich immer die php-commands auf dem terminal damit kann man, ssh-zugang vorausgesetzt, Mit dem ww-data user entsprechende Commands mit sudo-rechten ausführen und den admin user so wied eraktivieren. Das geht allerdings nur über ssh und ich wüsste leider auch keinen anderen Workaround für dieses Problem.

Naja wenn der (einzige?) Adminbenutzer auf der Nextcloud deaktiviert wurde, kannst du ihn natürlich nur noch über die Kommandozeile aktivieren, weil du dich mit einem Admin Benutzer einloggen musst, um Benutzer über das WebUI aktivieren/deaktvieren zu können. Das ist kein Workaround, sondern “working as designed”.

Die Frage ist wohl eher warum der Benutzer überhaupt plötzlich deaktiviert war? Denn es ist eigentlich gar nicht möglich, dass sich der gerade eingeloggte Benutzer im WebUI selber deaktiviert. Entweder gibt es noch weitere Adminbenutzer auf dieser Nextcloud und einer von denen hat den Adminnutzer des OP deaktiviert oder es ist ein Bug in der Nextcloud oder in irgendeiner App. Das mit dem Bug halte ich allerdings für unwarscheinlich. Zumindest wäre es das erste mal, dass ich von so einem Bug gehört hätte.

@Drjambus Danke, ssh-Zugang habe ich und werde es in den kommenden Tagen ausprobieren zu lösen.

Wahrscheinlich musst du diesen Befehl per SSH ausführen (im Übrigen ohne sudo):

php /pfad/zu/deiner/nextcloud/occ user:enable username

Using the occ command — Nextcloud latest Administration Manual latest documentation

Zusatzmöglichkeit
Ich könnte mir vorstellen, dass man in der Datenbank (MySQL/MariaDB) den Wert irgendwo setzen kann. Vielleicht kennt ja jemand den Eintrag und mag ihn hier posten. Wäre vielleicht interessant, wenn man mal keinen SSH-Zugang hat (Verwendung von phpmyadmin).

Ich frage mich halt wie man den Benutzer überhaupt sperren kann, wenn es der einzige Admin Account ist und man keinen SSH Zugang hat.

Passiert das einfach so? Dann müsste man mal der Ursache auf den Grund gehen.

Falls es aber nicht “einfach so” passiert ist, müsste ja grundsätzlich der gleiche Weg, der zur Sperrung des Benutzers geführt hat, auch dazu genutzt werden können, den Benutzer wieder zu entsperren. :wink:

Ohne ordentlichen SSH-Zugriff würde ich keine Nextcloud selbst betreiben. Managed Nextclouds haben hingegen immer Mittel und Wege Passwörter zurückzusetzen. Wenn gar nichts geht hilft der Nextcloud-Hoster.

Ich lege gerne einen zweiten zweiten Administrator an, den ich jedoch nicht aktiv nutze.

Genau. Aber das it nicht mein Punkt. Hat er keinen SSH Zugang, kann er den Account auch nicht so deaktiviert haben. Auch kann man im Web UI den Adminnutzer nicht “disablen” wenn man mit diesem Benutzer eingeloggt, ist. Es ist also gar nicht möglich sich im WebUI selbst zu deaktivieren. Warum ist also der OP in dieser Situation, dass er seinen Adminuser entsperren muss? Irgendetwas ist hier vorher passiert oder gemacht worden…

Entweder gibt es weitere Adminuser auf dieser Instanz, die den Admin Account des OP unbeabsichtigt oder beabsichtigt gesperrt haben. Oder er selbst oder jemand anders hat ihn via SSH Zugang deaktiviert. Oder er hat ihn irgendwie via PHPmyadmin deaktiviert. Oder ein Bug in Nextcloud oder in einer App hat das verursacht. “Einfach so” passiert das jedenfalls nicht oder ist zumindest mir in 5 Jahren Nextcloud noch nie passiert, und wäre es ein Bug, gäbe es sicher massenhaft Posts hier von Usern, die sich nicht mehr einloggen können.

Mein Punkt ist: Bei allen Möglichkeiten, ausser der mit dem Bug, kann man den Account auf die gleiche Weise, wie er deaktiviert wurde, auch wieder aktivieren. So gesehen ist keine dieser Möglichkeiten ein Workaround, sondern es ist alles “Working as designed”

Macht sicher Sinn als Notnagel, obwohl wie gesagt… :wink:

Ja, daran habe ich jetzt auch gedacht – so mache ich es in Wordpress. Aber hier war ich wohl etwas blauäugig …

@aquorange
Wie hast du denn den Benutzer deaktiviert bzw. gesperrt?

Schau mal in deinen Nextcloud-Logs. Leider weiß ich nicht, ob dort was steht oder stehen muss.
/pfad/zur/nextcloud/data/nextcloud.log

Naja, wenn du SSH Zugang hast, kannst du den Benutzer ja darüber einfach wieder entsperren. Wenn das aber häufiger “einfach so” notwendig sein sollte, würde ich mal versuchen die Ursache dafür zu finden.

Leider bin ich bei diesem Provider mit SSH überfordert, da dort nichts dokumentiert ist und ich nicht genug weiß. Bei einem anderen Provider hatte ich gelegentlich einfache Dinge per SSH erledigt. Aber dort habe ich immerhin Support für die korrekte Einwahl erhalten.
Also werde ich wohl eine neue NextCloud aufmachen und den ganzen Kram dort erneut aufbauen müssen. (Dann aber gemanaged – nochmal habe ich für sowas keine Lust :wink: ).

Vielen Dank für Eure Hilfsbereitschaft!

Eine Möglichkeit wäre noch mit Hilfe von phpMyAdmin zu prüfen, ob es in der Tabelle nc_preferences bzw. oc_preferencesfür den Benutzer einen entsprechenden Eintrag gibt. Für Admin-Benutzer darf eigentlich dieser Eintrag nicht existieren.
userid=Benutzer; appid=core; configkey=enabled; configvalue=true (Benutzer ist aktiviert)
userid=Benutzer; appid=core; configkey=enabled; configvalue=false (Benutzer ist deaktiviert)
Für den realen Admin-Benutzer entweder diesen Eintrag vollständig entfernen oder auf true setzen.

Kannst du dich denn per SSH anmelden? Dann musst du noch den Pfad deiner Nextcloud finden. Und dann einfach wie oben geschrieben:

php /pfad/zu/deiner/nextcloud/occ user:enable username

Wenn du das alles nicht kannst, solltest du dir überlegen, wie wichtig dir die Daten bei einem Totalverlust durch deine Unwissenheit sind. Ich rate dann dazu entweder das Linux-Wissen massiv zu steigern oder die Daten z. B. in eine Managed Nextcloud zu verlagern. Vielleicht bietet dein Hoster das ja auch an. Oder wenn dir nur ein Account zum Teilen von Dateien reicht, kannst du dir z. B. die kostenlose Magentacloud anschauen, die seit Ende letzten Jahres auch auf Nextcloud basiert. Sie ist sehr eingeschränkt und es gab wohl auch Probleme. Denk daran, dass sowas grundsätzlich kein Backup ist. Dann kann man sowas gut zum Austausch von Dateien verwenden.

1 Like

Hallo alle, es hat geklappt! Hurra! Ich habe mich schlauer gemacht und auch beim Provider doch noch einige Infos zur dortigen SSH-Verwendung gefunden. Der von @devnull genannte Befehl hat funktioniert und ich habe sofort einen zweiten Admin angelegt. Nun bin ich gespannt, ob das wiederholt zu diesem seltsamen Problem kommt. Demnächst werde ich aber wohl zu einem Managed Nextcloud wechseln. Dann habe ich »peace of mind«.

Der Weg über SSH ist mit einigen Hürden versehen – ich musste den ssh-Benutzer zuerst für den Webspace authorisieren, dann hat die Einwahl auch geklappt.

Jedenfalls danke ich Euch allen hier sehr für die freundliche Unterstützung, die mir geholfen hat, an der Sache dran zu bleiben. Und ohne Euren Support hätte ich es nicht hinbekommen.

1 Like