[linux-l] Anfängerhilfe Script
Boris Kirkorowicz
boris-ml07 at kirk.de
Sa Okt 2 13:07:00 CEST 2010
Hallo,
mittlerweile habe ich mein Script lauffähig:
==============================/sbin/timectrl.sh==============================
#!/bin/sh
# Fährt den Rechner nach heutiger Höchstzeit in $dailytime herunter
# Variablen übersichtlich gleich zu Anfang
logfile="/var/log/timectrl/$USER.log"
dailytime=60
# Initiale Dateianlage für den ersten Lauf
if [ -e $logfile ]; then
# Datei '$logfile' existiert bereits.
nop
else
# Datei' $logfile' wird jetzt angelegt.
sudo /sbin/logtctrl.sh DATE=$(date +%Y%m%d) TIME=$dailytime $logfile
fi
while true
do
# Neuer Tag - neues Glück
source $logfile
if [ $(date +%Y%m%d) -gt $DATE ]; then
TIME=$dailytime
fi
# ab jetzt wird gezählt
TIME=$((TIME-1))
if [ $TIME -lt 0 ]; then
break
fi
DATE=$(date +%Y%m%d)
sudo /sbin/logtctrl.sh DATE=$(date +%Y%m%d) TIME=$TIME $logfile
sleep 60
done
sleep 30
sudo /sbin/shutdown -h 5 "Feierabend: speichern und beenden!"
==============================/sbin/timectrl.sh==============================
Das Hilfsscript /sbin/logtctrl.sh soll den Usernamen als Dateinamen zur
Unterscheidung einbringen:
==============================/sbin/logtctrl.sh==============================
#!/bin/sh
# schreibt in die Datei /var/log/$3
# $3 ist üblicherweise /var/log/$USERNAME.log
echo $1 $2 > $3
exit
==============================/sbin/logtctrl.sh==============================
Gestartet wird das Ganze aus ~/.kde/Autostart/autostart.sh:
/sbin/timectrl.sh
Damit die Dinge auch ausgeführt werden, habe ich das Verzeichnis
/var/log/timectrl angelegt und mit visudo die Berechtigungen angepasst:
%users ALL = (root) NOPASSWD: /sbin/shutdown -h *
%users ALL = (root) NOPASSWD: /sbin/logtctrl.sh *
%users ALL = (root) NOPASSWD: /sbin/timectrl.sh
Das scheint jetzt wie gewünscht zu funktionieren.
Schwachpunkt bei der Sache ist der Aufruf, der vom User einfach gelöscht
werden kann, wenn er ihn entdeckt. Wie kann ich den Aufruf so gestalten,
dass er beim Login passiert und für den User nicht umgehbar oder
abschaltbar ist?
Gruss Greetings
Boris Kirkorowicz
--
Falls Ihre E-Mail versehentlich im Spamfilter haengengeblieben zu sein
scheint, bitte das Formular unter http://www.kirk.de/mail.shtml nutzen.
If your eMail seems to be caught by the SPAM filter by mistake, please
use the form at http://www.kirk.de/mail.shtml to drop me a note.
Mehr Informationen über die Mailingliste linux-l