SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

SOFTWARE

GRANT und REVOKE

GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...] ON {tbl_name | * | *.* | db_name.*} TO user_name [IDENTIFIED BY 'password'] [, user_name [IDENTIFIED BY 'password'] ...] [WITH GRANT OPTION]

REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...] ON {tbl_name | * | *.* | db_name.*} FROM user_name [, user_name ...]


GRANT ist erst seit der Version MySQL 3.22.11 implementiert.MySQL hat ein fortschrittliches, aber vom Standard abweichendesSicherheits/Rechte-System. Was kann das Rechte-System erledigen?

Die grundlegende Funktion des MySQL-Rechte-Systems ist es,einem Usernamen auf einem Host die SELECT, INSERT, UPDATEund DELETE Rechte bzgl. einer Datenbank zu erteilen. Außerdembesteht die Möglichkeit, einem "anonymous"-User bestimmteDinge zu erlauben, und eventuell auch Statements, wie z.B.LOAD DATA INFILE auszuführen. In der neuesten Version 3.23ist auch die Vergabe von Rechten in Abhängigkeit der Hostadresse,der IP-Nummer oder der Netzwerk-Adresse möglich. Host Nummerund Userpasswort sind dabei unabhängig voneinander, wasbedeutet, daß es z.B. zwei User mit demselben Usernamengeben darf, vorausgesetzt, daß diese sich stets aus anderenNetzwerken einloggen. Es sollte beachtet werden, daß dieUsernamen für die MySQL - Datenbank nichts mit UNIX - Usernoder Microsoft Windows NT/98 Konten zu tun haben. MySQLversteht die Kombination aus einem Hostname, einer Netzwerkadresseoder einer IP-Nummer in Verbindung mit einem einem Userals eindeutige Identität. Aufgrund dieser Identität entscheidetdas GRANT System dann welche Rechte ein Client erhält. DieRechte können jederzeit mit dem Skript mysqlaccess getestetwerden.

Alle Rechte werden in drei Tabellen: user, host und db gespeichert:

Tabellen Name           user            db              host 
 
Scope Felder            Host            Host            Host 
                        User            Db              Db 
                        Password        User            
 
Privileg Felder         Select_priv     Select_priv     Select_priv 
                        Insert_priv     Insert_priv     Insert_priv 
                        Update_priv     Update_priv     Update_priv 
                        Delete_priv     Delete_priv     Delete_priv 
                        Index_priv      Index_priv      Index_priv 
                        Alter_priv      Alter_priv      Alter_priv 
                        Create_priv     Create_priv     Create_priv 
                        Drop_priv       Drop_priv       Drop_priv 
                        Grant_priv      Grant_priv      Grant_priv 
                        Reload_priv 
                        Shutdown_priv 
                        Process_priv 
                        File_priv  


Jedes in der User-Tabelle erteilte Recht ist für alle Datenbanken gütig, die in der db-Tabelle nicht gefunden werden können. Deshalb sollte man einzelnen Usern (vom Supervisor abgesehen) Rechte nur auf Datenbank-Ebene zuteilen.

Die Host-Tabelle existiert hauptsächlich, um eine Liste "sicherer" Server zu verwalten. Bei TcX enthält die Host-Tabelle eine Liste aller Rechner im lokalen Netzwerk.

Die Rechte des sich gerade anmeldenden Users werden nach dem folgenden Algorithmus festgestellt:

Die Tabelle host wird nach Hosts ohne Wildcard, gefolgt von hosts mit einer Wildcard und Einträgen mit host="" sortiert. Innerhalb jedes hosts, wird nach den gleichen Regeln nach dem user sortiert. Die Tabelle db wird nach den gleichen Regeln sortiert. Bei den nachfolgenden Schritten wird in den so sortierten Datensätzen nachgesehen und der erste passende Datensatz verwendet.

Die Rechte des sich anmeldenden Benutzers werden aus der Tabelle user entnommen. Dabei wird, wie bereits weiter oben beschrieben, der erste passende Datensatz aus der vorher sortierten Tabelle verwendet. Den so erhaltenen Satz an Rechten nennen wir einmal PRIV. Die Rechte des sich anmeldenden Benutzers werden aus der Tabelle db entnommen. Auch hier wird die vorher sortierte Tabelle, und der erste passende Datensatz verwendet.

Falls der in der db-Tabelle gefundene Datensatz den Eintrag host="" enthält, werden die ursprünglichen Rechte PRIV aus der user-Tabelle mit den Host-Rechten aus der host-Tabelle logisch UND verknüpft. D.h. im Klartext: Aus beiden Datensätzen werden alle Rechte entfernt. bei denen nicht in in beiden Fällen ein "Y" eingetragen ist. Falls host

"" ist , so werden die Rechte von PIV nicht verändert. In solchen Fällen muß der host-Eintrag zumindest teilweise mit dem Hostname des verbindenden Hosts übereinstimmen. Deshalb kann angenommen werden, daß die in dieser Zeile festgelegten Rechte dem Profil des sich anmeldenden hosts entsprechen.

Die Rechte des Users aus der Tabelle user werden anschließend mit dem PRIV Rechtesatz logisch ODER verknüpft. (d.h. alle Y-Rechte werden hinzugefügt).

Achtung: Falls in den Rechte-Tabellen etwas verändert wurde, muß das Kommando: mysqladmin reload durchgeführt werden, damit die Änderungen aktiv werden.

Der sich einloggende User erhält dann die PRIV Rechte zugewiesen. Nachfolgend ein Beispiel für das Sortieren und Auffinden der richtigen Datensätze. Angenommen, die user-Tabelle sieht folgendermaßen aus:

+-----------+---------+-
| Host      | User    | ...
+-----------+---------+-
| %         | root    | ...
| %         | jeffrey | ...
| localhost | root    | ...
| localhost |         | ...
+-----------+---------+-

Die Suchreihefolge sieht dann (nach erfolgter Sortierung) folgendermaßen aus:

 
localhost/root 
localhost/any 
any/jeffrey 
any/root

Jeffrey der sich via localhost anmeldet (also von der Arbeitsstation, auf der mysqld läuft), und wird deshalb mit den Rechten localhost/any und nicht mit den Rechten any/jeffrey ausgestattet, da immer der erste passende Eintrag verwendet wird !

Falls Sie also Probleme mit den Zugriffsrechten haben, lassen Sie sich den Inhalt der Tabelle user ausgeben, sortieren ihn von Hand und stellen den ersten passenden Datensatz fest.

Es folgt nun ein Beispiel um den user "custom" hinzuzufügen der sich von den Hosts "localhost", "server.domain" und "whitehouse.gov" anmelden darf. Er möchte das Password "stupid" haben. Die Datenbank "bankaccount" möchte er nur via "localhost", die Datenbank "customer" von allen drei hosts aus erreichen können:

 
shell> mysql mysql.
mysql> insert into user (host,user,password)
       values('localhost','custom',password('stupid'));
mysql> insert into user (host,user,password)
       values('server.domain','custom',password('stupid'));
mysql> insert into user (host,user,password)
       values('whitehouse.gov','custom',password('stupid'));
 
mysql> insert into db
       (host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,
        Create_priv,Drop_priv)
       values
       ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
mysql> insert into db
       (host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,
        Create_priv,Drop_priv)
       values
       ('%','customers','custom','Y','Y','Y','Y','Y','Y');


Sie können selbstverständlich xmysqladmin, mysql_webadmin, mysqladmin und xmysql oder PHPmyAdmin verwenden, um in den Rechte-Tabellen Datensätze einzufügen oder abzuändern.

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere