NextCloudPi: Zugriff auf die Datenbank

NextCloudPi ist bereits ab Werk recht sicher konfiguriert und das ist auch gut so. Möchte man allerdings mal in die Datenbank reinschauen oder gar etwas verändern muss man zunächst etwas Vorarbeit leisten.

Bei NextCloudPi handelt es sich um eine Debian-basierte Möglichkeit, unkompliziert eine NextCloud-Instanz aufsetzen zu können. Der Name lässt einen zwar zunächst ein den Raspberry Pi denken, was aufgrund der Historie als Ursprungssystem zutreffend ist, es werden allerdings mehr Einplatinen-/Embedded-Systeme sowie virtuelle Maschinen unterstützt.

Der Entwickler bietet keine Datenbankverwaltung an, d.h. möchte man mit grafischen Werkzeugen auf die Datenbank zugreifen, muss man eine Verbindung erst zulassen.

Von außen ist weder in der Grundkonfiguration von MariaDB noch der Firewall eine Verbindung zugelassen. Die Verbindungen sind auf “localhost” beschränkt, dadurch werden direkte Angriffe gegen den Datenbankserver von vornherein unterbunden.

Die Bindung auf “localhost” lässt sich für MariaDB in der Konfigurationsdatei “50-server.cnf” im Pfad

/etc/mysql/mariadb.conf.d

ändern. Nach jeder Änderung muss der Daemon neu gestartet werden:

systemctl restart mariadb

Als nächstes kann man die Firewall entweder über das NextCloudPi Panel deaktivieren oder mittels Befehle konfigurieren, sicherer ist allerdings ein anderer Weg. Dazu gleich mehr.

Die gleichen Einschränkung auf “localhost” gelten für die Datenbank-Benutzer “root” und “ncadmin”. Während “root” kein Kennwort hat, wird bei der Erst-Einrichtung von NextCloudPi ein Benutzer “ncadmin” samt automatisch generiertem Kennwort erstellt. Dessen Daten kann man aus der NextCloudPi-Konfigurationsdatei unter

/var/www/nextcloud/config

auslesen.

Bevor man allerdings die Bindung im Datenbankserver, die Firewall, etc. ändert, sollte man lieber über ssh auf die Datenbank von außen zugreifen. Damit dies möglich ist, muss entweder einem vorhandenen Datenbankbenutzer dies gestattet werden oder ein neuer Benutzer mit passenden Rechten angelegt werden.

Um den bestehenden “ncadmin”-Datenbankbenutzer eine Anmeldung via ssh-Tunnel zu erlauben muss man folgendes an der Konsole oder via ssh ausführen:

mariadb

RENAME USER 'ncadmin'@'localhost' TO 'ncadmin'@'127.0.0.1';
FLUSH PRIVILEGES;
QUIT;

Nun kann man beispielsweise von Windows aus mit HeidiSQL via ssh-Tunnel auf die Datenbank zugreifen.

Führt man die obigen Befehle mit vertauschtem “localhost” und “127.0.0.1” aus stellt man den Original-Zustand wieder her.

Quellen

MariaDB – Configuring MariaDB for Remote Client Access

DigitalOcean – Erstellen eines neuen Benutzers und Erteilen von Berechtigungen in MySQL

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.