Hi Basti,
vielen Dank für den Auszug aus Ratschiller und Gerken. Ich habe die Bedenken verstanden und werde sie beachten. Dazu muss ich mich aber erst in apache besser einarbeiten...
Aber ich habe nicht schlecht gestaunt, als ich bei der Anwendung von .htaccess einen gewissen Wiedererkennungseffekt verspürt habe: mein Zugang zu meinem „persönlichen Büro“ an der Uni sieht genauso aus!! Da scheint man nicht abgeneigt zu sein, sicherheitsrelevante Daten so zu schützen. Allerdings ist der Hostname eingeschränkt (weiter unten dazu mehr?!). Leider werde ich sicher keine Antwort auf eine Anfrage beim zuständigen Admin bekommen. Erst recht nicht über die dahinter liegenden Sicherheitsmaßnahmen.
zu MySQL:
Die Rechteverwaltung funktioniert im Prinzip so, wie Du sie beschreibst. Aber ich brauche mir nicht extra ein php-Skript auszudenken. Die Rechtevergabe ist Bestandteil von MySQL und ich habe sie nach kurzer Zeit ebenfalls verstanden. Ich habe deshalb für den als Administrator angemeldeten Benutzer eine graphische Benutzerberfläche zusammengebastelt, die nach dem Prinzip des MySQL-Monitors, aber im Gegensatz dazu durch Auswahl der gewünschten Berechtigung in einer Checkbox, funktioniert. Dazu biete ich Hilfe in einem extra frameset für jeden relevanten Administrationsschritt an.
Du schreibst, ich soll mich etwas genauer ausdrücken:
Ich habe vor, (vorerst!) die Benutzerrechtevergabe von MySQL zu benutzen. Das sieht dann in Kurzform so aus (soweit, wie ich es grob vereinfacht darstellen kann):
Es sind fünf hierarchisch angeordnete Tabellen in der DB(!!) mysql vorhanden. In der Tabelle user erhält der Admin alle oder fast alle Berechtigungen und in der Tabelle db die Berechtigung auf die Tabelle user. Er kann also nicht auf die Datenbanken, Tabellen und Tabelleninhalte von noch anzulegenden Benutzern zugreifen. Wie ich das sperre weiß ich noch nicht genau. Der einfache Benutzer erhält in der Tabelle user keine Rechte, ihm wird in der Tabelle db „seine DB“ mit den notwendigen Rechten zugewiesen (evtl. ebenfalls keine) und in „seiner“ Tabelle wird die Feinabstimmung der Berechtigungen bis hin zur einzelnen Zeile/Spalte vorgenommen.
Die Anmeldung erfolgt über den festzulegenden „host“, den Zugangsnamen und das Zugangspasswort. Stimmen alle drei Einträge überein, so ist der Benutzer angemeldet. „host lässt sich dabei z.B. auf eine firmeninterne IP-Adresse oder einen Klarnamen beschränken. Hat der Admin sich in der Firma angemeldet, so besitzt er z.B. alle Rechte. Ist im „host“-Eintrag auch der Platzhalter „%“zugelassen, so ist eine Anmeldung von ausserhalb möglich. Hier lege ich dann für diesen Spezialfall die Zugriffsrechte für die admin-Tabelle user auf nicht erteilt und verhindere den Zugriff auf die DB user durch einen entsprechenden Eintrag in der Tabelle db. Es kann sich also der Admin, wenn er sich von außerhalb anmeldet mysql nicht administrieren.
Zwischenfrage:
Kann es sein, dass sich das Programm phpMyAdmin x.y.z über den Platzhalter „%“ oder „localhost“ oder von MySQL bereits eingetragene Kennung den Zugang zu den einzelnen Datenbanken verschafft? Wenn ja, dann ist es sicher sinnvoll, diese Einträge in der Tabelle user zu entfernen. Wenn nein, welchen Weg benutzt das Programm dann?
Die Einteilung in Gruppen erschwert dabei meiner Auffassung nach die starke Differenzierung der Zuordnung von Rechten. Aber wenn es ein Bedarf an Gruppenrechten gibt, so können sich ja alle Gruppenteilnehmer z.B. über einen, an die firmeninterne Struktur angepassten Abteilungs-Benutzer anmelden.
Ich hoffe, ich habe jetzt niemanden gelangweilt und wenn es eine professionelle Einschätzung dieses Konzeptes von MySQL gibt, so wäre ich für eine Nachricht dankbar.
Es ist auch schon mal das Stichwort „Session“ gefallen. Dazu habe ich ein noch etwas zwiespältiges Verhältnis. Der Grund ist einfach erklärt: ich habe als ersten Schritt in der für mich neuen Sprache php ein Session-Skript abgeschrieben und ausprobiert. Natürlich bin ich kläglich gescheitert (nicht lachen...!) und habe mich etwas frustriert an den Autor gewandt. Der ließ mich mit der Bemerkung sitzen, dass sein Skript bei ihm ganz toll funktioniert.
In zwischen muss ich aber zu seiner Rechtfertigung schreiben, dass ich mich wohl auch wie ein Landei benommen habe...
Und so habe ich das erst einmal verschoben (ich werde erst die bereits erschienenen Beiträge durchforsten) und versuche mich in die Grundlagen einzuarbeiten.
Die von Dir gestellten Fragen an tink sind sehr interessant und so bin auch ich auf die Antworten gespannt
freundlichst grüßt
Evelin