[Postfixbuch-users] MYSQL für Sasl einrichten

Holm Kapschitzki holm at oleco.net
Di Jan 3 18:34:51 CET 2006


Heiner Lamprecht schrieb:

>Alternative:
>
>INSERT INTO user (Host, User, Password, Select_priv) VALUES 
>('localhost', 'postfix', '', 'Y');
>
>Übrigens:  Es wäre IMHO von Vorteil, in der user-Tabelle die Rechte 
>weitgehend auf 'N' zu setzen und anschließend in der Tabelle db für 
>eine einzelne Datenbank auf 'Y' zu setzen.  Wenn man es in user 
>macht, gilt es für alle Datenbanken.  So, wie es dort oben steht, 
>darf der DB-User 'postfix' in allen Datenbanken Tabellen anlegen, 
>löschen, neue Datenbanken anlegen, Inhalte ändern, ...  Und das 
>alles ohne Passwort.
>
>  
>

mysql> INSERT INTO user (Host, User, Password, Select_priv) VALUES 
('localhost', 'postfix', '', 'Y');
Query OK, 1 row affected (0.00 sec)

ok, dass hat erstmal funktioniert, aber jetzt habe ich das 
Sicherheitsproblem

'describe user; :

mysql> describe user;
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field                 | Type                              | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host                  | varchar(60)                       |      | PRI |         |       |
| User                  | varchar(16)                       |      | PRI |         |       |
| Password              | varchar(41)                       |      |     |         |       |
| 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       |       |
| Grant_priv            | enum('N','Y')                     |      |     | N       |       |
| References_priv       | enum('N','Y')                     |      |     | N       |       |
| Index_priv            | enum('N','Y')                     |      |     | N       |       |
| Alter_priv            | enum('N','Y')                     |      |     | N       |       |
| Show_db_priv          | enum('N','Y')                     |      |     | N       |       |
| Super_priv            | enum('N','Y')                     |      |     | N       |       |
| Create_tmp_table_priv | enum('N','Y')                     |      |     | N       |       |
| Lock_tables_priv      | enum('N','Y')                     |      |     | N       |       |
| Execute_priv          | enum('N','Y')                     |      |     | N       |       |
| Repl_slave_priv       | enum('N','Y')                     |      |     | N       |       |
| Repl_client_priv      | enum('N','Y')                     |      |     | N       |       |
| ssl_type              | enum('','ANY','X509','SPECIFIED') |      |     |         |       |
| ssl_cipher            | blob                              |      |     |         |       |
| x509_issuer           | blob                              |      |     |         |       |
| x509_subject          | blob                              |      |     |         |       |
| max_questions         | int(11) unsigned                  |      |     | 0       |       |
| max_updates           | int(11) unsigned                  |      |     | 0       |       |
| max_connections       | int(11) unsigned                  |      |     | 0       |       |
+-----------------------+-----------------------------------+------+-----+---------+-------+

Ich zähle 31.

Wenn ich jetzt den Befehl ausführe:

INSERT INTO user VALUES ('localhost','postfix','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');


dann würde es jetzt auch funktionieren. Doch leider habe ich schon vorher den anderen Befehl ausgeführt, was er mir gleich mit einem:

ERROR 1062 (23000): Duplicate entry 'localhost-postfix' for key 1

quittiert.

Eigentlich muss ich doch bloss phpmyadmin öffnen auf "rechte" gehen dann Datenbankspezifische Rechte öffnen und dort postfix das Recht auf die Datenbank "mail" geben. In diesem Sinne alle Rechte oder nur "select" Rechte ?

Muss ich jetzt dem user "postfix" ein Kennwort geben, oder reicht auh keins, da mysql idealerweise ja an localhost gebunden wird ?

Gruß Holm






Mehr Informationen über die Mailingliste Postfixbuch-users