Adminkonto nicht mehr erreichbar wegen 2-Faktor-Authentifizierung

Ok. Aber so wie es aussieht (Ja ich weiss, die Links, die ich gefunden habe, sind alle schon ein paar Jährchen alt :wink: ) müsste sudo grundsätzlich so funktionieren, so wie von @Nasivin angedacht auf der Synology. Das Problem scheint mir hier eher zu sein, dass nicht das korrekte PHP binary benutzt wird.

Aber ja, am Ende des Tages kann jeder, der keine Synolgy hat und/oder Nextcloud nicht nativ darauf installiert hat, nur raten. Wenn man die WebStation nutzt, oder wie immer die das nennen bei Synology, ist das vergleichbar mit Tools wie Plesk oder C-Panel, die von vielen Webhosting Providern benutzt werden, nämlich in der der Regel anders als auf einer Standard Linux Distro. :wink: Die Pfade sind anders, Webserver und PHP ist anders konfiguriert etc…

@bb77
Mir ist halt aufgefallen, dass die Datei config.php nun Hans:users als Eigentümer:Gruppe hat, statt http:http. Das hat eher nichts mit einer nicht korrekten PHP binary zu tun, sondern mit nicht korrekter Nutzung von sudo.

@adelaar Ok. Ja das habe ich übersehen. Trotzdem scheinen alle Anleitungen im Netz, die ich gefunden habe, immer noch die PHP Versionsnummer in den Befehlen zu nutzen: Auch z.B. hier: Nextcloud Hub optimization on a Synology DiskStation with DSM 6 [Update April 2021] | Viking Studios Blog

@Nasivin Also zuerst sicherstellen dass die Ordner und File Owenership überall passt:

chown -R http:http /volume1/web/nextcloud/

Und dann nochmal occ mit der passenden PHP version im Befehl versuchen:

Beispiel, falls PHP 8.3 aktiv ist:

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

Danke für eure Antworten und Hilfen!

@bb77 Hab die Befehle so durchlaufen lassen und dann das NAS neugestartet.


Nextcloud bleibt leider nicht erreichbar.
Ich habe gestern ein Backup vom NAS von Anfang der Woche wiederhergestellt und der Hoffnung dass dann wieder alles geht. Auch da kam diese Meldung danach.

Was könnte das Problem noch sein?

Passt das so? PHP Version ist 8.2.

Ja der Befehl scheint zu passen, aber gemäss der Fehlermeldung gibt es ein Problem mit der Syntax in der config.php, auf oder in der nähe von Zeile 34.

Scheint so, als wurde da irgendwo ein Komma zu viel oder zu wenig gesetzt, sehr warscheinlich am Ende einer Zeile, oder eines Arrays? Eventuell eines der Arrays betreffend „twofactor_enforced”, die du neulich hinzugefügt hast?

Entferne diese doch mal wieder und falls es dann immer noch nicht funktioniert, poste bitte die gesamte config.php hier.


Wo wäre das? Zeile 34 ist die letzte, wenn ich richtig gezählt habe.

Das Komma in der letzten Zeile ist zu viel. Poste zukünftig Code-Blöcke und keine Screenshots.

2 Likes

‘twofactor_enforced_groups’ =>
array (
0 => ‘admin’,
),
‘twofactor_enforced_excluded_groups’ =>
array (
),
)

Komma ist weg (das letzte ) ist Zeile 34), Fehler bleibt:

An unhandled exception has been thrown:
ParseError: syntax error, unexpected end of file in /volume1/web/nextcloud/config/config.php:34
Stack trace:
#0 /volume1/web/nextcloud/lib/private/Config.php(40): OC\Config->readData()
#1 /volume1/web/nextcloud/lib/base.php(94): OC\Config->__construct(‘/volume1/web/ne…’)
#2 /volume1/web/nextcloud/lib/base.php(615): OC::initPaths()
#3 /volume1/web/nextcloud/lib/base.php(1171): OC::init()
#4 /volume1/web/nextcloud/console.php(28): require_once(‘/volume1/web/ne…’)
#5 /volume1/web/nextcloud/occ(33): require_once(‘/volume1/web/ne…’)

Hab ich was übersehen?

Ganz am Ende der config Datei sollte folgendes stehen: );

…also so:

  'twofactor_enforced_groups' =>
  array (
    0 => 'admin',
  ),
  'twofactor_enforced_excluded_groups' =>
    array (
  ),
);

Das leere Array, twofactor_enforced_excluded_groups, könnte man noch entferenen. Das wäre aber denke ich rein kosmetisch:

  'twofactor_enforced_groups' =>
  array (
    0 => 'admin',
  ),
);

Jetzt kommt diese Meldung:

Console has to be executed with the user that owns the file config/config.php
Current user id: 1023
Owner id of config.php: 1029
Try adding ‘sudo -u #1029’ to the beginning of the command (without the single q uotes)
If running with ‘docker exec’ try adding the option ‘-u 1029’ to the docker comm and (without the single quotes)

Den chown Befehl habe ich vorher laufen lassen. Scheinbar passt die Userid nicht.

Ich habe den Befehl geändert auf :
sudo -u #1029 http php82 /volume1/web/nextcloud/occ twofactorauth:disable ncschuetze twofactor_nextcloud_notification

und dann kam diese Meldung:

sudo: option requires an argument – ‘u’
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u
user] [VAR=value] [-i|-s] []
usage: sudo -e [-AknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u
user] file …

Dann habe ich das http weggelassen, aber die Antwort blieb die gleich.

Immerhin läuft die Nextcloud wieder und die normalen Benutzer bekommen wieder alles synchronisiert. Nur das Einloggen mit dem Adminkonto geht noch nicht.

Verdammt nochmal. auf den von dir vermurksten Eigentümer:Gruppe der Datei config.php ('Hans:users) habe ich doch nun schon mehrfach hingewiesen. Richtig wäre bei dir `http:http’.

Also endlich mal ändern !!!

Hab ich doch versucht mit chown -R http:http /volume1/web/nextcloud/

Wie geht es sonst?

Das musst du natürlich mit root-Rechten machen.

Danke, das hat jetzt geklappt. Jetzt kommt das bei der Anmeldung:

Konnte es lösen!

‘twofactor_enforced’ => ‘false’, statt true

Vielen Dank euch für die Hilfe!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.