linux-l: Exim

Michael Müller mueller_michael at nikocity.de
Di Mai 2 22:20:29 CEST 2000


Ich versuche, exim mit Authentifizierung einzurichten.
Doch das Suchen des Paßwortes in /etc/shadow klappt nicht.
Die Zeilen dazu habe ich aus einer Beispiel-Datei, wobei leider dabei
steht, daß die Zeilen nicht getestet sind, da der Verfasser mit NIS
arbeitet.
Ich habe das Beispiel nun soweit gestrafft, daß es funktioniert; aber
leider nur für den festverdrahteten Benutzer (mich!). Was läuft beim
Rest schief?

plain:
  driver = plaintext
  public_name = PLAIN
#  server_condition = "${if and {{!eq{$2}{}}{!eq{$3}{}} \
#  {eq{$2}{mueller}}{crypteq{$3}{AbCdEfGhIjKl}}}{1}{0}}"
  server_condition = "${if and {{!eq{$2}{}}{!eq{$3}{}} \
  {crypteq{$3}{${extract{2}{:} \
  {${lookup{$2}lsearch{/etc/shadow}{$value}{*:*}}}}}}}{1}{0}}"
  server_set_id = $2

Die auskommentierte server_condition ist die, die funktioniert (bei
AbCdEfGhIjKl stand mein Passwort aus shadow); aber eben nur für mich.
Die andere soll funtionieren!

Handelt es sich dabei eigentlich um Perl? Was passiert da genau?
Mit lookup suche ich in /etc/shadow nach $2 (=user) und bekomme die
ganze Zeile? Steht lsearch vielleicht für line search? Wenn $2 gefunden
wurde, daß wird $value, was der Zeile entspricht, zurückgegeben, sonst
"*.*"? Dann wird mit extract aus dieser Zeit das 2. Element genommen,
wobei : der Elementtrenner ist? Ist es so? Warum klappt es dann nicht?



Gibt es eigentlich eine Möglichkeit herauszufinden, welche Features
schon mit in exim hineinkompilierrt wurden?

MfG

Michael Müller



Mehr Informationen über die Mailingliste linux-l