| Zurück zu PAM |
Konfiguration von MySQL
Für diejenigen, welche "lokal" Benutzer benutzen wollen, geht es hier --> weiter
Als Erstes sorgen wir dafür, dass die MySQL Datenbank nur von unserem Server
aus erreichbar ist.
Dazu gehen wir in die Datei: /etc/init.d/mysql.server
und ändern folgende Zeile:
| $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file& |
| $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file --bind-address=127.0.0.1& |
Jetzt ist unsere MySQL Datenbank an localhost(127.0.0.1) gebunden.
Zum Schluss starten wir noch unsere MySQL Datenbank:
| /etc/init.d/mysql.server start |
damit wir ganz sicher gehen können, dass die Datenbank läuft:
| netstat -an | grep LISTEN output: |
und fertig. MySQL können wir nun benutzen.
Damit sich unsere Benutzer an der MySQL Datenbank authentifizieren können,
müssen wir noch pam_mysql konfigurieren.
Wir erstellen eine Datei: /etc/pam.d/imap
mit folgendem Inhalt:
| auth sufficient pam_mysql.so user=mail passwd=secret host=localhost
db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1
logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid
logtimecolumn=time auth sufficient pam_unix_auth.so account required pam_mysql.so user=mail passwd=secret host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time account sufficient pam_unix_acct.so |
zur Erklärung:
- "auth sufficient pam_mysql.so", gibt
an mit welchem PAM Modul wir uns authentifizieren.
- "user=mail", ist unser Benutzer, mit dem
wir die Datenbank ansprechen.
- "passwd=secret", ist unser Benutzer Passwort.
- "host=localhost", ist unser MySQL host.
- "db=mail", ist unsere Datenbank.
- "table=accountuser", ist unsere Tabelle,
in der wir die Benutzerdaten speichern.
- "usercolumn=username", unsere Spalte in
welcher der Benutzername steht.
- "passwdcolumn=password", unsere Spalte
in welcher das Passwort steht.
- "crypt=1", gibt an ob das Passwort verschlüsselt
werden soll, 1 für JA, 0 für NEIN.
Der Rest ist noch für die LOG Tabelle zuständig und für die
reibungslose PAM Authentifizierung.
Bitte achte auf "passwd=secret" und
"user=mail", solltest du einen anderen Benutzernamen
und Passwort haben, so änder dieses bitte hier in der Datei.
Jetzt kopieren wir die Datei noch für unsere anderen Dienste:
| cp /etc/pam.d/imap /etc/pam.d/pop cp /etc/pam.d/imap /etc/pam.d/sieve cp /etc/pam.d/imap /etc/pam.d/smtp |
Damit später Postfix mit unserer MySQL Datenbank reden kann, legen wir dazu einige Datein an.
Als erstes ist die "virtual alias map" dran, dazu legen wir die Datei: /etc/postfix/mysql-virtual.cf an mit dem folgenden Inhalt:
#Host der Datenbank # Der Datenbank name select_field = dest |
Als nächstes die Datei: /etc/postfix/mysql-canonical.cf:
#Host der Datenbank # Der Datenbank name select_field = alias # Das erste ergebniss zurück liefern |
und zum Schluss noch /etc/postfix/mysql-mydestination.cf:
| #Host der Datenbank hosts = localhost #Benutzername und Passwort der Datenbank # Der Datenbank name # Der Tabellen name select_field = domain_name |
Bitte auf das Passwort und den Benutzernamen für die MySQL Datenbank achten, hier geben wir das Gleiche an wie oben in der PAM Datei.
Fertig, jetzt sollte die reibungslose Authentifizierung an MySQL klappen.
| Zurück zu PAM |