passwd automatisch setzen !&& confixx

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
obelmomel
Posts: 7
Joined: 2003-08-14 18:09

passwd automatisch setzen !&& confixx

Post by obelmomel » 2005-03-01 13:45

Hallo zusammen !
Ich hab gerade ein Skript zusammengebaut, das ein Passwort aus einer Liste nimmt und dies in die passwd einträgt. Bei jedem erfolgreichen login in zB. pop3, imap wird das passwort geändert.
Die ist nützlich, wenn du im Urlaub bist, und dein Passwort nicht überall mitgeloggt bekommen möchtest.

Nun aber habe ich das Problem, dass das wohlgepredigte "confixx" das Passwort aus der /etc/passwd nicht annimmt. Somit kann ich auch nicht auf das WebMail- Interface von Confixx zugreifen, was eigentlich der Hauptgrund, zum Erstellen des Skripts war.

Hat da jemand bereits mit / dran gebastelt oder hat eine Lösung wie ich dem confixx beibringen kann das er ab und zu mal die passwd lesen soll ?

Vielen Dank schonmal

Niels

manfred, das mammut
Posts: 48
Joined: 2005-02-16 13:06
Location: 127.0.0.1

Re: passwd automatisch setzen !&& confixx

Post by manfred, das mammut » 2005-03-01 14:04

Da Confixx die Passwd bei jeder ausführung des counterscripts neu schreibt, würde ich das Passwort in der Confixx-DB ändern und nicht in der passwd.

obelmomel
Posts: 7
Joined: 2003-08-14 18:09

Re: passwd automatisch setzen !&& confixx

Post by obelmomel » 2005-03-01 14:19

das hab ich ausprobiert.
an der /etc/shadow wird bei aufruf des counterscripts nichts verändert
nach aufruf des counterscriptes hab ich einen login über imap ausprobiert. das geht auch noch

wie wäre denn die andere lösung mit der datenbank zu verwirklichen ??

obelmomel
Posts: 7
Joined: 2003-08-14 18:09

Re: passwd automatisch setzen !&& confixx

Post by obelmomel » 2005-03-02 21:29

soo ... mal was fürs gewissen:

Code: Select all

LOG=/var/log/mail.log
TMP=/var/log/emailcheck-temp.log
USER='XXX'
PW_FILE='grasswort.'$USER
DB_NAME='XXX'
DB_USER='XXX'
DB_PW='XXX'
NULL_PW=

TIME=$(grep courierpop3login $LOG|grep LOGIN|grep $USER|awk '{print $1 $2 $3}'|tail -n1)

if [ "$TIME" != "$(cat $TMP)" ]   ; then
        cat $PW_FILE | sed '1,1d' > $PW_FILE
        exit 0
        AKTPW=$(head -1 $PW_FILE)
        AKTPW=$(mkpasswd -Hmd5 $AKTPW)
        if $(usermod -p$AKTPW $USER) ; then
                if $(mysql --database=$DB_NAME --user=$DB_USER --password=$DB_PW --execute='UPDATE pop3 SET longpw = "'$AKTPW'"  WHERE account="'$USER'";')
 ; then
                        echo $TIME > $TMP
                        if [ "$(wc -w < $PW_FILE)" -le 10 ] ; then
                                ./mail.sh $USER
                        fi
                fi
        fi
fi

mail.sh:

#/bin/bash

cat << EOM | mail -s 'Neue PWs machen' -a 'From: warnings@XXX.de' $1
Die Passwörter sind beinahe zuende ...
Schade auch!
EOM