Dovecot + Imap für eine Gruppe

dannyl

Member
Hallo, habe da mal eine Frage.
Kennt von euch jemand eine Möglichkeit über Dovecot nur bestimmten Benutzergruppen IMAP-Zugang zu ermöglichen?
Da ich nichts finden konnte, dachte ich frage ich hier mal nach.
 
Zuerst dachte ich mir du meinst Shared Inboxes, aber inzwischen glaube ich die willst generell einen Zugriff über z.B. ein Webinterface erlauben und die IMAP Ports nur für bestimmte Nutzer freischalten, richtig?
 
nein, war mir noch nicht bekannt. Hab es mir mal angesehn. Meine Frage dazu wäre allerdings, wie bekomme ich die Benutzernamen der Gruppe in einer extra Datei aktuell gehalten. Ohne sie händisch reinschreiben zu müssen.

Ich schätze mit "Welches Userbackend wird verwendet?" meinst du das Admin-Panel. Da nutze ich Webmin, Virtualmin, Usermin. Hab aber auch ssh und sftp zu Verfügung. :)
 
Eine andere Möglichkeit ist mir leider noch nicht eingefallen, fällt dir denn eine ein?

Kannst du mir auch noch verraten was der Test machen soll? Oder schreib t der die Gruppenmitglieder dann in eine Datei? Weil sonst würde es ja nichts nützen, oder?
 
In dem von fbartels zitierten Text wird beschrieben, wie man die User von Dovecot durch PAM prüfen läßt. Damit kann man in /etc/pam.d/imap einfach zusätzliche Module einbauen, die neben der Überprüfung des Paßwortes durchlaufen werden.

Eines der Module ist der Test, ob der Username in einer angegebenen Datei enthalten ist. Wie das geht, steht ebenfalls im verlinkten Text. Das scheint dir ja offenbar nicht zu gefallen und deshalb habe ich gefragt, wie du es denn stattdessen lösen möchtest. PAM ist jedenfalls flexibel und erlaubt z.B. auch den Test, ob der User zu einer vorgegebenen Gruppe gehört. Das macht das Modul pam_succeed_if, dessen Doku ich verlinkt hatte.

In beiden Fällen mußt du eine Datei pflegen, ob die nun /etc/group oder anders heißt...
 
Da die /etc/group sowieso besteht ist es für mich einfacher die "pam_succeed_if" Methode zu wählen. jedoch stellt sich mir die Frage, kann man in der Datei /etc/pam.d/imap auch 2 Gruppen angeben?
Zum Beispiel wenn ich 10 Gruppen hab und 2 davon der zugriff erlaubt werden soll und 8 davon nicht. Also wenn der Benutzer in Gruppe 1 ist, ist der Zugriff erlaubt. Und in Gruppe 2 ist er auch erlaubt.
Also z.B. so
auth required pam_succeed_if.so debug user ingroup gruppe1
oder
auth required pam_succeed_if.so debug user ingroup gruppe2
Oder muss ich da unbedingt schreiben:
auth required pam_succeed_if.so debug user notingroup gruppe3
auth required pam_succeed_if.so debug user notingroup gruppe4
auth required pam_succeed_if.so debug user notingroup gruppe5
auth required pam_succeed_if.so debug user notingroup gruppe6
auth required pam_succeed_if.so debug user notingroup gruppe7
auth required pam_succeed_if.so debug user notingroup gruppe8
auth required pam_succeed_if.so debug user notingroup gruppe9
auth required pam_succeed_if.so debug user notingroup gruppe10
 
Rein theoretisch könntest du ja auch eine neue Gruppe "imapext" anlegen und drt alle Nutzer reinpacken, die von extern per IMAP zugreifen dürfen.
 
Ja klar, könte ich das. Da ist es aber einfacher, die Gruppen festzulegen, welche keinen Zugriff haben sollen.
Und die Gruppen sollen ja dann von Virtualmin gepflegt werden.
Danke euch
 
Ich habe eine Lösung für die 2 Gruppen gefunden, natürlich nur weil ich es jetzt zwingend brauchte.
Also für 2 oder mehr Gruppen schreibt man:
auth sufficient pam_succeed_if.so user ingroup gruppe1
auth sufficient pam_succeed_if.so user ingroup gruppe2
auth requisite pam_succeed_if.so user ingroup gruppe3
Entscheidend ist, das als letztes immer eine requisite Zeile kommt, da sich sonst alle einloggen können.
 
Back
Top