Adminkonto nicht mehr erreichbar wegen 2-Faktor-Authentifizierung

Da könntest du Recht haben. Aber wie komme ich in der Konsole in diese cfg Datei um den Eintrag zu ändern?

Du musst die verwendete 2FA app noch mit angeben:

Hier der vollständige Befehl.

sudo -u http php /volume1/web/nextcloud/occ twofactorauth:disable username twofactor_nextcloud_notification

Allerdings erklärt das nicht die “An unhandled exception has been thrown:” Meldung die du gekriegt hast. :thinking:

Nun is sicher, dass du genau nicht die TOTP aktviert hast. Da sieht dann anders aus als das was du da aktiviert hast. Siehe:

Was du aktiviert hast ist die 2FA in der IOS/Android-App von Nextcloud. Damit passt keine Lösung für TOTP auf dein Problem. Also auch nicht der von mir geteilte Link.

Das ist keine cfg sondern die sql-Datenbank. Aber irrelevant weil das für TOTP gilt.

Nein er hat die twofactor_nextcloud_notification App aktiviert.

@Nasivin Eventuell beim Befehl auch mal noch versuchen das binary der spezifischen PHP Version direkt auszuführen, welche von der Nextcloud verwendet wird.

Beispiel:

sudo -u http php83 /volume1/web/nextcloud/occ twofactorauth:disable username twofactor_nextcloud_notification

php83 mit der Version ersetzten, die Nextcloud verwendet, und username mit dem Usernamen deines Admin-Users ersetzten.

Ja, sag ich doch auch. Das funktioniert über Notifications in der Nextcloud IOS/Android App. Nutze ich aber nicht. Auch das schrieb ich ja zuvor schon. Aber @Nasivin schrieb heute morgen aber auch er habe TOTP. Deswegen ja meine Vermutung von oben, @Nasivin wisse selbst nicht so genau was er nun aktiviert hat und was nicht.

@adelaar Ah ok. Sorry, da hätte wohl besser lesen sollen :wink:

@Nasivin Falls du zusälich noch TOTP aktiviert hast, sind die Backup Codes, die du gestern erwähnt hast warscheinlich davon, und falls TOTP für den Account noch aktiv ist, kommst du mit denen evtl. noch rein:

Falls du obige Auswahl nicht erhälst, nach Eingabe von Usernamen und Passwort, ist TOTP für den Account nicht (mehr) aktiv. Und dir bleibt nur der occ Befehl.

Diese Auswahl kommt leider nicht.
Ich konnte die 2fa in der config.php jetzt deaktiveren, aber jetzt kommt folgende Fehlermeldung, nachdem ich den Server neugestartet habe:
Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the webserver log.
Ich dreh langsam durch mit dem Mist. Ich habe in dieser Config nur das array gegen false ausgetauscht, wie angegeben.

Schau mal in /volume1/web/nextcloud/data/nextcloud.log ob es dort neue Meldungen gibt. Poste sie.

Manchmal kann man auch Erkenntnisse erhalten, wenn man per php-cli versucht die index.php aufzurufen. Nur eine Idee, ist auch oft nicht zielführend.

sudo -u http php /volume1/web/nextcloud/index.php

Du kannst erstmal das:

Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurre d in the driver: could not find driver in /volume1/web/nextcloud/lib/private/DB/ Connection.php:237
Stack trace:

fixen. Bei mir war es immer ein Problem mit der Datenbank, die wollte neu gestartet werden. Denn wenn Dein occ nicht geht, fehlt Dir der halbe Werkzeugkasten.

Wenn das läuft, kannst Du auch Deine Config testen usw.

PS Und erfahrungsgemäß ist ein Fehler nach Ändern der config.php gerne ein Syntaxfehler. Ich hoffe, Du hast eine Kopie erstellt. :wink:

“reqId”:“D8twmJiauy9VZf2TcSA1”,“level”:3,“time”:“2024-07-29T08:30:01+00:00”,“remoteAddr”:“192.168.1.71”,“user”:“–”,“app”:“PHP”,“method”:“GET”,“url”:“/nextcloud/”,“message”:“fopen(/volume1/web/nextcloud/config/config.php): Failed to open stream: No such file or directory at /volume1/web/nextcloud/lib/private/Config.php#221”,“userAgent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36”,“version”:“”,“data”:{“app”:“PHP”}}

Das steht in der nextcloud.log

Scheinbar findet er die config.php gar nicht mehr. Gibt es sie vielleicht nicht mehr? Vielleicht die falschen Rechte? Poste.

ls -l /volume1/web/nextcloud/config/config.php


Doch, alles da! Hab die Config.php jetzt im Synology gefunden und konnte sie im normalen Editor bearbeiten.

Passt das alles so?

