Hvordan indstiller man IMAP-serveren Cyrus

Mit valg er Cyrus, som er en del af et sæt programmer i Kolab, så hvis jeg går videre til Kolab i fremtiden, så er jeg i det mindste bekendt med det.

Lad os begynde installationen og indstillingen!

Log på som root.

# apt-get install cyrus21-imapd cyrus21-common cyrus21-admin cyrus21-client sasl-bin sasl2-bin 
Installing cyrus21-imapd... Installationen spørger om noget jeg ikke forstår om en søgeadresse...
Jeg trykkede blot på Enter..

Installationen laver også brugeren cyrus som er i gruppen sasl (som laves automatisk), som er “ejeren” af alle Cyrus filer. Tilsidst kan du finde de nye processer cyrmaster og notifyd med ps -A.

Det egentlige problem med at indstille Cyrus er godkendelseskontrollen, kun fordi det ikke er trivielt og at jeg er en nybegynder, med begrænset kundskab om hvad jeg gør.

Cyrus kan bruge forskellige SASL-mekanismer (Simple Authentication and Security Layer), hvor standarden er sasldb (den opbevarer brugernavne og kodeord i den hemmelige SASL-fil sasldb), men også getpwent, kerberos4, kerberos5, PAM, rimap, shadow og LDAP understøttes.

Eftersom jeg ikke vil definere brugere og kodeord som adskiller sig fra dem som jeg bruger til adgang til min Linux®-maskine, vælger jeg mekanismen “shadow”, så Cyrus bruger Linux® kodeord til godkendelseskontrol.

For at gøre det skal man bede SASL om at bruge saslauthd som metode for godkendelseskontrol af kodeord, og derefter indstille saslauthd til at bruge “shadow” (eller “getpwent”) som godkendelseskontrolmekanisme.

O.k., lad os begynde!

Som root, ændr Linux kodeord for brugeren cyrus:

# passwd cyrus

Indtast kodeordet du vil have (og kan huske). I dette eksemplet bruger vi “cyrus” som administratorkodeord for cyrus.

# vi /etc/imapd.conf
sasl_pwcheck_method: saslauthd i stedet standarden auxprop

fjern tegnet # fra linjen:

#admins: cyrus

på denne måde kan du administrere cyrus, ved at logge på som brugeren cyrus. (Sikke en fantasi jeg har!)

# vi /etc/default/saslauthd

Fjern kommentaren fra linjen:

# START=yes

(ellers starter saslauthd ikke når maskinen startes, også selv om den refereres til i en /etc/rcx.d!)

og skriv i stedet for MECHANISMS="pam" i MECHANISMS="shadow". På denne måde køres kommandoen saslauthd -a shadow når maskinen startes.

Når du har afsluttet editoren, genstart sasl og cyrus.

For at teste IMAP:

su cyrus
$ imtest -m login -p imap localhost

Du bliver bedt om (brugerens) kodeord for cyrus, så skriv det.

Hvis godkendelseskontrollen for brugeren cyrus lykkes, vises følgende linjer:

S: L01 OK User logged in
Authenticated.

For at afslutte, skriv . logout (dvs. punktum mellemrum “logout”)

Tilføj nu en bruger som hedder groupware og angive et kodeord for den, med de almindelige systemværktøjer. Den skal være i en gruppe uden privilegier, såsom nobody og kræver ikke en indlogningskal eller en hjemmemappe.

Nu skal jeg også oprette brugeren og IMAP i cyrus:

# cyradm --user cyrus localhost
efter at have skrevet kodeord for administratorsbrugeren cyrus, får du promptern localhost>
localhost> cm user.groupware
localhost> lm  lister brevmapperne du netop oprettede 
user.groupware(\HasNoChildren))
localhost> quit

Du kan skrive help for at se en liste med tilgængelige kommandoer.

Du kan kontrollere hvad der er sket med:

# ls -l /var/spool/cyrus/mail/g/user/groupware
total 12
-rw------- 1 cyrus mail          4 Oct 29 20:55 cyrus.cache
-rw------- 1 cyrus mail 155 Oct 29 20:55 cyrus.header
-rw------- 1 cyrus mail 76 Oct 29 20:55 cyrus.index

Nu skulle du kunne forbinde med en IMAP-klient som brugeren groupware og se INBOX.

Bemærk

At vælge brevmappen INBOX er et magisk ord i IMAP-protokollen, en slags “alias” for mappestrukturen ovenfor. Klienten ser INBOX, og IMAP-serveren afbilder den på mappe- og filstrukturen i /var/spool/cyrus/mail/....