phpbar.de logo

Mailinglisten-Archive

RE: Tools und/oder Hilfen/Infos zu grants tables_priv und columns_priv
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Tools und/oder Hilfen/Infos zu grants tables_priv und columns_priv



Schön, und was macht man ohne Zugriff auf die User-DB?

Z.B. bei Strato gibts eine zentrales MySQL-RDBMS,
der User erhält nur einen Account auf seine DB. :-((

Da muß man sich wohl selbst 'ne User-Tabelle anlegen und die
Zugriffe anderweitig kontrollieren.
(Oder einen anderen Provider suchen.)

Zurück zum Problem: Es macht in einigen Fällen auch Sinn, 
nicht nur Rechte auf ganze Datenbanken zu vergeben, 
sondern auch auf einzelne Tabellen oder Spalten.
Denk Dir mal eine Mitarbeiter-DB in der auch deine Lohndaten 
stehen. Darauf darf nur die Buchhaltung, nicht aber die Sekretärin
zugreifen die nur mal deine Adresse braucht.

Ciao, Rico.

> -----Original Message-----
> From: andreas kempf aka 'amalesh' [mailto:aka_(at)_bigfoot.de]
> Sent: Saturday, October 16, 1999 12:19 PM
> To: mysql-de_(at)_lists.4t2.com
> Subject: Re: Tools und/oder Hilfen/Infos zu grants tables_priv und
> columns_priv
> 
> 
> 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


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive