eMail Server: Version 3
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";Führen Sie das Script als Benutzer root aus.
Nun kann sich jeder Benutzer mit dem Default-Passwort einloggen und dieses ändern.