Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

dovecot - Benutzer, die keine Systembenutzer sind?

21 views
Skip to first unread message

Magnus Warker

unread,
Apr 4, 2012, 4:15:10 AM4/4/12
to
Hallo,

ich möchte in dovecot beliebige Benutzerkonten verwenden, die aber nicht
gleichzeitig Systemkonten sind und nur über eine Passwortdatei verwaltet
werden.

Die Benutzer habe ich in einer Passwortdatei abgelegt:

dovecot.pwd:
---
willi:{PLAIN}test
---

Beim Zugriff auf den IMAP-Server mit dem Benutzer "willi" erhalte ich
folgende Meldung in mail.log:

Apr 4 08:56:06 merlin dovecot: auth(default): userdb(willi,127.0.0.1):
user not found from userdb passwd
Apr 4 08:56:06 merlin dovecot: imap-login: Internal login failure (auth
failed, 3 attempts): user=<willi>, method=PLAIN, rip=127.0.0.1,
lip=127.0.0.1, secured

Ich vermute, dass der Benutzer "willi" auch Systembenutzer sein sollte.
Kann man das umgehen, so dass ich nicht für jedes IMAP-Konto parallel
ein Linux-Konto einrichten muss?

$ dovecot -n

# 1.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-686 i686 Debian 6.0.4 ext3
log_timestamp: %Y-%m-%d %H:%M:%S
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/imap-login
mail_privileged_group: mail
mail_location: mbox:/mws/mbx/%u
mbox_write_locks: fcntl dotlock
auth default:
passdb:
driver: passwd-file
args: /mws/cfg/dovecot/dovecot.pwd
userdb:
driver: passwd

Danke!
Magnus

Sven Hartge

unread,
Apr 4, 2012, 4:30:44 AM4/4/12
to
Magnus Warker <war...@mailinator.com> wrote:

> Ich vermute, dass der Benutzer "willi" auch Systembenutzer sein sollte.
> Kann man das umgehen, so dass ich nicht für jedes IMAP-Konto parallel
> ein Linux-Konto einrichten muss?

Natürlich.

http://wiki.dovecot.org/VirtualUsers



--
Sigmentation fault. Core dumped.

Stefan Dreyer

unread,
Apr 4, 2012, 4:32:09 AM4/4/12
to
Am 04.04.2012 10:15, schrieb Magnus Warker:
> Hallo,
>
> ich möchte in dovecot beliebige Benutzerkonten verwenden, die aber nicht
> gleichzeitig Systemkonten sind und nur über eine Passwortdatei verwaltet
> werden.
>
> Die Benutzer habe ich in einer Passwortdatei abgelegt:
>
> dovecot.pwd:
> ---
> willi:{PLAIN}test
> ---
>
> Beim Zugriff auf den IMAP-Server mit dem Benutzer "willi" erhalte ich
> folgende Meldung in mail.log:
>
> Apr 4 08:56:06 merlin dovecot: auth(default): userdb(willi,127.0.0.1):
> user not found from userdb passwd
> Apr 4 08:56:06 merlin dovecot: imap-login: Internal login failure (auth
> failed, 3 attempts): user=<willi>, method=PLAIN, rip=127.0.0.1,
> lip=127.0.0.1, secured
>
> Ich vermute, dass der Benutzer "willi" auch Systembenutzer sein sollte.
> Kann man das umgehen, so dass ich nicht für jedes IMAP-Konto parallel
> ein Linux-Konto einrichten muss?
[...]
> userdb:
> driver: passwd

Wenn Du als Userdb passwd benutzt, ist es klar, dass Du ein Linux-Konto
benötigst. Dovecot kommt aber wunderbar ohne Systemuser zurecht, ich
selbst habe das mehrfach mit LDAP im Einsatz.
Weitere Infos findest Du hier:
<http://wiki.dovecot.org/VirtualUsers>

Magnus Warker

unread,
Apr 4, 2012, 5:21:31 AM4/4/12
to
On 04/04/2012 10:32 AM, Stefan Dreyer wrote:
> Am 04.04.2012 10:15, schrieb Magnus Warker:

