Mailinglisten-Archive |
On Thu, 14 Oct 1999 22:14:03 +0200, Ralf Dieterle wrote: >hat jemand Tools und/oder Hilfen/Infos zu >grants von tables_priv und columns_priv ? Ich erlaube mir, etwas von Martin Ramsch geschriebenes hier zu posten: [...] Stattdessen erzeugt man gewöhnlich in MySQL einen Benutzer, indem man diesen Benutzer OHNE jegliche inhärente Rechte erzeugt: INSERT INTO user (host, user, password) VALUES ('fromhost', 'username', PASSWORD('gemein')); Dieser User ist nun ein Nichts & Niemand. Er kann nix und darf auch nix. Ihm können jetzt für eine Datenbank einzelne, spezifische Rechte erteilt werden. In MySQL 3.22 sind dies die 6 Rechte select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, die die gleichnamigen SQL-Befehle freischalten. Man macht also INSERT INTO db ( host, db, user, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv) VALUES ( '%', 'database', 'username', 'y', 'y', 'y', 'y', 'y', 'y'); Dabei sollte man folgende Dinge beachten: MySQL-Benutzer haben keinen Zusammenhang mit UNIX- oder NT-Benutzern, außer daß PHP sinnvolle Defaults dafür annimmt, wenn man beim Connect nix angibt (was man gewöhnlich aber tut). MySQL-Benutzer haben immer die Form (username, fromhost), sodaß man niemals einen Benutzer, sondern immer einen Benutzer von einem Rechner freischaltet. MySQL versteht hier SQL-Wildcards. MySQL-Benutzer gibt es in 3 grundsätzlich sinnvollen Berechtigungsstufen: - Rein lesender Zugriff -> Nur select_priv geben. Dies ist sinnvoll bei rein lesenden Anwendungen, z.B. ein Spamgenerator, der sich die Adreßspalte einer Kundentabelle aus der Datenbank liest. - Lesender und ändernder Zugriff -> select, insert, update, delete geben. Dies ist sinnvoll für alle normalen Webanwendungen, die auf eine Datenbank editierend zugreifen (z.B. für das Admin-Interface zu der o.a. Werbemüllschleuder) - Strukturverändernder Zugriff (die o.a. 4 Rechte + create + drop) Dies ist oftmals nur zur Installation notwendig, damit die benötigten Tables erzeugt und gelöscht werden können. Die meisten Anwendungen brauchen diese Rechte nicht. Damit MySQL die geänderten Zugriffsrechte zur Kenntnis nimmt, muß auf der Kommandozeile "mysqladmin reload" gefahren werden. hth amalesh --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive