Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: mikki75 - 30.01.08 - klo:10.14
-
pojan koneella on ubuntu, tarvisin koneeseen jonkunlaisen ohjelman jolla voi rajoittaa koneen käyttöä esim että illalla klo 21 jälkeen ei voi koneelle mennä, löytyykö tällaista?
-
Joku voisi esitellä valmiita ratkaisuja, mutta eikähön tuon saisi itsekin rakennettua.
Käyttäjän kotihakemistossa on tiedosto .bash_profile, joka ajetaan aina kun käyttäjä kirjautuu sisään, .bashrc ajetaan aina kun bash käynnistyy. Siinä yhteydessä voi tarkistaa kellonajan ja sen mukaan vaikka sammuttaa koneen suoraan tai laittaa ajastetun sammutuksen kello 21.00.
Sit pitäis vielä ratkaista, että kuinka nuo ajastukset tapahtuvat varmasti pääkäyttäjänä, että tavallinen käyttäjä ei saa niitä pois tai viivästettyä. Tuo .bash_profile pitää kans olla kirjoitussuojattu käyttäjältä.
Tässä jotain skriptin alkua, jos joku osaa jatkaa. Puuttuu iffin ehto, että kuinka tuosta datesta katkotaan kellonaikaa ja kuinka ja mihin sitä verrataan.
echo `date`
if [ ]; then
echo true
else
echo false
fi
-
Tässä jotain skriptin alkua, jos joku osaa jatkaa. Puuttuu iffin ehto, että kuinka tuosta datesta katkotaan kellonaikaa ja kuinka ja mihin sitä verrataan.
echo `date`
if [ ]; then
echo true
else
echo false
fi
alkamisaika=21
kesto=10
if (( (24 - $alkamisaika + $(date +%H)) % 24 < $kesto )); then
logout
fi
Tuossa on tehty rajoitus joka alkaa kello 21:00 ja päättyy 10 tuntia myöhemmin eli kello 07:00.
En kuitenkaan usko että .bashrc on oikea paikka tuon tekemiseen sillä koneella todennäköisesti kirjaudutaan graafiseen ympäristöön eikä komentotulkkiin. Lisäksi jos homman haluaa tehdä oikein niin tuo tulee sijoittaa sellaiseen paikkaan ettei käyttäjä itse pääse sitä muuttamaan. Kaikkein parasta olisi jos pam:iin löytyisi sopiva laajennus jolla voisi asettaa käyttäjäkohtaisia rajoituksia kirjautumisaikaan.
Edit: Löytyihin sieltä se oikeakin tapa.
Tiedostossa /etc/pam.d/login on kommentoituna rivi "account requisite pam_time.so" mutta luulisin että lopputulos on toimivampi jos kyseinen rivi lisätään tiedostoon /etc/pam.d/common-account. Varsinaiset aikarajoitukset määritellään tiedostossa /etc/security/time.conf.
Esimerkiksi määrittely "*; *; kayttajanimi; Al2100-0700" saattaisi olla toimiva. En ole koskaan käyttänyt tuota joten en osaa sanoa varmasti :)
Nämä toimet estävät koneelle kirjautumisen mutta eivät potkaise pihalle jo kirjautunutta käyttäjää.
-
eli homman pitää olla sellainen joka heittää pihalle kun kello tulee yli 21.00.
-
http://forum.ubuntu-fi.org/index.php?topic=13150.0 (http://forum.ubuntu-fi.org/index.php?topic=13150.0)
Tuolla tapaa, hiukan muokkaamalla, saat antamaan varoituksen, jonka jälkeen käyttäjälle tulee monoa :)
http://forum.ubuntu-fi.org/index.php?topic=9182.0 (http://forum.ubuntu-fi.org/index.php?topic=9182.0)
-
Aikarajojen kirjoittamiseksi anna käsky: sudo gedit /etc/crontab ja kirjoita avautuvaan tiedoston loppuun (leikkaa-liimaa, että tulee varmasti oikein):
0-59 21-23 * * * root chvt 1
0-59 0-5 * * * root chvt 1
- jokakerran sekunnin vaihtuessa siirrytään virtuaaliterminaaliin 1 . Sietä voi palata painamalla nappuloita CTRL-ALT-f7, mutta jos ei kerro tätä niin onhan tästäkin apua; ja ennenkaikkea jos käyttäjä on tehnyt jonkin tekstin niin sen voi käydä tallettamassa. Ja pelaamisesta se varmaankin vie mehut.
- heti kun tallettaa astuvat rajoitukset voimaan. Kun tiedostosta poistaa nuo pari riviä palaa tilanne ennalleen.
- tehoava, mutta raaka keino olisi kirjoittaa samaan paikkaan:
0-59 21-23 * * * root shutdown -h now
0-59 0-5 * * * root shutdown -h now