Linux User <--> MySQL User synchronisieren

TobiasGl

New Member
Hallo,
ich habe auf einen Webserver insg. 150 Benutzer angelegt. Jeder Benutzer soll nun eine MySQL Datenbank erhalten. Bevor ich die Benutzer alle Manuell anlege, wollte ich nachfragen ob es einen Weg gibt die Linux (scponly) User auslesen zu lassen und für diese eine Datenbank automatisiert zu erstellen?
 
kopiere Dir die /etc/passwd in eine temp. Datei, bearbeite die mit dem Editor (so daß nur noch die relevanten User drin sind) und importiere die per csv-Import in die User-Tabelle vom MySQL (zuvor evtl. noch um die relevanten Dinge wie Passwort, ... ergänzen) - oder per shell-Scirpt die User-Liste in ein SQL-File verarbeiten, welches die User anlegt.
 
Ich besitze eine Auflistung der Benutzernamen mit der Zuordnung des Passwortes (Es geht um Studenten bei einer Lehrveranstaltung ...).
Wie wäre denn der CVS aufbau um Benutzer mit Passwort anzulegen?
 
Das einfachste waere du faehrst die Liste ueber ein Skript ab und fuehrst fuer jeden EIntrag "CREATE USER" und "CREATE DATABASE" aus.

Oder spricht jetzt was konkret dagegen?
 
Ich habe ein Script gefunden mit dem man den User, die Datenbank mit Passwort erstellen kann: http://bash.cyberciti.biz/mysql/add-database-username-password-remote-host-access/

Wenn ich es jedoch ausführe mit:
Code:
sudo ./add_mysqluser.sh bar tom jerry 'localhost' 'SELECT,INSERT,UPDATE,DELETE'

bekomme ich immer wieder diesen Fehler geworfen:
Code:
./add_mysqluser.sh: Zeile 46: /usr/bin/mysql -u root -h localhost -p'MEINPASSWORT' -e "GRANT SELECT,INSERT,UPDATE,DELETE ON bar.* TO tom@localhost IDENTIFIED BY 'jerry';": Datei oder Verzeichnis nicht gefunden.

Dieser Fehler wurde von Cletus auch schon gepostet, jedoch liegt es bei mir nicht an den falschen Path. Wenn ich den Befehl:

Code:
sudo /usr/bin/mysql -u root -h localhost -p'MEINPASSWORT'

ausführe komme ich auch in die mysql shell
 
Last edited by a moderator:
Keine Ahnung was bei Dir in der Zeile schief geht. Aber wenn Du eh nur localhost zu lässt, kannst die ganze For-Schleife am Ende des Scriptes raus löschen.
Der Create-Database und Grant (mit localhost) werden bereits darüber ausgeführt.

huschi.
 
Vielen Dank für deine Antwort.
Der Fehler ist durch das auskommentieren nicht mehr gegeben, jedoch funktioniert das Script leider nicht.
Wenn ich es ausführe bekomme ich nur die kompletten parameterangaben vom mysql server ausgegeben. Es wird kein neuer Benutzer oder Datenbank angelegt.

Kann es sein, dass dieses Script nicht unter MySQL 5.1.41 läuft welchen ich verwende?

Grüße
Tobias
 
Es ist relativ egal, ob dieses spezielle Script läuft oder nicht.
Du hältst jedenfalls alle nötige in der Hand um es nun selbst zu bewältigen.
Ob Du nun Dein Wissen und Deine Zeit einsetzt um das Script zum laufen zu bekommen, oder die Vorgehensweise verstehst und in einem eigenen Script umsetzt, ist nun ganz allein Deine Entscheidung.

huschi.
 
Back
Top