playse
Goto Top

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

Content-Key: 363121

Url: https://administrator.de/contentid/363121

Printed on: April 19, 2024 at 21:04 o'clock

Member: vossi31
vossi31 Feb 01, 2018 at 08:03:47 (UTC)
Goto Top
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.

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
Member: eisbein
eisbein Feb 01, 2018 updated at 08:22:03 (UTC)
Goto Top
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 face-wink

Gruß
eisbein

Edit: Die sinnvolle Anregung von @vossi31 die Benutzerlevel für Gruppenrechte zu gebrauchen habe ich hier nicht nicht skizziert.
Member: Tektronix
Tektronix Feb 01, 2018 at 09:18:21 (UTC)
Goto Top
Hallo,
schau Dir mal das Programm an, da kannst Du Deine MySQL Datenbank grafisch erstellen.
FabForce DBDesigner
Member: Playse
Playse Feb 01, 2018 at 09:52:15 (UTC)
Goto Top
Hallo zusammen,

erstmal vielen Dank für die Antworten. Damit kann ich ja schon mal ein Grundgerüst bauen und schauen, ob es mir genügt.
Das kann ich ja dann zum Üben der Tutorials nutzen, die ich mir zum Thema SQL/MySQL anschauen werde.

Das Tool schaue ich mir auch mal an. Sowas ist ja immer besser "greifbar", wenn man es sieht.

Wenn Fragen aufkommen, melde ich mich wieder.

Beste Grüße!
Member: Penny.Cilin
Penny.Cilin Feb 01, 2018 at 10:33:18 (UTC)
Goto Top
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
Member: Playse
Playse Feb 02, 2018 at 13:05:44 (UTC)
Goto Top
Hallo Penny,

vielen Dank für deine Antwort. Ich habe tatsächlich wenig Ahnung von Datenbanken. Die Aufgabe ist aber kein Projekt, sondern einfach just for fun. Wenn es klappt, wie geplant, ist es gut. Wenn es nicht klappt, ist es auch nicht schlimm. Also: Nein, es gibt kein Lasten- oder Pflichtenheft. Lediglich eine Excel-Tabelle in der bisher die Berechtigungen erfasst wurden und eine MySQL Installation. Das versuche ich jetzt zusammen zu bringen um eventuell ein paar MySQL Basics zu erlernen.
Member: Penny.Cilin
Penny.Cilin Feb 02, 2018 at 16:46:40 (UTC)
Goto Top
@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