Hvordan sette opp, og drifte et Skolelinux nettverk.: Hvordan bruke mindre tid på å drifte, og mer på opplæring av elevene. | ||
---|---|---|
Forrige | Tillegg I. Diverse "hjemmelagde" løsninger | Neste |
Det kan være et skikkelig brysom lite problem når en bruker logger seg på flere tynnklienter samtidig, f.eks hvis han prøver å forandre bakgrunnsbilde på begge stedene.
Løsningen er å sette opp en liten test i det en bruker logger seg på, for å sjekke om han allerede er logget på, hvis han er det, så får han ikke logget seg på pånytt.
Scriptet som muliggjør, eller egentlig umuliggjør flere innlogginger samtidig, ligger i fila /etc/X11/Xsession.d/10skolelinux-one-login-per-host, der ligger også instruksjoner for hvordan dette scriptet skal startes; det startes ved å lage en såkalt "flagg-fil" med kommandoen
tjener:~# touch /etc/skolelinux/limit-logins
Dette er innholdet i den aktuelle fila som gjør jobben med å hindre at en bruker logger seg på flere tynnklienter samtidig.
more /etc/X11/Xsession.d/10skolelinux-one-login-per-host #!/bin/sh # Make sure a given user do not log into the same computer twice. # When this is done on an LTSP server, the KDE configuration is likely # to be destroyed. # # debug=1 log() { if [ "$debug" ] ; then echo "$@" fi } limit_logins() { num=1 numps=0 u=$LOGNAME # Do not try to limit the root user if [ "$u" != "root" ] ; then num=`who | cut -d" " -f1 | grep "^$LOGNAME\$" | wc -l` fi log "Found $num connections for user $LOGNAME" if [ "$num" -gt 1 ] ; then numps=`ps -eu "$LOGNAME" | grep -v -e sleep -e COMMAND|wc -l` num=`expr $numps + 1` fi if [ $num -gt 1 ] ; then xmessage -buttons greit:0 -timeout 30 -center \ "Du får IKKE lov til å logge på flere enn _en_ maskin omgangen!" exit 1 fi } # Only enable this if the flag file exists. When the code is tested # and found to work fine, we can enable it for everyone. [pere 2003-02-21] # To enable this script you must create an empty file with the command # touch /etc/skolelinux/limit-logins # [klaus 2003-09-06] if [ -f /etc/skolelinux/limit-logins ] ; then limit_logins fi
Noen ganger er det ønskelig å kunne kaste ut en bruker, dette lille scriptet sørger for det.
#!/bin/sh # Lagres f.eks som #/usr/local/bin/ut #Husk chmod 755 /usr/local/bin/ut #Brukes på denne måten #'ut brukernavn' # script for å kaste ut en bruker # if [ $1 != "root" ] then for i in $(pgrep -u $1) do kill -9 $i done else clear echo "Kan ikke kaste ut root." fi
Scriptet brukes på denne måten, for å kaste ut brukeren klaus,
ut klaus