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


Zugriffsberechtigungen (Privilege-System)

 

Direkt nach der Installation sollte man die Zugriffsrechte auf die MySQL Datenbank einschränken. Hierzu sollte das Einsteigertutorial MySQL für LINUX allen Einsteigern eine solides Verständnis der Materie vermitteln. Wer nun tiefer in die Vergabe derRechte einsteigen möchte, für den sind die folgenden Kapitelvon Interesse:

 

MySQL verwendet ein leistungsstarkes, nicht standardisiertesSicherheits/Zugriffs-System, welches im Folgenden näherdargestellt werden soll.

Vorab sei erwähnt, daß nach jeder Änderung der Zugriffsrechteein Reload des DB-Servers durchgeführt werden muß, damitdie Änderungen wirksam werden. Dies wird mittels: mysqladminreload erledigt.

 

Die grundlegende Funktion besteht darin, einem Benutzerauf einem Host Berechtigungen zur Ausführung von SELECT,INSERT, UPDATE und DELETE Befehlenzu erteilen (oder auch nicht). Ferner kann die Verwendungeines Anonymen Benutzer sowie MySQL-Funktionenwie LOAD DATA INFILE geregelt werden. Weiterhin werdenmittels des Berechtigungssystems administrative Rechte andem DB-Server selbst, wie z.B. Reload, vergeben.

  • Anmerkung: Man sollte im Folgenden beachten, daß die MySQL Usernamen und Passwörter nichts mit den UNIX-Usernames und Passwörtern zu tun haben!

 

 

MySQL unterscheidet nicht zwischen einzelnen Benutzern sondern zwischen der Kombination aus Benutzer und Host. Diese Kombination ergibt eine eindeutige ID. Das Sicherheitssystem regelt hierbei genauestens welcher Benutzer von welchem Host welche Rechte auf welcher Datenbank besitzt.

Diese Einstellungen werden in drei Tabellen abgelegt:

     user 
     host 
     db 

Die jeweiligen Tabellen sind wie folgt aufgebaut:

 

 

Beinhaltet alle Host/User Kombinationen, welche den MySQL-Server connecten dürfen. Alle Berechtigungen die ein Benutzer in dieser Tabelle enthält gelten für alle Datenbanken, sofern keine erweiterten Berechtigungen für den jeweiligen Benutzer in der Tabelle db definiert wurden. Man kann diese Berechtigungen auch als grundlegende Einstellungen ansehen und ein datenbankabhängiges Fein-Tunig in der Tabelle db festlegen.

Der Tabellenaufbau:

Field Type Key Default 
--------------------------------------------------------------- 
Host char(60) PRI  
User char(16) PRI  
Password char(16) -  
Select_priv enum(N,Y) - N 
Insert_priv enum(N,Y) - N 
Update_priv enum(N,Y) - N 
Delete_priv enum(N,Y) - N 
Create_priv enum(N,Y) - N 
Drop_priv enum(N,Y) - N 
Reload_priv enum(N,Y) - N 
Shutdown_priv enum(N,Y) - N 
Process_priv enum(N,Y) - N 
File_priv enum(N,Y) - N 

 

 

In dieser Tabelle wird definiert welche Datenbank der jeweilige Host/Benutzer mit welchen Berechtigungen verwenden darf. Sie stellt wie bereits erwähnt das Fein-Tunig da.

Der Tabellenaufbau:

Field Type Key Default 
--------------------------------------------------------------- 
Host char(60) PRI  
Db char(64) PRI  
User char(16) PRI  
Select_priv enum(N,Y) - N 
Insert_priv enum(N,Y) - N 
Update_priv enum(N,Y) - N 
Delete_priv enum(N,Y) - N 
Create_priv enum(N,Y) - N 
Drop_priv enum(N,Y) - N 

 

 

 

Die host-Tabelle ist in großen Netzwerken als Nachschlage-Tabelle für leere Host-Einträge in der db-Tabelle sinnvoll. Möchte man, daß ein Benutzer von jedem Host in dem Netzwerk auf den DB-Server zugreifen kann, sollte man den Host-Eintrag in der db-Tabelle auslassen und alle Host des Netzwerkes in der host-Tabelle eintragen.

Der Tabellenaufbau:

Field Type Key Default 
--------------------------------------------------------------- 
Host char(60) PRI  
Db char(64) PRI  
Select_priv enum(N,Y) - N 
Insert_priv enum(N,Y) - N 
Update_priv enum(N,Y) - N 
Delete_priv enum(N,Y) - N 
Create_priv enum(N,Y) - N 
Drop_priv enum(N,Y) - N 

 

 

Die HOST und DB Spalten können Strings mit Wildcards % und _ beinhalten. Wird für diese Spalten kein Wert eingetragen entspricht dies dem Wert %.

Ein HOST kann sein:

  
     localhost 
     ein Hostname 
     eine IP-Nummer 
     ein String mit Wildcards 

Ein leerer HOST-Eintrag in der db-Tabelle bedeutet -kein Host- aus der host-Tabelle. Ein leerer HOST-Eintag in der host- oder user-Tabelle bedeutet -kein Host-.

Die Spalte DB beinhaltet den Namen einer Datenbank oder einer SQL Regexp.

Ein leerer Benutzereintrag bedeutet -kein Benutzer-. In dieser Spalte können keine Wildcards verwendet werden.

Die Berechtigungen der user-Tabelle werden ge-OR-d mit den Berechtigungen aus der db-Tabelle. Dies Bedeutet, daß ein Superuser nur in der Tabelle user mit allen Berechtigungen festgelegt auf Y eingetragen werden muß.

Wenn man sich nun den Aufbau der Tabellen näher betrachtet, wird man feststellen, daß die user-Tabelle zusätzlich zu den Zugriffsberechtigungen auf die jeweilige Datenbank auch administrative Berechtigungen regelt. Dadurch sollte klar sein, daß diese Tabelle die grundlegenden Berechtigungen regelt.

 

 

Im folgenden Beispiel soll der Benutzer custom mit dem Paßwort stupid angelegt werden.Der Benutzer soll die Möglichkeit haben sich von den Hosts localhost, server.domain und whitehouse.gov anzumelden. Die Datenbank bankaccount möchte er nur von dem Host localhost und die Datenbank customer von allen Hosts ansprechen können.

> mysql -u root 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); 
 
mysql> quit 
 
> mysqladmin reload 
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