Gå til innhold

Foreldre styring av linux!


Anbefalte innlegg

Jeg har fått et luxus problem, min sønn har en maskin med ms vista, og han er litt spillegal så han må ha tider der han kan bruke maskinen på og når han skal være ute eller gjøre lekser, dette for at han ikke skal bare bli sittende og spille hele døgnet. (han hadde fri tilgang i høstferien og da trur jeg han satt og spilte i 2 døgn i strekk :-) ) Men no har han oppdaget min linux maskin og den fikk han lov til og bruke så mye han ville i begynnelsen, men no sitter han der når han ikke får bruke sin maskin. Går det og sette begrensinger på innlogget tid for eksempel? At han blir logget automatisk ut etter 2 timer, eller og sette tid på når han kan bruke den?

 

For målet er ikke at han ikke skal bruke den, men at han kan bruke den i en begrenset tidsrom, for et av resultatene er jo at han kan mye mer om data enn lærerne på skolen sin og det til tross at han bare går i 7 klasse. Og samtidig være litt ute med de andre i klassen noen timer for dagen, ellers blir han en ein støing, jeg ser tedensene allerede....

Lenke til kommentar
Videoannonse
Annonse
For målet er ikke at han ikke skal bruke den, men at han kan bruke den i en begrenset tidsrom, for et av resultatene er jo at han kan mye mer om data enn lærerne på skolen sin og det til tross at han bare går i 7 klasse. Og samtidig være litt ute med de andre i klassen noen timer for dagen, ellers blir han en ein støing, jeg ser tedensene allerede....

 

Tja, husk at lærere flest IKKE eier datakunskaper.

Men han er tideligvis litt fanatisk, så..................

Lenke til kommentar

Etter å ha googlet litt ser det ut som at de beste måtene å løse dette er overdrevet avanserte, så jeg tror det nisselue beskriver med crontab er det enkleste selv om det ikke er altfor pent.

 

Jeg er veldig dårlig på shell-script, men her er et som i teorien gjør det du ønsker på en skitten måte. Egentlig burde ikke root brukes til dette, men en vanlig bruker burde gis sudo-power til å eksekvere kommandoene du trenger uten å oppgi passord, men jeg har ikke skills til det, så noen andre får i så fall forklare hvordan det gjøres.

 

Bytt ut brukernavn med brukernavnet du ønsker utestengt, og endre klokkeslettene listet under. Slik det er nå blir han utestengt 21:00 søndag til torsdag og 23:00 fredag og lørdag og får tilgangen tilbake 08:00 om morgenen. Så bare kopierer du hele tekstblokken og limer inn i en terminal.

 

OBS: Dette kjører som root og kan potensielt ødelegge hele systemet ditt, vent med å kjøre dette til noen har lest over og sett at det ikke er helt på månen.

 

sudo su

echo '#!/bin/bash' >> /root/banuser.sh

echo 'usermod -L brukernavn' >> /root/banuser.sh

echo 'pkill -KILL -u brukernavn' >> /root/banuser.sh

chmod +x /root/banuser.sh

echo '#!/bin/bash' >> /root/unbanuser.sh

echo 'usermod -U brukernavn' >> /root/unbanuser.sh

chmod +x /root/unbanuser.sh

crontab -l > /tmp/ban.crontab

echo '21 00 * * 0-4 /root/banuser.sh' >> /tmp/ban.crontab

echo '23 00 * * 5-6 /root/banuser.sh' >> /tmp/ban.crontab

echo '08 00 * * * /root/unbanuser.sh' >> /tmp/ban.crontab

crontab /tmp/ban.crontab

rm /tmp/ban.crontab

echo 'Ferdig'

Lenke til kommentar
Etter å ha googlet litt ser det ut som at de beste måtene å løse dette er overdrevet avanserte, så jeg tror det nisselue beskriver med crontab er det enkleste selv om det ikke er altfor pent.

 

Føler ikke helt at det skriptet ditt så helt pent ut heller ;)

Lenke til kommentar

Har noen sjekket google?

http://www.linuxplanet.com/linuxplanet/tutorials/6584/1/

Også denne når Ubuntu gutta er ferdig med vedlikeholdet sitt:

http://ubuntuforums.org/showthread.php?t=226298

 

EDIT: ellers er nok PAM egentlig "riktig" sted å gjøre denne type ting, men det ser ikke ut til at pam_time har støtte for tvungen utlogging. Men det kan jo cron stå for hvis ønskelig.

Endret av NorthWave
Lenke til kommentar

En måte å gjøre det på. Finnes sansynligvis mer elegante og bedre måter å gjøre dette på. Har ikke skjekket om disse kjører, men prinsippet burde ikke være noe vanskelig å forstå.

 

Samtidig så er det ikke noen «kraftig» sikkerhet, så kan jo være at han lærer seg litt hvis/når han prøver å lure seg rundt det. ;)

 

Et script som kjøres når brukeren logger inn som ser sånn her ut:

#!/bin/bash
echo `time +%s` > ~/.logintime

 

Et cron-script som kjøres hvert 5 min eller noe.

#!/bin/bash

	 MAXTIME=7200
   CURRENTIME=`date +%s`
   LOGINTIME=`cat ~/.logintime`

	 UPTIME=$(($CURRENTTIME - $LOGINTIME))

	 if [ $UPTIME -gt $MAXTIME ]; then
		 sudo halt
	 fi

 

'(Slem kode-blokk ødelegger identering)

Endret av Blackslash
Lenke til kommentar
Føler ikke helt at det skriptet ditt så helt pent ut heller ;)
..selv om det ikke er altfor pent.
Jeg er veldig dårlig på shell-script..
på en skitten måte.

What tipped you off, Sherlock? ;)

 

Jeg kom forresten på en ganske stor logisk brist på T-banen på vei tilbake fra jobb. Jeg er blitt så vant til servere at jeg selvsagt ikke tenkte på at det finnes maskiner som ikke er på 24/7/365. Er maskinen av klokken 21 og blir påslått 21:05 vil personen kunne logge inn. Så crontabben bør settes til å f.eks kjøres hvert X antall minutter slik at den hele tiden sørger for å holde utestengelsen i rett state. Noe som faktisk greier å gjøre den skittne løsningen enda skittnere.

Lenke til kommentar

 

 

Jeg bruker da ubuntu 8.10 uten at jeg trur det har noe og si, for det skriptet følger vell med i denne oxo? og om ikke så kan det vell lagast? takk for hjelpen og så skal jeg hjem og prøve meg fram....

og ja han er forholdsvis langt foran mange andre når det gjelder data, men så lenge han ikke begynner og prøve og feile på linuxen min så går det greit :D

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...