Ich denke nicht, dass man 2FA so deaktivieren kann. enforced_groups bedeutet, dass jeder Benutzer in den inkludierten Gruppen zwingend 2FA benutzen muss. Für Accounts, wo es bereits einerichtet ist, ändert dies Einstellung, so viel ich weiss, nichts.

Nicht ganz. Bitte poste nächstes Mal Code und kein Bild:

Abgetippter Fehler:
-rw-rw-rw- 1 Hans users 954 Jun 6 11:26 config.php

Hier sollte eigentlich http (Benutzer) und http (Gruppe) stehen. Trotzdem kann dein Webserver/Nextcloud (Benutzer http) damit arbeiten, da Other auch lesen und schreiben kann.

Ändere es als root:
chown http:http /volume1/web/nextcloud/config/*

Bearbeite Dateien nicht mit deinem Benutzer. Dafür solltest du dich bei Konsolenzugriff mit textbasierten Editoren wie vim oder nano beschäftigen. Bearbeite Dateien als Benutzer http. Ich für meinen Fall nutze dafür Web-Dateimanager wie z. B. Tiny File Manager. Einige Hoster bieten eigene Programme an.

Einen Benutzer http gibt es nicht. Ich gehe über Putty in die Konsole. Da kann ich mich nur mit den Benutzern einloggen, die es im Synology NAS gibt.

Hab die Config wieder hergestellt auf den Vorherzustand, aber das Problem bleibt das gleiche. Ich komme nicht mehr in Nextcloud rein.

In deinem Screenshot zu ls -l ist er aufgeführt. Es wird dein Webserver-Benutzer sein, der auch deine Nextcloud bereitstellt. Wirklich anmelden kannst du dich wahrscheinlich nicht siehe zweiten Befehl in meiner Liste.

id http
grep http /etc/passwd
grep http /etc/group
grep http /etc/shadow

Was den Benutzer (bei dir http) angeht:
Für gewöhnlich darf der sich nicht lokal anmelden. Das bedeutet nicht es gibt ihn nicht. Es bedeutet nur ein:

su - http

ist nicht gestattet. Also führe

su -

aus. Dann biste root und kannst die Benutzerrechte ändern. Wenn du dann root bist kannst du occ wie folgt mit den rechten des Beutzers http ausführen:

sudo -u http

Nachtrag:
der vollständige und korrekte Befehl von @bb77 wäre bei Debian also

su -
sudo -u http php /volume1/web/nextcloud/occ twofactorauth:disable username twofactor_nextcloud_notification

Hat dein Debian noch kein sudo muss du es nachträglich installieren, denn sudo ist eigentlich Ubuntu, also bei Ubuntu immer per default da, bei Debian und anderen Linuxen aber nicht zwingend.

Das Ding läuft auf einem Synology NAS. Das mag vielleicht auf Debian basieren, ist aber am Ende des Tages ein komplett eigenes OS. Btw. unter Debian wäre der Benutzer www-data, nicht http, der Befehl würde dort also nicht funktionieren.

@Nasivin Ich habe folgendes gefunden, ist nicht mehr ganz aktuell, aber einen Veruch wert:

Wie hier bereits vorgeschlagen, versuche den Befehl mal mit der php Version auszuführen. Also z.B. mit php80, php81, php82, php83, jenachdem welche PHP Version halt aktiv ist auf der Synology.

Beispiel, falls PHP 8.3 aktiv ist:

sudo -u http php83 /volume1/web/nextcloud/occ twofactorauth:disable username twofactor_nextcloud_notification

Habe noch diesen Thread gefunden: Not able to execute occ command on Synology - #2 by MichaIng

Dort hatte auch jemand eine „unhandled exception” und die Lösung war, (damals noch mit PHP 5.6) den Befehl mit php56 statt nur php auszuführen.

Finde also heraus, welche PHP Version auf deiner Synology läuft, und passe den Befehl entsprechend an.

Das ist mir schon klar gewesen. Worauf ich hinweisen wollte, ist das unterschiedliche “handling” von sudo auf verschiedenen OS.

@Nasivin hat sudo -u occ offenbar gar nicht (also nur occ) oder nicht korrekt angewendet. anders ist ja nicht zu erklären, dass die Datei config.php nun Hans:users als Eigentümer:Gruppe hat, statt http:http.

Kann auch möglich sein, dass der User Hans auf dem NAS root-Rechte hat. Anders sollte der die Eigentümer- und Gruppen-Rechte an der Datei ja gar nicht verändert haben können.

Dass sich die Leute über die Bedeutung von Eigentümer- und Gruppen-Rechten an der Dateien wenig bis keine Gedanken machen passiert ja eher nur bei Leuten, die nicht mit der Linux-Welt vertraut sind und sonst eher das Redmonder OS benutzen.

Dieses Redmonder OS benutze ich nun wiederum nicht. Bei mir haben Desktops Xubuntu und Server Debian. Daher sind diese Unterscheide bei der Anwendung von sudo zwischen beiden Teil des Alltagslebens.