[Eisfair] Frage zu Invalidate password

Uwe Kunze u.kunze.sdh at t-online.de
Fr Aug 5 14:48:38 CEST 2016


Hi Marcus,

danke für Deinen Scriptentwurf.
Der entscheidende Hinweis war das "!"

Auf meinem (schulischen) eis beginnen alle deaktivierten Passwörter mit 
einem "!".

Systemuser habe ich in meinem Script ebenfalls bereits ausgeschlossen, 
da ich bereits die GID 100 (=User) filtere.

Danke nochmal, Problemchen ist gelöst ;-)

Gruß Uwe


> Hallo Uwe,
>
> Uwe Kunze wrote:
>
>> mit einem kleinen Script extrahiere ich aus /etc/passwd und /ect/shadow
>> alle eisfair-User aus der gruppe "user", um sie in einer .htpasswd zu
>> verwenden.
>>
>> Allerdings habe ich mehrere User, deren Passwort über das Benutzermenü
>> auf "invalidate" (also ungültig) gesetzt wurde.
>>
>> Wie kann ich diese User aus meiner .htpasswd entfernen
>
> Besser erst garnicht einfügen.
>
>> ... bzw. woran
>> kann ich (in /etc/shadow ?) erkennen, dass das Password ungültig ist ?
>
> Der Password-Hash steht in der zweiten Spalte der /etc/shadow
> (Spaltentrenner :)
>
> Steht dort nichts, ! oder * ist kein gültiges Passwort vergeben; daneben
> gibt es auf meinem eis User mit Pseudoeinträgen als Hash, z. B. blub bei
> uucp, ...
>
> Die Systemuser möchtest Du vielleicht auch nicht in der .htpasswd haben.
>
> Hier ein Skriptentwurf, der User nur dann listet, wenn in der Passwortspalte
> ein String von mehr als 10 Zeichen steht. Außerdem werden Systemuser
> ausgefiltert:
>
> #!/bin/sh
>
> excludeuser="root halt eis reboot wwwrun"
>
> while read line ; do
>    name=`echo "${line}" | cut -d ":" -f 1`
>    password=`echo "${line}" |cut -d ":" -f 2`
>    if [ "${password}" ]&&  [ "${#password}" -gt 10 ] ; then
>      print=true
>      for ex in ${excludeuser} ; do
>        if [ ${name} == ${ex} ] ; then
>          print=false
>          break
>        fi
>      done
>      if $print ; then
>        echo "${name}"
>      fi
>    fi
> done<  /etc/shadow
>



Mehr Informationen über die Mailingliste Eisfair