Postfixin alias-tietokantojen toiminta telinux1-koneella

Aliaksella tarkoitetaan tässä sähköpostiosoitetta, joka ei järjestelmässä suoraan vastaa käyttäjätunnusta. Aliaksen avulla voidaan käyttäjäjille luoda useita sähköpostiosoitteita, jotka ohjataan perille varsinaiseen käyttäjätunnuksen mukaiseen postilaatikkoon. Esimerkiksi osoite Matti.Malli@cs.stadia.fi olisi alias.

Postfixin aliakset on jaettu viiteen tekstitiedostoon, joista alias-tietokannat luodaan kerran tunnissa.

1. Tekstitiedostot

Tekstitiedostot ovat /etc/postfix hakemistossa ja ovat nimiltään seuraavat:

aliases
aliases.hk-hit
aliases.hk
aliases.op-hit
aliases.op
aliases.postituslistat
aliases.generoidut

Tiedosto "aliases" sisältää järjestelmän erikoiset aliakset. Tähän tiedostoon ei pidä lisätä mitään, ilman hyvää syytä.

Tiedosto "aliases.hk-hit" sisältää ne vanhat henkilökunnan perjantai.hit.fi-koneen tunnukset, jotka eivät suoraan ole uusia NDS-tunnuksia. Tiedosto "aliases.hk" sisältää yhteyden käyttätunnuksen sekä käyttäjän etu- ja sukunimen välillä. Tiedostot "aliases.op-hit" ja "aliases.op" ovat vastaavia, mutta tarkoitettu oppilaiden tunnuksille.

Tiedostossa "aliases.postituslistat" on Ilpo Kuivasen ja Kari Lehtosen ylläpitämiä postituslistoja. Tiedoston ryhmä on "postfix-admin", johon edellä mainitut henkilöt kuuluu.

Tiedostossa "aliases.generoidut" on /etc/passwd tiedostosta automaattisesti luodut aliakset.

2. Tietokannan luominen

Edellämainittuihin tekstitiedostoihin kirjoitetut tiedot siirretään varsinaisiin tietokantoihin kerran vuorokaudessa. Se tehdään shelli-scriptillä, joka on tiedostossa:

/etc/cron.daily/tee-postfix-alias-tietokannat.cron

Scripti aluksi poistaa vanhat varmuuskopiot tekstitiedoista, jos sellaisia on olemassa. Sen jälkeen se tekee varmuuskopiot nykyisistä tekstitiedostoista ja tallentaa ne seuraavilla nimillä /etc/postfix hakemistoon:

aliases.backup
aliases.hk-hit.backup
aliases.hk.backup
aliases.op-hit.backup
aliases.op.backup
aliases.postituslistat.backup
aliases.generoidut.backup

Tämän jälkeen scripti tulostaa tekstitiedostot varmuuskopiosta, muuttaa isot kirjaimet pieniksi, järjestää ne aakkosjärjestykseen, poistaa identtiset eli ylimääräiset rivit ja tallentaa ne alkuperäisten tekstitiedostojen päälle.

Tämän jälkeen /etc/sbin/postalias ohjelmalla luodaan jokaisesta tekstitiedostosta varsinainen ei-ihmiselle-selväkielinen tietokanta. Lopuksi varmistetaan, että Postfix ottaa uuden tietokannan heti käyttöön.

3. Tietokannat

Alias-tietokannat ovat /etc/postfix hakemistossa seuraavat:

aliases.db
aliases.hk-hit.db
aliases.hk.db
aliases.op-hit.db
aliases.op.db
aliases.postituslistat.db
aliases.generoidut.db

Postfix käyttää näitä tietokantoja kun se on päällä, tekstitiedostoihin tehdyt muutokset eivät vaikuta Postfixin aliasten käsittelyyn (ennen kuin ne viedään tietokantaan yllämainitulla tavalla).

4. Asetukset

Tietokannat on asetettu käytettäviksi /etc/postfix/main.cf tiedossa seuraavalla määrittelyllä:

alias_maps =
hash:/etc/postfix/aliases,
hash:/etc/postfix/aliases.hk-hit,
hash:/etc/postfix/aliases.hk,
hash:/etc/postfix/aliases.op-hit,
hash:/etc/postfix/aliases.op
hash:/etc/postfix/aliases.postituslistat
hash:/etc/postfix/aliases.generoidut

5. Aliasten lisääminen

Uusia aliaksia voidaan lisätä aliases.hk-hit, aliases.hk, aliases.op-hit ja aliases.op tekstitiedostoihin. Aliaksia ei tarvitse järjestellä ja ne voidaan lisätä tiedoston alkuun, siellä yllämainittu scripti järjestelee ne.

TÄRKEÄÄ: Tiedostoon saa laittaa vain samantyyppiä aliaksia kuin siellä on ennestään. Automaattisesti luotuun aliases.generoidut ei pidä koskea, koska siihen tehdyt muutokset häviävät seuraavan päivityksen aikana. Erittäin poikkeavat aliakset, jotka eivät sovi mihinkään muuhun tiedostoon tulee laittaa /etc/postfix/aliases tiedoston loppuun.

Tekstitiedostoihin lisätyt aliakset tulevat voimaan tunnin kuluessa.

Petri Koistinen <petri.koistinen@iki.fi>

$Id: postfix-alias-toiminta.html,v 1.8 2004/10/24 11:19:31 pkoistin Exp $