Update SuSE Linux eMail Server II to III - Passwortübernahme

Supportdatenbank (hmuelle_passwortchange)
Bezieht sich auf

eMail Server: Version 3

Symptom

Sie haben ein Update von SuSE Linux eMail Server II auf SuSE Linux eMail Server III durchgeführt. Die Benutzer können sich nicht anmelden.

Ursache

Beim SuSE Linux eMail Server II wurde in sehr wenigen Fällen ein falsches Crypt-Salt generiert, in diesen Fällen funktionieren die Passwörter nur mit dem SuSE Linux eMail Server II

Lösung

Sie können das Passwort (für jeden einzelnen Benutzer) als Admin (cyrus) über das Web-Konfigurations-Frontend ändern.

ODER

Verwenden Sie das PerlScript <pwchange.pl> um für _ALLE_ Benutzer das Passwort neuzusetzen. Es wird ein Standard-Passwort gesetzt, daß für alle Benutzer gleich ist.

#! /usr/bin/perl
#
# Copyright (c) 2001 SuSE GmbH Nuernberg, Germany.  All rights reserved.
#
#
# $Id: hmuelle_passwortchange.sdb,v 1.5 2002/07/11 11:18:35 thallma Exp $
#

use strict;
use POSIX;
use Net::LDAP;
use Net::LDAP::Util qw( ldap_error_text);

my $base     = "dc=domain,dc=topleveldomain";
my $rootdn   = "uid=cyrus,".$base;
my $rootpw   = "secret";
my $defpw    = "password";

my $ldap = Net::LDAP->new("localhost");
die "unable to contact LDAP server" if ! defined $ldap;

my $mesg = $ldap->bind ( dn => "$rootdn",
			 password => "$rootpw" );
    
die "unable to bind LDAP server: ".ldap_error_text($mesg->code) if $mesg->code != 0;

$mesg = $ldap->search( base => $base,
		       scope => "one",
		       filter=> "(&(uid=*)(&(!(uid=cyrus))(!(uid=mailadmin))))",
		       attrs=> [ "userPassword" ] );
die "unable to search LDAP server: ".ldap_error_text($mesg->code) if $mesg->count <= 0;

foreach my $e ( $mesg->all_entries ) {
    $e->replace( userpassword => "{crypt}".
		 crypt($defpw, pack("C2",(int(rand 26)+65),(int(rand 26)+65)) ));
    $e->update($ldap);
}

Ein anderes Vorgehen ist leider nicht möglich, da aus dem Crypt das Original Passwort nicht zurückgerechnet werden kann.

Bevor Sie das Script ausführen müssen Sie den "Initalilisierungskopf" auf Ihre Umgebung anpassen:

my $base = "dc=domain,dc=de";
my $rootdn = "uid=cyrus,".$base;
my $rootpw = "secret";
my $defpw = "password";

Führen Sie das Script als Benutzer root aus.

Nun kann sich jeder Benutzer mit dem Default-Passwort einloggen und dieses ändern.


Siehe auch:
o Nach Update von SuSE Linux eMail Server II auf III fehlen Benutzer oder Adressbücher

Stichwörter: IMAP3, UPDATE, PASSWORT, ANMELDUNG

Kategorien: SuSE Linux IMAP Server

SDB-hmuelle_passwortchange, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 03. Dez 2001
SuSE Linux AG - Zuletzt generiert: 11. Jul 2002 von hmuelle (sdb_gen 1.40.0)