Kirjoittaja Aihe: Automaattisesti ajettava scripti  (Luettu 2936 kertaa)

EeroL

  • Käyttäjä
  • Viestejä: 57
    • Profiili
Automaattisesti ajettava scripti
« : 05.11.07 - klo:18.53 »
Olen tehnyt scriptin, joka automaattisesti poistaa käyttäjän ja luo sen uudestaan. Nyt kuitenkin ongelmana on, että en tiedä mihin se pitäisi laittaa. Siis scriptin nimi on vaikka adduser.sh ja tarkoitus olisi ajaa scripti joko käynnistyksen yhteydessä niin, ettei se jää roikkumaan prosessiksi.
Scripti on seuraava:

#!/bin/bash

deluser kayttaja
rm -rf /home/kayttaja

adduser kayttaja
password="salasana"
login="kayttaja"

mkdir /tmp/pwddir
tmpdir=/tmp/pwddir
chmod og-rx $tmpdir
echo $password > $tmpdir/pwd
encrypted=`mkpasswd -s < $tmpdir/pwd`
usermod -p $encrypted $login
rm -rf $tmpdir

# EOF

Jos ajan scriptin esim. työpöydältä roottina, se menee puhtaasti läpi. Jos laitan sen /etc/user/bin -kansioon ja määrittelen sen istuntoihin, kaikki toimii, mutta se jää prosesseihin roikkumaan adduser:na.

Ja kysymys kakkonen. Vielä parempi olisi jos pystyisi tekemään siten, että kun esim kayttaja kirjautuisi ulos, niin yllä oleva scripti ajettaisiin. Kayttaja kakkosella ajettaisiiin toinen scripti ja kayttaja kolmosella kolmas scripti.

Ajatuksena on, että olisi kolme käyttäjää. Jokaisella olisi täydet oikeudet muokata omia asetuksia ym. mutta kun esim. käyttäjä kirjautuisi ulos, niin työpöytä, omat asetukset ym. pyyhkiytyisi pois. adduser.conf:ssa on määritelty, että uuden käyttäjän tiedot haetaan /opt/malli -kansiosta jossa on valmis profiili.

Käyttiksenä on Edubuntu 7.10 Gutsy Gibbon + LTSP5

Regel

  • Käyttäjä
  • Viestejä: 1090
  • Lucid
    • Profiili
Vs: Automaattisesti ajettava scripti
« Vastaus #1 : 05.11.07 - klo:19.10 »
Muistelisin, että tiedostossa /etc/rc.local olevat käskyt ajetaan käynnistyksen yhteydessä automaattisesti.

Eli laitat tuolle scriptille ajo-oikeudet, ja varmanakin 'sh /missa/on/scripti.sh' tuohon rc.local tiedostoon.

SuperOscar

  • Käyttäjä
  • Viestejä: 4063
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Automaattisesti ajettava scripti
« Vastaus #2 : 05.11.07 - klo:19.34 »
/etc/rc.local ajetaan vain järjestelmän buutatessa, joten se on huono paikka, jos tarkoitus on pitää konetta päällä.

Ja kysymys kakkonen. Vielä parempi olisi jos pystyisi tekemään siten, että kun esim kayttaja kirjautuisi ulos, niin yllä oleva scripti ajettaisiin. Kayttaja kakkosella ajettaisiiin toinen scripti ja kayttaja kolmosella kolmas scripti.

Korjatkaa jos puhun hulluja, mutta ainakin zsh:ssa (jota itse käytän bashin sijaan) ajetaan skriptit /etc/zlogout ja $HOME/.zlogout juuri käyttäjän kirjautuessa ulos. Sikäli kuin ymmärrän, ne kai ajetaan riippumatta siitä, onko kyseessä pääteistunto vai ei. (Pitäisi varmaan testata :))

Jos arveluni pitää paikkansa, siinähän sinulle olisi ratkaisu.

Niin ja jatketaan vielä, että jollei halua antaa käyttäjälle oikeutta poistaa tuota viritystä, se kannattaa panna /etc/zlogoutiin ja tarpeen vaatiessa sinne varmistus, että kun käyttäjä on XXX tai kuuluu ryhmään YYY – miten haluatkin asian ratkaista –, tehdään sitä-ja-sitä.

Korjaus: No eipä olisikaan ratkaisu, koska skriptissä ajetaan komentoja, jotka vaativat ylläpitäjäoikeuksia. Mutta onko todella tarpeen poistaa käyttäjää ja luoda se aina uudelleen – eikös ”rm -r $HOME” riittäisi (tai paljon vähempikin)?
« Viimeksi muokattu: 05.11.07 - klo:19.37 kirjoittanut SuperOscar »
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: Automaattisesti ajettava scripti
« Vastaus #3 : 05.11.07 - klo:19.38 »
deluser kayttaja
rm -rf /home/kayttaja

deluserilla on parametri --remove-home ;)

Jos ajan scriptin esim. työpöydältä roottina, se menee puhtaasti läpi. Jos laitan sen /etc/user/bin -kansioon ja määrittelen sen istuntoihin, kaikki toimii, mutta se jää prosesseihin roikkumaan adduser:na.

mitä tarkoitat 'määrittelet sen istuntoihin'?

olisikohan muuten useradd vähemmän interaktiivinen kuin adduser?

