Newsgroup: it.comp.os.linux.iniziare
Titolo: orario massimo giornaliero

ciao a tutti, avrei bisogno di fare in modo che un pc (ovviamente con 
linux) possa stare acceso per non più di 3 ore al giorno. In pratica 
superato il limite deve spegnersi da solo... le tre ore vanno 
conteggiate escludendo il tempo che il pc viene tenuto spento tra una 
sessione di lavoro e l'altra...
 
esiste qualcosa del genere?


dubito, ma non dovrebbe essere troppo complicato realizzarlo con uno 
script
 
-- 
bye
!(!1|1)
 


uptime oppure cron
 
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.

 uptime oppure cron
 
oppure (non provato) lanci shutdown all'avvio impostando il tempo
a 3 ore; tipo
 
shutdow -h +180
 
vedi la pagina man di shutdown e fai qualche prova.


 vedi la pagina man di shutdown e fai qualche prova.
 
cazzata ... non funziona



Metti negli script eseguiti al boot un comando :
 
	shutdown -h +180
 
Dopo 3 ore il PC si spegnerà, ma sarà possibile riaccenderlo 
immediatamente dopo e riusarlo per altre 3 ore.
 
Se invece pensi che debba essere possibile accenderlo solo una volta al 
giorno per tre ore devi fare uno script con qualcosa di più complesso 
che tenga conto della data memorizzando sul disco gli orari di 
accensione e/o spegnimento e blocchi il boot prima che ceda il controllo 
agli utenti.  Questo però non ti proteggerà da continui tentativi di 
riaccensione e con il pericolo di danneggiare il PC.
 
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >

Addi' 06 gen 2015, junkme... scrive:

Scusa ma e' per tuo figlio? Comunque, viste le altre risposte, direi di
vedere se si puo' agire in qualche modo su login. In altri termini, se
e' possibile ordinare il logout dell'utente, in base alla data e all'ora
di login. Il pc resterebbe acceso senza che venga dato lo shutdown, il
ragazzino dovrebbe dare ctrl-alt-del per spegnere la macchina che tanto
risulta inutilizzabile (basta modificare inittab: metterci -h invece di
-r). Riaccendendola il programma di login per quel giorno a quell'utente
non permette di loggarsi. Chiaramente deve essere sotto passwd anche il
bios, perche' non venga cambiato l'orologio... ma guarda che un hacker
si logga lo stesso e un non-hacker usa una qualsiasi live, quindi mi sa
che devi rinunciarci, l'unica cosa efficace dovrebbe essere hardware.
 
-- 
Tanti saluti
 


 
 
il problema però è che le "ore" devono essere divisibili in più sessioni...

 Scusa ma e' per tuo figlio?
 
Se cosi` fosse, una soluzione del genere, benche` naturalmente adottata
con i piu` buoni propositi, si rivelerebbe un errore madornale.
Ai bimbi le cose vanno spiegate per bene, educandoli alla consapevolezza
e alla responsabilita`. Oltre a cio` il computer che utilizzano i
bambini in casa dovrebbe essere posto non nella loro cameretta ma in un
locale di uso comune quale puo` essere un tinello o un salotto, e i
bambini dovrebbero usarlo esclusivamente in presenza di un adulto, non
necessariamente competente in informatica.
 

Addi' 06 gen 2015, M_M scrive:

Ma infatti e' assurdo anche per un dipendente, ma questo non puo'
riguardare la risposta; e' come la vecchia storia del porto d'armi.
D'altra parte ho trovato la soluzione: basta dare last, quindi
denunciare e/o multare i trasgressori.
Resta comunque la possibilita' delle live.
 
-- 
Tanti saluti
 

Addi' 06 gen 2015, Yoda scrive:

Idea: e se l'OP lo chiedesse... per limitare se stesso?!
 
-- 
Tanti saluti
 

che devi rinunciarci, l'unica cosa efficace dovrebbe essere hardware.
 
Se il BIOS č sotto password, non si lancia niente perché non puoi
agire sulla sequenza d'avvio.
Ah, il lucchetto in fondo alla paratia del case impedisce la rimozione
della batteria :-)
 
 
-- 
Ci sono 10 tipi di persone al mondo: quelle che capiscono il sistema binario
e quelle che non lo capiscono.

 della batteria :-)
 
Si', pero' se resetti poi la passwd uguale come la rimetti?
 
-- 
Tanti saluti
 

 Si', pero' se resetti poi la passwd uguale come la rimetti?
 
Ci sono diversi tool (DOS, ma forse anche Linux)
che possono leggere la password, resettarla e
rimetterla come vuoi.
 
La sicurezza del BIOS e` virtuale...
 
Per UEFI, pero`, non saprei, forse hanno migliorato
la situazione.
 
bye,
 
-- 
 
piergiorgio

 esiste qualcosa del genere?
 
