MySQL Datenbank zur Verwaltung von Benutzerrechten
Guten Morgen miteinander,
Ich bin im Thema MySQL ein blutiger Anfänger. Um mich dem Ganzen aber zu nähern habe ich mir mal die Aufgabe gestellt, die Zugriffsrechte der User auf die Ordner des Fileservers und Produktionsmaschinen in einer Datenbank festzuhalten. Geplant ist, dass daraus in der Zukunft eventuell ein Formular entsteht, welches bei Eintritt eines Mitarbeiters durch den zuständigen Abteilungsleiter ausgefüllt und an die IT gesendet wird, damit die den neuen Nutzer anlegt. Sicher gibt es dafür irgendwelche Tools oder ähnliches, jedoch würde ich das gern einmal selbst versuchen.
Nun muss ich aber ehrlich gestehen, dass ich bereits beim Anfang versage, da ich mir noch nicht wirklich sicher bin, wie ich die Tabellen am besten aufbaue.
Ich habe jetzt eine Tabelle mit den ersten Personaldaten (Name, Vorname, Kuerzel, Username, Abteilung, Mail, Eintrittsdatum).
Nun hat so eine Produktionsmaschine ja auch verschiedene Benutzerlevel (Admin, Technik, Support, Bediener etc.)
Stellt sich die Frage: Sollte ich für jede Maschine eine Tabelle bauen, deren Überschriften die Benutzerlevel sind und bei jedem User in der entsprechenden Spalte ein "X" machen?
Dann kann ich das ja auch mit schwarzer Kreide in den Schornstein malen, denn dafür gibt es ja Excel.
Für den Fileserver wäre ja das gleiche: Tabelle für den Ordner mit den Spalten User, Lesen, Schreiben, Ändern, Vollzugriff. Ist ja auch irgendwie Quark.
Wie würdet ihr denn so etwas aufbauen? Es wäre schön, da ein paar Anregungen zu bekommen.
Beste Grüße
Playse
Ich bin im Thema MySQL ein blutiger Anfänger. Um mich dem Ganzen aber zu nähern habe ich mir mal die Aufgabe gestellt, die Zugriffsrechte der User auf die Ordner des Fileservers und Produktionsmaschinen in einer Datenbank festzuhalten. Geplant ist, dass daraus in der Zukunft eventuell ein Formular entsteht, welches bei Eintritt eines Mitarbeiters durch den zuständigen Abteilungsleiter ausgefüllt und an die IT gesendet wird, damit die den neuen Nutzer anlegt. Sicher gibt es dafür irgendwelche Tools oder ähnliches, jedoch würde ich das gern einmal selbst versuchen.
Nun muss ich aber ehrlich gestehen, dass ich bereits beim Anfang versage, da ich mir noch nicht wirklich sicher bin, wie ich die Tabellen am besten aufbaue.
Ich habe jetzt eine Tabelle mit den ersten Personaldaten (Name, Vorname, Kuerzel, Username, Abteilung, Mail, Eintrittsdatum).
Nun hat so eine Produktionsmaschine ja auch verschiedene Benutzerlevel (Admin, Technik, Support, Bediener etc.)
Stellt sich die Frage: Sollte ich für jede Maschine eine Tabelle bauen, deren Überschriften die Benutzerlevel sind und bei jedem User in der entsprechenden Spalte ein "X" machen?
Dann kann ich das ja auch mit schwarzer Kreide in den Schornstein malen, denn dafür gibt es ja Excel.
Für den Fileserver wäre ja das gleiche: Tabelle für den Ordner mit den Spalten User, Lesen, Schreiben, Ändern, Vollzugriff. Ist ja auch irgendwie Quark.
Wie würdet ihr denn so etwas aufbauen? Es wäre schön, da ein paar Anregungen zu bekommen.
Beste Grüße
Playse
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 363121
Url: https://administrator.de/contentid/363121
Ausgedruckt am: 08.11.2024 um 09:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
das ist ein weites Thema. Hast du nur keine MySQL-Erfahrung oder auch keine SQL-Erfahrung insgesamt? Da wäre etwas Basiswissen nötig.
Henning
das ist ein weites Thema. Hast du nur keine MySQL-Erfahrung oder auch keine SQL-Erfahrung insgesamt? Da wäre etwas Basiswissen nötig.
Stellt sich die Frage: Sollte ich für jede Maschine eine Tabelle bauen, deren Überschriften die Benutzerlevel sind und bei jedem User in der entsprechenden Spalte ein "X" machen?
Das würde ich nicht so machen, sondern die Benutzerlevel (wie auch die Gruppen für die Verzeichnisrechte) als eine Spalte in den primären Index mit aufnehmen. Dadurch sind die Gruppen dann jederzeit erweiterbar. Stichwort "Normalisierung von Datenbanken".Henning
Hallo!
Zuerst würde ich dir raten einige MySQL-Tutorials durchzuarbeiten und dich mit Datenbank-Grundbegriffen/Funktionen vertraut zu machen, sonst reden wir immer aneinander vorbei.
Was sofort auffällt ist dein Tabellenaufbau ohne ID.
Weiters ist "Name" nicht optimal als Feldbezeichnung, da dieser Begriff gern vom System verwendet wird - "Nachname" ist da schon besser.
Ich würde zb folgende Tabellen verwenden:
Personaldaten
ID, Nachname, Vorname, ....
(Die Abteilungen in eine eigene Tabelle schreiben und in den Personaldaten nur auf den Datensatz (ID) verweisen)
Abteilung
ID,Bezeichnung,...
Rechte
ID,Bezechnung,Beschreibung,...
(Hier werden alle Rechte aufgelistet, die du verwalten willst)
Benutzerleve
ID,Bezeichnug,Beschreibung
(Hier wieder alle Benutzerleven eintragen)
Maschinen
ID,Bezeichnung
(Hier alle Maschinen und Ornder eingetragen)
Welche Benutzer nun welche Rechte bei Maschine/Ordner haben wird in einer extra Tabelle erfasst:
Benutzerrechte
ID-Personendaten,ID-Rechte,ID-Maschinen,Wert
Der Eintrag könnte dann folgend aussehen
1,2,1,1
1= Datensatz mit ID 1 aus Tabelle Personendaten
2 = Datensatz mit ID 2 aus Tabelle Rechte
1 = Datensatz mit ID 1 aus Tabelle Maschinen
1 = Wahr oder eben 0=Falsch
Soweit sollte es reichen, bis die nächsten Fragen auftauchen
Gruß
eisbein
Edit: Die sinnvolle Anregung von @vossi31 die Benutzerlevel für Gruppenrechte zu gebrauchen habe ich hier nicht nicht skizziert.
Zuerst würde ich dir raten einige MySQL-Tutorials durchzuarbeiten und dich mit Datenbank-Grundbegriffen/Funktionen vertraut zu machen, sonst reden wir immer aneinander vorbei.
Was sofort auffällt ist dein Tabellenaufbau ohne ID.
Weiters ist "Name" nicht optimal als Feldbezeichnung, da dieser Begriff gern vom System verwendet wird - "Nachname" ist da schon besser.
Ich würde zb folgende Tabellen verwenden:
Personaldaten
ID, Nachname, Vorname, ....
(Die Abteilungen in eine eigene Tabelle schreiben und in den Personaldaten nur auf den Datensatz (ID) verweisen)
Abteilung
ID,Bezeichnung,...
Rechte
ID,Bezechnung,Beschreibung,...
(Hier werden alle Rechte aufgelistet, die du verwalten willst)
Benutzerleve
ID,Bezeichnug,Beschreibung
(Hier wieder alle Benutzerleven eintragen)
Maschinen
ID,Bezeichnung
(Hier alle Maschinen und Ornder eingetragen)
Welche Benutzer nun welche Rechte bei Maschine/Ordner haben wird in einer extra Tabelle erfasst:
Benutzerrechte
ID-Personendaten,ID-Rechte,ID-Maschinen,Wert
Der Eintrag könnte dann folgend aussehen
1,2,1,1
1= Datensatz mit ID 1 aus Tabelle Personendaten
2 = Datensatz mit ID 2 aus Tabelle Rechte
1 = Datensatz mit ID 1 aus Tabelle Maschinen
1 = Wahr oder eben 0=Falsch
Soweit sollte es reichen, bis die nächsten Fragen auftauchen
Gruß
eisbein
Edit: Die sinnvolle Anregung von @vossi31 die Benutzerlevel für Gruppenrechte zu gebrauchen habe ich hier nicht nicht skizziert.
Hallo,
schau Dir mal das Programm an, da kannst Du Deine MySQL Datenbank grafisch erstellen.
FabForce DBDesigner
schau Dir mal das Programm an, da kannst Du Deine MySQL Datenbank grafisch erstellen.
FabForce DBDesigner
Hallo,
warum MySQL? Wenn es sich um Active Directory handelt, dann nehme MS SQL.
Ich empfehle Dir, Dich als erstes mit SQL zu beschäftigen. Denn es scheint mir, daß Du von Datenbanken wenig Kenntnisse besitzt. Dazu kannst Du MySQL verwenden. VomRheinwerk-Verlag gibt es dafür ein gutes Buch.
Danach würde ich erst anfangen mich mit dem Thema zu beschäftigen.
Hat Du ein Pflichten oder Lastenheft vorliegen?
Gruss Penny
warum MySQL? Wenn es sich um Active Directory handelt, dann nehme MS SQL.
Ich empfehle Dir, Dich als erstes mit SQL zu beschäftigen. Denn es scheint mir, daß Du von Datenbanken wenig Kenntnisse besitzt. Dazu kannst Du MySQL verwenden. VomRheinwerk-Verlag gibt es dafür ein gutes Buch.
Danach würde ich erst anfangen mich mit dem Thema zu beschäftigen.
Hat Du ein Pflichten oder Lastenheft vorliegen?
Gruss Penny
@Playse
OK, das wäre vorteilhaft, wenn man es gleich in der Frage gestanden hätte.
Bzgl. MySQL Basics kann ich Dir das von mir genannte Buch empfehlen.
Dort wirst Du von Grund auf in Datenbanken eingewiesen.
Gruss Penny
OK, das wäre vorteilhaft, wenn man es gleich in der Frage gestanden hätte.
Bzgl. MySQL Basics kann ich Dir das von mir genannte Buch empfehlen.
Dort wirst Du von Grund auf in Datenbanken eingewiesen.
Gruss Penny