> > userdb:
> > driver: passwd
>
> Wenn Du als Userdb passwd benutzt, ist es klar, dass Du ein Linux-Konto
> benötigst.

Muss man hier unter "driver" etwas anderes angeben?

> Dovecot kommt aber wunderbar ohne Systemuser zurecht, ich
> selbst habe das mehrfach mit LDAP im Einsatz.

Ich würde gerne für den Anfang bei der Textdatei bleiben, nur halt ohne
Systembenutzer.

> <http://wiki.dovecot.org/VirtualUsers>

Daraus erschließt sich das für mich leider nicht.
Auf dieser Seite wird auch immer wieder auf uid/gid Bezug genommen, aber
die gibt es ja nicht, wenn ich keine Systembenutzer habe, oder?

Magnus

Sven Hartge

unread,
Apr 4, 2012, 5:40:06 AM4/4/12
to
_Eine_ UID/GID brauchst du. Siehe das Beispiel, was hier fix uid=vmail,
gid=vmail setzt.

Magnus Warker

unread,
Apr 4, 2012, 5:43:08 AM4/4/12
to
On 04/04/2012 11:40 AM, Sven Hartge wrote:

>> Daraus erschließt sich das für mich leider nicht.
>> Auf dieser Seite wird auch immer wieder auf uid/gid Bezug genommen, aber
>> die gibt es ja nicht, wenn ich keine Systembenutzer habe, oder?
>
> _Eine_ UID/GID brauchst du. Siehe das Beispiel, was hier fix uid=vmail,
> gid=vmail setzt.

Ah, ok! Du meinst das Beispiel "Simple Virtual User Installation?"

Demnach braucht mal also sowas:

auth default
{
passdb passwd-file
{
args = /path/to/file
}
userdb static
{
args = uid=vmail gid=vmail home=/path/to/mails
}
}

Ist "userdb static" das Zauberwort?

Magnus

Stefan Dreyer

unread,
Apr 4, 2012, 5:49:57 AM4/4/12
to
Am 04.04.2012 11:21, schrieb Magnus Warker:
> On 04/04/2012 10:32 AM, Stefan Dreyer wrote:
>> Am 04.04.2012 10:15, schrieb Magnus Warker:
>
>> > userdb:
>> > driver: passwd
>>
>> Wenn Du als Userdb passwd benutzt, ist es klar, dass Du ein Linux-Konto
>> benötigst.
>
> Muss man hier unter "driver" etwas anderes angeben?

Wenn Du Dir auch die weiterführenden Links auf der unten angegebenen
Seite angeschaut hättest, so wärst Du auf:
<http://wiki.dovecot.org/UserDatabase/Static> gestoßen. Das sollte Dir
die Frage beantworten.

>> Dovecot kommt aber wunderbar ohne Systemuser zurecht, ich
>> selbst habe das mehrfach mit LDAP im Einsatz.
>
> Ich würde gerne für den Anfang bei der Textdatei bleiben, nur halt ohne
> Systembenutzer.

War ja auch nur ein Beispiel. Eine DB als Backend ist halt praktisch, da
Benutzer dann auch selbst ihr Passwort ändern können und man einfach
neue User anlegen kann.

>> <http://wiki.dovecot.org/VirtualUsers>
>
> Daraus erschließt sich das für mich leider nicht.
> Auf dieser Seite wird auch immer wieder auf uid/gid Bezug genommen, aber
> die gibt es ja nicht, wenn ich keine Systembenutzer habe, oder?

Wie bereits Sven schrieb brauchst Du mindestens einen Benutzer.
Alternativ könntest Du nobody,nogroup probieren. Sollte eigentlich auch
damit funktionieren.

Magnus Warker

unread,
Apr 4, 2012, 7:00:50 AM4/4/12
to
Funktioniert!
Danke!

Sven Hartge

unread,
Apr 4, 2012, 7:42:00 AM4/4/12
to
Stefan Dreyer <Stefan...@ddnetservice.net> wrote:

> Alternativ könntest Du nobody,nogroup probieren. Sollte eigentlich
> auch damit funktionieren.

NEIN! NIEMALS!

nobody, nogroup sollte NIEMALS Dateien gehören.
0 new messages