Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php

Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php
Deprecated: Constant E_STRICT is deprecated in /hp/ao/ae/lz/www/detlefhahn/common/inc/sec_headers_3.inc on line 121
216.73.216.155 login.php

8.13.3 login blockieren Aufgabenstellung

Ein Mitarbeiter hat längere Zeit Urlaub. Es soll kein Login auf seinem Account mehr möglich sein. Schreiben Sie ein Script in mit dem das Kennwort auf * d.h. NOLOGIN gesetzt wird. Das alte Kennwort soll im 5. Feld (GECOS-Teil )abgelegt werden. Das Script sollte mit BSD und System V (/etc/shadow ) zurechtkommen.

8.13.3.1 Login blockieren Lösung

  
#! /bin/ksh # ------------------------------------------------------------- # Erzeugt : 21.02.97 # Autor : root # Beschreibung : Sperrt einen Benutzer, indem /etc/passwd auf # nologin gesetzt wird # ------------------------------------------------------------- # Modif.Log : #: FPATH=/usr/local/lib/func_lib:/root/lib/func_lib autoload kopf prompt_jn pos cont # ------------------------------------------------------------- # Definieren Sie nachfolgend Ihre eigenen Funktionen # ------------------------------------------------------------- usage() { cat << !!! Das Script $0 sperrt den Login indem in /etc/passwd das Kennwort auf * d.h. NOLOGIN gesetzt wird. es darf nur von SU ausgeführt werden. !!! exit } # ------------------------------------------------------------- # Mainscript user_deny # ------------------------------------------------------------- kopf "User auf NOLOGIN setzen" echo if [ "$1" = "-?" ] ; then usage ; fi if [ ! -O /etc/passwd ] then echo "Sorry! Nur Su darf sperren " exit 1 fi # Nur user mit Usernummer > 100 herausgreifen user=`grep '^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]*:' /etc/passwd | cut -f1 -d:` echo $user # Wir arbeiten an Kopien der Dateien pid=$$ new_passwd=/tmp/passwd${pid} new_shadow=/tmp/shadow${pid} cp /etc/passwd $new_passwd if [ -r /etc/shadow ] then cp /etc/shadow $new_shadow chmod 600 $new_shadow fi PS3="Ihre Wahl oder ^D " pos 4 0 select ausw in $user do echo echo "Antwort = $REPLY Selektiert $ausw " if [ ${#ausw} = 0 ] then echo "Auswahl ungültig (nicht vorhanden)" pos 4 0 continue # Überspringe Rest der Schleife fi cat $new_passwd | grep $ausw # zeige Satz sh_pw="" if [ -r $new_shadow ] then # extrahiere Kennwort aus der shadow Datei sh_pw=`cat $new_shadow | grep $ausw | cut -f2 -d:` cat $new_shadow | grep $ausw # zeige Satz an fi # ------------------------------------------------------------- # AWK wird für /etc/passwd und für /etc/shadow gerufen # # ------------------------------------------------------------- # hahn:x:503:100:Detlef Hahn,,,:/home/hahn:/bin/ksh # $1 $2 $3 $4 $5 $6 # ------------------------------------------------------------- awk -v user=$ausw -v sh_pw=$sh_pw ' BEGIN { FS = ":" ; OFS = ":" } $1 == user { if ( sh_pw == "" ) # steht Kennwort in passwd ? { $5 = $5 "@" $2 # ja, dann umsetzen $2 = "*" # und blockieren } else # Es existiert eine shadow Datei { # d.h das Kennwort wurde übergeben $5 = $5 "@" sh_pw } } { print $0 } ' $new_passwd > ${new_passwd}_awk # ------------------------------------------------------------- # hahn:Dx5eU4PktU/ZU:9909:0:30:15:10:19877: # $1 $2 # ------------------------------------------------------------- if [ -r $new_shadow ] then awk -v user=$ausw ' BEGIN { FS = ":" ; OFS = ":" } $1 == user { $2 = "*" } { print $0 } ' $new_shadow > ${new_shadow}_awk mv ${new_shadow}_awk $new_shadow fi # ------------------------------------------------------------- mv ${new_passwd}_awk $new_passwd pos 4 0 done pos 15 kopf cat $new_passwd cont kopf cat $new_shadow cont prompt_jn "Dateien zurückschreiben " if [ $? = 0 ] then cp /etc/passwd /etc/passwd_awk mv $new_passwd /etc/passwd if [ -r /etc/shadow ] then cp /etc/shadow /etc/shadow_awk mv $new_shadow /etc/shadow chmod 400 /etc/shadow fi fi


8.13.4 login zulassen Aufgabenstellung


Der Mitarbeiter ist zurückgekehrt. Schreiben Sie ein Script, welches das alte Kennwort restauriert.
   
#! /bin/ksh # ------------------------------------------------------------- # Erzeugt : 21.02.97 # Autor : root # Beschreibung : Schreibt Kennwort zurück, erlaubt Login # ------------------------------------------------------------- # Modif.Log : #: FPATH=/usr/local/lib/func_lib:/root/lib/func_lib autoload cont kopf pos prompt_jn # ------------------------------------------------------------- # Definieren Sie nachfolgend Ihre eigenen Funktionen # ------------------------------------------------------------- # ------------------------------------------------------------- # Mainscript login_allow # ------------------------------------------------------------- cat &lT;< !!! Schreiben Sie das Script, damit ein User wieder mit seinem alten Kennwort aktiviert wird. Hinweis : benutzen Sie pos=index(str,"@") und substr(str,pos+1) um das alte Kennwort zu extrahieren !!!