käynnistyksen yhteydessä ajamisesta vastattiinkin jo ja itse kirjoittelin muinoin aiheesta lyhyen selostuksen HOWTO-puolelle.

oletusasetukset tietty /etc/skel/ -hakemistoon.

Ja kysymys kakkonen. Vielä parempi olisi jos pystyisi tekemään siten, että kun esim kayttaja kirjautuisi ulos, niin yllä oleva scripti ajettaisiin. Kayttaja kakkosella ajettaisiiin toinen scripti ja kayttaja kolmosella kolmas scripti.

Ajatuksena on, että olisi kolme käyttäjää. Jokaisella olisi täydet oikeudet muokata omia asetuksia ym. mutta kun esim. käyttäjä kirjautuisi ulos, niin työpöytä, omat asetukset ym. pyyhkiytyisi pois. adduser.conf:ssa on määritelty, että uuden käyttäjän tiedot haetaan /opt/malli -kansiosta jossa on valmis profiili.

äkkiseltään, en keksi mitään järjestelmänlaajuista systeemiä joka suoritettaisiin käyttäjän logatessa ulos. hommahan kuitenkin pitäisi tehdä järjestelmänlaajuisena, sillä taviskäyttäjällä ei ole oikeuksia lisätä tai poistaa käyttäjiä eikä sellaisia ole tietty kovin  hyvä antaakaan. lisäksi itsensä poistaminen omista scripteistä olisi vähintään arveluttavaa ja jos käyttäjällä olisi kerran täydet oikeudet omiin asetuksiinsa, niin hän voisi myös poistaa kyseisen toiminnallisuuden.

voi tietty olla jotain mitä en tullut ajatelleeksi ja jos on, niin mielelläni itsekin kuullisin siitä.
Janne

Jallu59

  • Käyttäjä
  • Viestejä: 3430
    • Profiili
Vs: Automaattisesti ajettava scripti
« Vastaus #4 : 05.11.07 - klo:19.45 »
Vaikuttaisivat nuo z-alkuiset liityvän zsh:n käyttöön, joten neuvosta ei liene apua vakiona asentuvan bash:in käyttäjälle.
zsh on nörteille, mutta minä edustankin yup-sukupolvea, paitsi tuo y-alkaa olla jo suhteellista ;D

T:Jallu59
bashilla toistaiseksi pärjännyt
Jari J. Lehtinen, Wanhempi (iki?)tietoteekkari & tietotekniikkakonsultti Turust, P4-HT / 3,0 GHz, Intel945 IGP 226MB & 4GBram & UbuntuStudio 14.04. Toshiba Satellie 50-C, i5 dual-core 2,3GHz, ubuntu-mate 16.04 LTS

SuperOscar

  • Käyttäjä
  • Viestejä: 4063
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Automaattisesti ajettava scripti
« Vastaus #5 : 05.11.07 - klo:22.09 »
Vaikuttaisivat nuo z-alkuiset liityvän zsh:n käyttöön, joten neuvosta ei liene apua vakiona asentuvan bash:in käyttäjälle.

Totta kai z-alkuiset liittyvät zsh:hon! Mutta voihan sen zsh:n määritellä tämän tietyn käyttäjän shelliksi, jos tarvis on.

man bash tosin kertoo, että bashillekin on /etc/bash.logout- ja $HOME/.bash_logout-nimiset skriptit, jotka ajetaan ”whenever a login shell exits”.
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

NikoK

  • Käyttäjä
  • Viestejä: 1
    • Profiili
    • Silppuri
Vs: Automaattisesti ajettava scripti
« Vastaus #6 : 25.02.08 - klo:15.24 »
Itselläni olisi samankaltainen kysymys, liittyen LTSP:hen tosin:

Olen asentanut & konfiguroinut LTSP-palvelimia muutamalle kylämme ala-asteelle.
Toiveita olen kuunnellut ja pyrkinyt toteuttamaan näitä, mutta nyt tuli pienimuotoinen ongelma:

Yhdellä ala-asteellamme on haluttu pitää linja että jokainen käyttäjä käyttäisi samaa tunnusta.
Ja toiveena olisi että joka kirjautumisen ohessa tyhmä pääte lataa valmiiksi räätälöimäni profiilin.
Eli tällä estettäisiin se ettei seuraavalle kirjautujalle tule ruutuun ***un kuva kun edellinen
kirjautuja on sellaisen määrittänyt taustakuvaksi...

Elikkä palvelimella sijaitsisi "graafisen istunnon profiili" määrittämässäni paikassa, josta sitten
jokainen kirjautunut sen lataisi ja saisivat kaikki samannäköiset työpöydät ja voisivat töhriä ja
tuuskata niiden kanssa vapaasti mutta kaikki häviäisi: ulos kirjautuessa/koneen sammuessa.
Oppilaat käyttävät tikkuja tallennusmediana.

Ei ehkä järkevimmän oloinen ratkaisu mutta tällaista on pyydetty ja sitä tulee minun noudattaminen.

Eli onko kyseinen "graafisen istunnon profiili"- lataus mahdollista jokaisen kirjautumisen yhteydessä?
Tämä tekemäni profiili ei saisi koskaan muuttua vaan se pysyy aina samana.

EDIT: taisi mennä hiukan väärälle alueelle mutta ei ole vielä ehtinyt tutustua ubuntun foorumeihin.. :)
« Viimeksi muokattu: 25.02.08 - klo:15.33 kirjoittanut NikoK »