Questo non e` esattamente quello che cerchi,
ma potrebbe avvicinarsi:
 
http://linux.about.com/cs/linux101/g/timeoutd.htm
 
 
D'altro canto, qualche dettaglio in piu` non
farebbe male, per es. e` una questione di consumi
(non piu` di 3 ore di power on), oppure di uso da
parte di un utente, o piu` utenti?
 
byem
 
-- 
 
piergiorgio

rimetterla come vuoi.
 
Girando senza privilegi amministrativi?


cambiare l'ora bisogna accedere al menu'.
 
Quindi non cambi l'ora e non cambi la sequenza d'avvio.


 Girando senza privilegi amministrativi?
 
se parti da una live (linux, freedos,...) su chiavetta dei privilegi
amministrativi te ne fai un baffo.
 
Ciao Jack
-- 
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?

amministrativi te ne fai un baffo.
 
Ma se il bios è bloccato non puoi partire con la live.
 
Facciamo il punto della situazione:
-Il PC è spento, schiacci il pulsante e si accende
-Il BIOS è bloccato, quindi non cambi impostazioni e non parti dai
dispositivi che vuoi tu (CD, chiavette). Parte solo il disco fisso.
-Si carica il sistema operativo, e tu non hai privilegi
amministrativi.


 Girando senza privilegi amministrativi?
 
Se hai accesso al PC, con o senza lucchetto, non
e` cosi` difficile raggiungere i privilegi admin.
 
Per es. (e` solo un esempio) molti boot manager
consentono di cambiare la linea di comando del
kernel. Cosa che magari si piu` disabilitare,
immagino, forse dipende dal boot manager.
 
Dicendo al kernel che "init" non e` "/sbin/init",
ma "/bin/bash", si fa un boot immediato in una
shell con privilegi di root.
 
Altro esempio, se il PC ha un'interfaccia firewire
e` possibile andare a leggere e scrivere in memoria
usando un altro PC collegato con quella interfaccia.
 
Vi sono altre situazioni, ma in generale l'accesso
alla console peggiora la sicurezza.
 
bye,
 
-- 
 
piergiorgio

 amministrativi.
 
fatti un giro su google vah.


alla console peggiora la sicurezza.
 
Su questo non c'è dubbio.


fatti un giro su google vah.
 
Per cercare cosa, esattamente?



lo scopo è evitare che i pupi passino ore e ore davanti al pc.
 
comunque: quando saranno in grado di intervenire sul bios vorrà dire che 
stanno usando il pc per imparare qualcosa di utile...

 E' interessante la cosa, come e cosa si può scrivere?
 
Tutto quello che vuoi.
Il controller 1394 ha un DMA che puo` accedere a tutta
la memoria.
Se la CPU ha solo una MMU e niente IOMMU, non vi e`
alcun mezzo per prevenirlo.
Se vi e` una IOMMU, allora, forse si puo` controllare.
 
Tra l'altro quella del firewire e` una modalita` di
debug del kernel...
 
bye,
 
-- 
 
piergiorgio

 lo scopo è evitare che i pupi passino ore e ore davanti al pc.
 
Quindi ci avevo azzeccato, be' guarda il programma login o vedi se
qualcuno te lo sa sistemare in modo che dia il logout dell'utente.
Un'alternativa e' trovare il modo di mandar giu' X, senza l'interfaccia
grafica solo un pupo hacker puo' usare un pc.
 
-- 
Tanti saluti
 

 il problema però è che le "ore" devono essere divisibili in più sessioni...
 
ASSOLUTAMENTE NON TESTATO ! qualcosa tipo
 
[CODE]
#!/bin/bash
 
date2stamp () {
    date --utc --date "${1//_/ }" +%s
}
 
dateDiff (){
    case $1 in
        -s)   sec=1;      shift;;
        -m)   sec=60;     shift;;
        -h)   sec=3600;   shift;;
        -d)   sec=86400;  shift;;
        *)    sec=86400;  shift;;
    esac
 
    dte1=$(date2stamp $1)
    dte2=$(date2stamp $2)
 
    diffSec=$((dte2-dte1))
 
    if ((diffSec < 0)); then
        abs=-1;
    else
        abs=1;
    fi
 
    echo $((diffSec/sec*abs))
}
 
TODAY=$(date --date "now" "+%Y-%m-%d")
FSTART=/tmp/${TODAY}_start.txt
FSUM=/tmp/${TODAY}_sum.txt
 
if [ -e ${FSTART} ]; then
    START=$(cat ${FSTART})
    STOP=$(date --date "now" "+%Y-%m-%d_%H:%M:%S")
    DIFF=$(dateDiff -m "${START}" "${STOP}")
 
    if [ ${DIFF} -gt 0 ]; then
        echo ${DIFF} >> ${FSUM}
    fi
 
    if [ -e ${FSUM} ]; then
        arrIN=($(cat ${FSUM}))
 
        TOTMIN=0
        for el in ${arrIN[@]}; do
            TOTMIN=$((${TOTMIN}+${el}))
        done
 
        if [ ${TOTMIN} -gt 180 ]; then
            echo "spengo dopo ${TOTMIN} minutes"
        else
            echo "acceso per ${TOTMIN}"
        fi
    fi
else
    START=$(date --date "now" "+%Y-%m-%d_%H:%M:%S")
    echo ${START} > ${FSTART}
    echo "file not exists"
fi
[/CODE]
 
ciao


 esiste qualcosa del genere?
 
puoi scriverti un file con un numero di secondi che aggiorni (tale da 
avere la risoluzione ad 1 secondo)
quando raggiungi le 3 ore spegni
ad ogni riavvio verifica il file ed il giorno (nel file ci metti anche la 
data), se stai a 3 ore dello stesso giorno allora poweroff altrimenti se 
il giorno è maggiore di quello letto nel file fai reset del file e 
ricomincia
vabbè detto a spanne cosi per il senso è che te lo puoi gestire a mano 
senza invocare software particolari...
saluti
m

 esiste qualcosa del genere?
http://tallinux.altervista.org/blog/timekpr-semplice-programma-controllo-bambini-per-ubuntu/
 
 
Questo l'ho trovato in 20 secondi cercando su google: linux limitare uso 
del pc a tempo.
 
ciao e buon linux