216 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
mysql> INSERT INTO user (Host,User,Password)
VALUES(’%’,’heinzholger’,PASSWORD(’keks’));
Sie m¨ussen die PASSWORD()-Funktion auch benutzen, wenn Sie SET PASSWORD-Statements
gebrauchen:
mysql> SET PASSWORD FOR heinzholger@"%" = PASSWORD(’keks’);
Wenn Sie Passw¨orter mit dem GRANT ... IDENTIFIED BY-Statement oder dem mysqladmin
password-Befehl setzen, wird die PASSWORD()-Funktion nicht ben¨otigt. Beide sorgen daf¨ur,
dass das Passwort verschl¨usselt wird, daher w¨urden Sie ein Passwort ’keks’ wie folgt setzen:
mysql> GRANT USAGE ON *.* TO heinzholger@"%" IDENTIFIED BY ’keks’;
oder
shell> mysqladmin -u heinzholger password keks
NOTE: PASSWORD() verschl¨usselt Passw¨orter nicht auf dieselbe Art, wie das bei Unix-
Passw¨ortern der Fall ist. Wenn daher Ihr Unix-Passwort und Ihr MySQL-Passwort identisch
sind, sollten Sie daraus nicht schließen, dass PASSWORD() denselben Verschl¨usselungswert
ergibt wie der, der in der Unix-Passwortdatei gespeichert ist. Siehe Abschnitt 5.3.2 [User
names], Seite 208.
5.3.8 Wie Sie Ihre Passw¨orter sicher halten
Es ist nicht ratsam, Ihr Passwort so einzugeben, dass es von anderen Benutzern entdeckt
werden kann. Die verschiedenen Methoden, Passw¨orter bei der Benutzung von Client-
Programmen einzugeben, sind unten aufgef¨uhrt, jeweils mit einer Einsch¨atzung des Risikos
der Methode:
• Geben Sie einem normalen Benutzer nie Zugriff auf die mysql.user-Tabelle. Wenn je-
mand das verschl¨usselte Passwort f¨ur einen Benutzer kennt, erm¨oglicht ihm das, sich als
dieser Benutzer einzuloggen. Die Passw¨orter sind nur ’zerhackt’, so dass niemand das
echte Passwort sehen k¨onnen sollte, das Sie benutzen (falls Sie ein ¨ahnliches Passwort
f¨ur Ihre anderen Applikationen benutzen sollten).
• Sie k¨onnen auf der Kommandozeile die -pyour_pass- oder --password=your_pass-
Option benutzen. Das ist bequem, aber unsicher, weil Ihr Passwort f¨ur Systemzu-
standsprogramme (wie ps) sichtbar wird, die m¨oglicherweise von anderen Benutzer
aufgerufen werden, um Kommandozeilen anzuzeigen. (MySQL-Clients ¨uberschreiben
typischerweise die Kommandozeilenargumente w¨ahrend der Initialisierungssequenz mit
Nullen, dennoch gibt es einen kurzen Zeitraum, w¨ahrend dessen der Wert sichtbar ist.)
• Sie k¨onnen eine -p- oder --password-Option (ohne ihr_passwort-Wert) benutzen. In
diesem Fall erbittet das Client-Programm das Passwort vom Terminal:
shell> mysql -u benutzername -p
Enter password: ********
Die ‘*’-Zeichen stehen f¨ur Ihr Passwort.
Es ist sicherer, Ihr Passwort auf diese Art einzugeben statt auf der Kommandozeile,
weil es f¨ur andere Benutzer nicht sichtbar wird. Diese Methode ist jedoch nur f¨ur
Programme geeignet, die interaktiv laufen. Wenn Sie einen Client von einem Skript
aus aufrufen wollen, das nicht interaktiv l¨auft, gibt es keine M¨oglichkeit, das Passwort
vom Terminal aus einzugeben. Auf solchen Systemen kann es sogar vorkommen, dass
Comentarios a estos manuales