Hromadna zmena hesel

Roman Neuhauser neuhauser at chello.cz
Fri Oct 1 03:49:31 CEST 2004


# pepe at gravastar.cz / 2004-09-30 19:08:05 +0200:
> On 30.9.2004, at 18:23, Michal Varga wrote:
> >Predpokladam, ze mas nekde databazi uzivatelu, kterym potrebujes hesla
> >zmenit. Co takhle tu databazi ulozit do plaintextu a pak jednoduchym
> >[treba] perlem projit /etc/master.passwd a zmenit vsem temto uzivatelum
> >heslo na pozadovanou hodnotu? I zacinajici programator musi mit tohle
> >driv nez za 10 minut, vcetne uceni se jazyka, ve kterem to chce udelat.
> >
> >Pak jenom finalni pwd_mkdb -p /etc/master.passwd a mame vymalovano.
>
> tak to me napadlo taky (snad jen python bych zamenil za ruby), jenze mi
> pripada "spinave". 
> Prevazne z duvodu bezpecnosti. Mit preci jenom skript, ktery meni takto 
> jednoduse jednu z nejdulezitejsich systemovych veci se mi moc melibi. 
> Zvlaste pak, ze je to server primarne urceny pro studentske testovani. 
> Tim vubec nechci nijak rikat, ze to reseni je spatne, proste se mi 
> nelibi. Spise jsem myslel jestli neexistuje nejaka utilita typu vipw, 
> ktera se stara o vsechny potrebne kontroly a pod. a ktere se jednoduse 
> predhodi soubor paru jmeno:heslo.

    Takova utilita existuje, a jmenuje se vipw.
    V manualove strance vipw se pise, ze uzivateli otevre soubor
    v $EDITORu. Cili muzete pouzit neco jako (netestovano):

    grvipw < newpasswords.txt

    kde newpasswords.txt obsahuje radky ve tvaru

    "s/^jmeno:[^:]*:(.*)/jmeno:noveheslo:\1/"

    kde grvipw obsahuje:

    #!/bin/sh
    EDITOR=grvipw.sub vipw

    kde grvipw.sub obsahuje:

    #!/bin/sh
    passwd=$1
    rules=$(mktemp -t ${0##*/}
    cat > $rules
    sed -Ei '' -f $rules $passwd
    exit $?

-- 
If you cc me or remove the list(s) completely I'll most likely ignore
your message.    see http://www.eyrie.org./~eagle/faqs/questions.html



More information about the Users-l mailing list