CentOS 6 – Roundcube webmail jelszóváltoztatás

Kb. 6 évvel ezelőtt a volt munkahelyemen üzemeltettünk egy levelező szervert, ahol sehogy nem sikerült megoldanom a jelszavak megváltoztatását a Roundcube-ból. Ez azért is volt macerás, mivel unix felhasználókról van szó és az auth nem SQL-ből történik. Erre a célra találták ki a Poppassd-t, de sehogy nem boldogultam vele annak idején.

Azóta jó pár év eltelt, a futó rendszer egy CentOS 6.7 egy régi Roundcube-bal. Saját szerveremen is frissítettem, így gondoltam frissítem már náluk is, legyen egy kis változatosság az életükben. Most ismét nekifeküdtem a jelszavas problémának, immáron sikerrel jártam. A poppassd-t ez alapján a telepítettem, de röviden leírom itt is arra az esetre ha a link megszűnne:

wget http://repo.iotti.biz/CentOS/6/noarch/lux-release-6-3.noarch.rpm
rpm -Uvh lux-release-6-3.noarch.rpm
yum install poppassd

A fenti lépések elvégzésével feltelepül a poppassd és vele együtt a xinetd.

Első teendőnk, hogy szerkesszük a következő fájlt:

/etc/xinetd.d/poppassd

Eredeti állapot:

service poppassd
{
        disable          = yes
        socket_type      = stream
        wait             = no
        user             = root
        server           = /usr/sbin/poppassd
        log_on_success   += USERID
        log_on_failure   += USERID
}

Új állapot (disable = no)

service poppassd
{
        disable          = no
        socket_type      = stream
        wait             = no
        user             = root
        server           = /usr/sbin/poppassd
        log_on_success   += USERID
        log_on_failure   += USERID
}

Ezzel érjük el, hogy a poppassd figyeljen a 106-os porton.

Ezután meg kell szerkeszteni a következő állományt:

/etc/pam.d/poppassd

Erre:

#%PAM-1.0

auth      required    pam_unix.so
account   required    pam_unix.so
password  requisite   pam_cracklib.so
password  sufficient  pam_unix.so md5 shadow

Végül állítsuk be, hogy a xinetd automatikusan induljon a rendszerrel, majd indítsuk el kézzel:

chkconfig xinetd on
/etc/init.d/xinetd restart

Végezetül teszteljük telnettel (ha a lenti kimenetet kaptad, akkor működik):

[root@pluto ~]# telnet localhost 106
Trying ::1...
Connected to localhost.
Escape character is '^]'.
200 poppassd v1.8.5 hello, who are you?

//Parancssorból is tesztelhető a jelszóváltoztatás az alábbi lépésekkel:

user johndoe
200 Your password please.
pass secret
200 Your new password please.
newpass p@ssw0rd
200 Password changed, thank-you.
quit
200 Bye.

Már csak egy teendőnk van, a Roundcube-ban beállítani, hogy működjön és megjelenjen a password plugin. Navigáljunk a Roundcube mappába és azon belül a plugins-ba. Létre kell hoznunk egy config.inc.php fájlt, legjobb a meglévő .dist fájlt másoljuk le ami rengeteg példát és lehetséges beállításokat tartalmaz.

plugins/password/config.inc.php.dist
cp config.inc.php.dist config.inc.php
plugins/password/config.inc.php

Nyissuk meg szerkesztésre a config.inc.php fájlt és módosítsuk az alábbi sort a következőre:

$config['password_driver'] = 'poppassd';

Ebben a fájlban lehetőség van finomhangolni a jelszó erősséget, ezt mindenki állítsa be a saját igényeinek megfelelően.

Végezetül a plugint engedélyezni kell, hogy a webes felületen a beállítások között megjelenjen a jelszó mező. Ehhez nincs más dolgunk mint szerkeszteni a következő állományt:

config/main.inc.php

A következő résznél vannak felsorolva az engedélyezett pluginok, ide kell beírni a password-öt is:

// ----------------------------------
// PLUGINS
// ----------------------------------

// List of active plugins (in plugins/ directory)
$rcmail_config['plugins'] = array('password');

Mentés után már a webes felületen is meg fog jelenni a jelszó menü és ott is próbálkozhatunk a módosítással, remélhetőleg sikeresen.

Hozzászólás

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük