Käyttäjäoikeudet ja Unix-prosessien hallinta

Käyttäjäoikeuksiin liittyvät komennot

chmod
Komennolla määritetään käyttäjän itsensä (user, u), ryhmän (group, g) tai muiden käyttäjien (other, o) oikeus tiettyihin tiedostoihin ja hakemistoihin. Oikeuksia annetaan komennon yhteydessä plusmerkillä (+) ja poistetaan miinusmerkillä (-).

Huomio: käytä chmod-komentoa erityisen varovaisesti, jottet vahingossa saata tiedostojasi kaikkien käyttäjien saataville.

 

Asetetaan my_dear_alisa.txt -tiedoston oikeudet sellaisiksi, että vain Unix-tilin omistaja (u, user) saa luku- ja kirjoitusoikeudet (r, read ja w, write) ko. tiedoston:
 % chmod u+rw my_dear_alisa.txt

 

Asetetaan my_dear_alisa.txt -tiedoston oikeudet sellaisiksi, että ryhmät (g) ja muut käyttäjät (o) eivät pääse käsiksi ko. tiedostoon millään tavalla (eli he eivät saa lukuoikeutta (r, read), kirjoitusoikeutta (w, write) eivätkä suoritusoikeutta (x, execute):
 % chmod go-rwx my_dear_alisa.txt

 

Unix-prosessien hallinta

Unixissa komentojen ym. ohjelmien suoritus tapahtuu nk. prosesseina. Prosesseja voidaan pysäyttää, keskeyttää sekä asettaa tausta-ajoon (jolloin ohjelman tulosteet eivät näy näytöllä) ja takaisin edusta-ajoon (eli näytöllä näkyvään tilaan).

Tausta-ajoa voit hyöntää esimerkiksi silloin, kun olet pääteyhteydessä ja haluat käyttää useita eri ohjelmia samanaikaisesti. Tällöin voit käynnistää haluamasi ohjelman taustalle “piiloon” ja jatkaa sitten pääteyhteyden hyödyntämistä toisia ohjelmia käyttämällä. Halutessasi voit kuitenkin palata käynnistämääsi, “piilossa” olevaan ohjelmaan ja jatkaa sen käyttöä joko samassa tai toisessa pääteyhteysikkunassa.  Tämä on mahdollista, koska Unix sallii lähes aina useiden pääteyhteyksien ottamisen samaan järjestelmään samanaikaisesti.

Prosessien käynnistäminen

Unix-komentojen sekä erilaisten Unix-ohjelmien suorittaminen tapahtuu useimmiten antamalla ohjelman suorituskäsky komentoriviltä käsin. Antamalla ohjelman suorituskäsky komentoriville ohjelman suoritus tapahtuu edusta-ajossa (foreground run), joten näet ohjelman toiminnan näytöllä.

Käynnistetään pine-sähköpostiohjelma:
 % pine

Unix-prosessien suorittaminen voi tapahtua myös nk. tausta-ajossa (background run) eli siten, ettei ohjelma näy näytöllä. Käyttämällä &-merkkiä voit asettaa haluamasi prosessin toimimaan tausta-ajoon. Tällöin voit samalla tehdä muita asioita komentoriviltä käsin.

Käynnistetään mozilla-selain tausta-ajoon, jotta komentoriviä voidaan samalla käyttää muihin tehtäviin:
 % mozilla &

 

Prosessien käsittely

Kun prosessin sanotaan olevan käynnissä (running), voit tarvittaessa joko lopettaa (terminate) koko prosessin lopullisesti tai pysäyttää (suspend) kyseisen prosessin haluamaksesi ajaksi:

 

  • Prosessin lopettaminen: CTRL-c
  • Prosessin pysäyttäminen: CTRL-z.

Lopettamiskäskyn jälkeen prosessiin ei enää voida palata, mutta kun prosessi pysäytetään, sen suorittamista voidaan jatkaa myöhemmin.

Painamalla näppäimistöltä CTRL-z -näppäinyhdistelmän, edustalla oleva ohjelma pysäytetään. Näytölle tulee tästä ilmoitus (esimerkkikuvassa pysäytetään pine-ohjelma):

 % [1]  + 26457 Suspended (signal)            pine

jobs
Komennon avulla voit selvittää, mitkä ohjelmat ovat käynnissä (running) ja mitkä ohjelmat ovat pysäytettyjä (suspended).

Näytetään prosessit (komento tulostaa näytölle listauksen käynnistetyistä ja pysäytetyistä prosesseista).
 % jobs

[1] Suspended (signal) pine
[2] – Suspended lynx
[3] + Suspended (signal) tin

bg
Komento jatkaa pysäytetyn prosessin suorittamista tausta-ajona, kun komennolle annetaan suoritettavan halutun prosessin id (merkitty [ ]-merkeillä edellisessä kuvassa).

Asetetaan pysäytetty prosessi #1 tausta-ajoon:
 % bg %1

[1] pine &


fg

Komento siirtää pysäytetyn prosessin edustalle (=näytöllä näkyville).

Tuodaan #1 prosessi edustalle:
  % fg %1

Seuraavaan listaukseen on koottu myös muutamia muita prosessien hallintakomentoja:

  • ps -aux = Näytä prosessien tilat
  • top = Näytä palvelimen prosessoria kuormittavat prosessit
  • kill = Tapa prosessi.

Tutustu em. komentoihin man-komennon avulla.