Verwaltung: Datenbanken
Der RDBMS-Server (MariaDB) wird abgesichert. Ausser zusätzlichen Datenbank-Admins wird je ein Standard-Benutzer angelegt, welcher
nur lesen oder nur lesen/schreiben kann. Diese werden dann über den Web-Server verwendet. Dies trägt zur weiteren Sicherheit bei,
da diese Standard-Nutzer keine Tabellen ändern oder gar Datensätze löschen können.
Die Arbeiten in der Datenbank können nun auch per phpMyAdmin durchgeführt werden.
http://dl0xyz/phpadminWenn nur wenige Benutzer angeleget werden soll, ist diese Möglichkeit sicherlich komfortabler. Wenn aber eine lange Reihe von Benutzern angelegt werden muss, dann ist das script-basierte arbeiten, wie es im Fortlauf beschrieben wird, sicherlich die bessere Alternative.
Absichern des Servers
Zunächst bitte unbedingt noch einmal folgendes Script ausführen:mysql_secure_installation;
Das haben wir zwar schon einmal gemacht, aber dort haben wir ein Standard-Passwort gesetzt. Das soll jetzt durch ein ordentliches Passwort ersetzt werden. Damit werden auch alle anonymen Zugangsmöglichkeiten und Beispiel-Datenbanken entfernt.
Falls das aus irgend einem Grund nicht funktioniert, dann einfach in den Server einloggen und das Passwort von Hand ändern:mariadb -u root -p
[Originales Passwort eingeben]
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('wieauchimmedeinpasswortlautensoll');
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Anlegen der Benutzer
nano mysql-benutzer.txt
In der Datei werden die Benutzernamen, Passwörter im Klartext und die zu vergebeneden Rechte festgelegt. Dabei wird ein Standard-Benutzer mit Schreib/Lese-Rechten angelegt, wie auch ein Standard-Benutzer, welcher Daten nur auslesen darf. Dazu sollte mindestes ein zusätzlicher Datenbank-Admin angelegt werden, welcher die wichtigsten Rechte besitzt, aber nicht alles darf, was der Root-Nutzer kann. Die Datei kann problemlos erweitert werden, um beliebige viele Datenbank-Nutzer zu erzeugen. Ob das sinnvoll ist, muss man im jeweiligen Fall selbst entscheiden.kater-rw passwortimklartext insert,select,update kater-r passwortimklartext select dbadmin passwortimklartext alter,create,delete,drop,insert,reload,select,update
Nun wird noch das Skript zum anlegen erstellt. Das könnte zwar genausogut und komfortabler per phpMyAdmin erfolgen (dafür haben wir das Tool schliesslich installiert. Aber wenn es viele Benutzer werden sollen, geht es mit Skript schneller.nano mysql-benutzer.sh
# !/bin/bash # Format der Datei mysql-benutzer.txt: # benutzername passwortimklartext recht1,recht2,recht3 # Die drei Datenfelder sind mit einem Leerzeichen getrennt. # Die Rechteliste ist mit Kommata getrennt. # Soll ein Voll-Admin aequivalent zu root erstellt werden, dann # traegt man anstatt der Rechteliste 'all privileges' ein. cat mysql-benutzer.txt | ( while read user pass rights do echo "grant $rights on *.* to '$user'@'localhost' identified by '$pass';" | mysql -u root --password=BNMXEA42 echo "Benutzer $user angelegt." done ) echo "flush privileges;" | mysql -u root --password=BNMXEA42
Anschliessend wird das Script noch ausführbar gemacht und ausgeführt:chmod u+x mysql-benutzer.sh;
./mysql-benutzer.sh;
Weiter geht es mit dem Thema "File Transfer".