Ho realizzato uno script che esegue un logout dopo 1:45. Posto il codice:
Codice: Seleziona tutto
#!/bin/bash
user="`users`"
dir="/var/log/script/"
if [[ ! -d $dir ]];then
mkdir /var/log/script
fi
if [[ ! -e $dir$user ]];then
touch $dir$user //ecco il problema
fi
tmp=`cat $dir$user`
for((;tmp<=6300;tmp++));do
echo $tmp > $dir$user
sleep 1
done
zenity --info --text="Hai finito il tempo a tua disposizione, il computer si spegnerà tra un minuto" &
sleep 60
/sbin/shutdown -r now
Questo script deve avviarsi da solo al login e chiudersi al logout dell' utente, ma l' utente stesso non deve poter nè leggere nè scrivere sullo script, ma soprattutto non deve poter scrivere sul file dove è conservato il tempo trascorso.
Per il primo problema avevo pensato di modificare lo script adduser e aggiungere le righe:
Codice: Seleziona tutto
cp /root/tempo.sh /home/"$1"/.kde/Autostart/tempo.sh
chown root:root /home/"$1"/.kde/Autostart/tempo.sh
chmod 711 /home/"$1"/.kde/Autostart/tempo.sh
(ancora non ho provato, spero di non aver detto idiozie)
Però, così facendo, non saprei come risolvere il secondo problema, perchè se lo script è avviato dall' utente, l' utente non può scrivere sul file dove viene registrato il tempo trascorso.
Idee? Soluzioni alternative?