Root ja muut käyttäjätunnukset

Linux-käyttöjärjestelmässä, kuten muissakin UNIX-pohjaisissa käyttöjärjestelmissä, on mahdollisuus käyttää useita käyttäjätunnuksia. Käyttäjätunnus on kokonaisuus johon kuuluu tunnus, salasana, komentotulkki (engl. shell) ja kotihakemisto. (näiden tarkoituksesta myöhemmin lisää) Perinteisesti Linuxin käyttäjätunnukset ovat tiedostossa /etc/passwd, joka näyttää tällaiselta:

Esimerkki 2-1. /etc/passwd

root:AAAAAAAAAAAAA:0:0:root:/root:/bin/tcsh   
esko:BBBBBBBBBBBBB:500:100:Esko Peruskayttaja:/home/esko:/bin/tcsh
        

Tiedostossa olevat merkinnät ovat erotettuna ':'- merkillä. Jokainen rivi on uusi käyttäjätunnus. Rivit tiedostossa ovat muotoa:

tunnus : salasana : UID : GID : kommentti : kotihakemisto : komentotulkki
      

Jokaisen kohdan erillinen selitys:

tunnus

Tämä on käyttäjätunnus. Järjestelmässä ei voi olla kahta samannimistä tunnusta käytössä yhtäaikaa.

salasana

Vanhemmissa järjestelmissä (kuten tässä on oletettu) tällä kohdalla on salasana salattuna crypt-funktiolla. Uudemmissa järjestelmissä (jotka käyttävät ns. Shadow-järjestelmää) on tällä kohdalla pelkkä x (tai *), ja oikea salattu salasana sijaitsee /etc/shadow-tiedostossa, jossa on myös muuta tietoa ko. käyttäjästä. Salasanaa voi jokainen käyttäjä vaihtaa passwd-komennolla. Käyttäjän ei tarvitse huolehtia itse salasanan salauksesta vaan passwd-ohjelma tekee sen käyttäjän puolesta. Lisäksi passwd-komento "huomaa" myös /etc/shadow-tiedoston ja päivittää salasanan sinne ilman käyttäjän puuttumista. Yleensäottaen vanhemman Linux/UNIX-järjestelmän salasanat eivät ole kovin turvallisia, sillä salasanan enimmäispituus on vain kahdeksan merkkiä. Nykyään useissa levityspaketeissa voi valita asennusvaiheessa MD5-kryptatut salasanat, jolloin pituusrajoitus ei ole voimassa (eivät ole yleensä yhteensopivia muiden UNIX-järjestelmien kanssa).

Joka tapauksessa on tärkeää, että salasana valitaan huolella. Salasanan tulisi olla ainakin 8 merkkiä pitkä ja sen tulisi sisältää pieniä ja isoja kirjaimia sekä numeroita. Esimerkkejä HUONOISTA salasanoista ovat sellaiset, jotka ovat arvattavissa tai jotka sisältävät joitain yleisiä suomen- tai englanninkielisiä (tai muunkielisiä) sanoja. HYVÄT salasanat ovat muotoa "hDuuJ3K1", ne eivät ole arvattavissa.

UID

UID on jokaiselle käyttäjälle /etc/passwd-tiedostossa määrätty User ID-numero. Jokaista numeroa (yhdessä järjestelmässä) vastaa tasan yksi tunnus.

GID

GID (Group ID-number) on (pää-)käyttäjäryhmä, johon ko. tunnus kuuluu. Käyttäjäryhmät ja niitä vastaavat numerot ovat listattuna tiedostossa /etc/group. Käyttäjä voi olla yhtä aikaa monen ryhmän jäsen, jolloin muut ryhmät määritellään tiedostossa /etc/group rivin viimeisenä kenttänä.

kommentti

Yleensä käyttäjän koko nimi.

kotihakemisto

Käyttäjän kotihakemisto. Kirjautumisen yhteydessä tämä kirjataan käyttäjäkohtaiseen ympäristömuuttujaan $HOME.

komentotulkki

Ohjelma joka ajetaan sisäänkirjautumisen yhteydessä. Yleensä tämä on komentotulkki, joka välittää komentosi Linux-järjestelmälle. Komentotulkkeja ovat esim. tcsh, bash, zsh, ksh ...

Käyttäjätunnuksella root on oikeus lukea, kirjoittaa ja ajaa kaikkien muidenkin käyttäjien tiedostoja, ja komennot eivät juurikaan kysele varmistuksia vaan olettavat, että käyttäjä tietää tarkalleen mitä on tekemässä. Lisäksi rootin käynnistämillä ohjelmilla on oikeus käsitellä kaikkia laitteita tietokoneessasi kovalevystä näytönohjaimeen. Tämä tarkoittaa sitä, että root-tunnuksella todellakin voi saada Linux-järjestelmänsä tuhottua. Käyttämällä jotain toista tunnusta suojaat järjestelmäsi tahattomilta virhenäppäilyiltä. Sen vuoksi olisi aina suotavaa luoda Linux-järjestelmään erillinen tunnus, jota käyttää jokapäiväisessä käytössä. Seuraavassa esimerkki uuden tunnuksen luomisesta (# merkkaa käskyt jotka sinä kirjoitat): (kirjaudu sisään root-tunnuksella)

# cat /etc/passwd
root:x:0:0:root:/root:/bin/tcsh
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd: 
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:
operator:x:11:0:operator:/root:
ftp:x:14:50:FTP User:/home/ftp: 
jatorvin:x:503:100:Jarmo Torvinen:/home/jatorvin:/bin/tcsh
      

lisätään uusi tunnus:

# useradd heppu
      

Komento lisää uuden käyttäjän, luo käyttäjän kotihakemiston ja kopioi tiedostot hakemistosta /etc/skel uuteen kotihakemistoon. Käyttäjän luomisessa käytetään oletusarvoja.

Katsotaan, että tunnus varmasti lisättiin. Kaikissa järjestelmissä ei käytetä tiedostoa /etc/shadow, jolloin kryptatut salasanat ovat tiedostossa /etc/passwd. Shadow-tiedosto on vain root-tunnuksen luettavissa, ja sen takia turvallisempi.

Esimerkki 2-2. /etc/passwd

root:x:0:0:root:/root:/bin/bash 
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin: 
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:
operator:x:11:0:operator:/root:
ftp:x:14:50:FTP User:/home/ftp: 
jatorvin:x:503:100:Jarmo Torvinen:/home/jatorvin:/bin/tcsh
heppu:x:506:506::/home/heppu:/bin/bash
      

Esimerkki 2-3. /etc/shadow


root:hdh5Fdhsgd:10450:0:99999:7::: 
bin:*:10450:0:99999:7::: 
daemon:*:10450:0:99999:7:::
lp:*:10450:0:99999:7:::
sync:*:10450:0:99999:7:::
shutdown:*:10450:0:99999:7:::
halt:*:10450:0:99999:7:::
mail:*:10450:0:99999:7::: 
news:*:10450:0:99999:7:::
uucp:*:10450:0:99999:7:::
operator:*:10450:0:99999:7:::
ftp:*:10450:0:99999:7:::
jatorvin:hj67HDfsWgpW:10482:0:99999:7:-1:-1:134529876
heppu:!!:10577:0:99999:7:::
        

Käyttäjälle ei ole vielä asetettu nimeä tai salasanaa, joten asetetaan ne seuraavaksi:

# chfn heppu
Changing finger information for heppu.
Name []:Heppu Heppunen
Office []: 
Office Phone []: 
Home Phone []: 
Finger information changed.
# passwd heppu
Changing password for user heppu
New UNIX password: näppäile salasanasi
Retype new UNIX password:näppäile salasana uudelleen 
passwd: all authentication tokens updated successfully

      

Nyt olet luonut koneellesi uuden käyttäjän, ja asettanut sille nimen sekä salasanan. Voit kokeilla vasta luomaasi käyttäjää lopettamalla istunnon root-tunnuksella ja antamalla Login-kehotteeseen vasta luomasi käyttäjän tunnuksen ja salasanan.

Uudemmissa järjestelmissä voit muuttaa joitain käyttäjän luontiin käytettäviä arvoja muokkaamalla tiedostoja /etc/login.defs ja /etc/default/useradd.

Jos käytät konetta tekstitilassa, voit käyttää useampaa yhtäaikaista istuntoa valitsemalla näppäimillä Alt+F1-F6 käyttämäsi virtuaalikonsolin. Jos käytät X-ikkunointia, voit käyttää näppäimiä Ctrl+Alt+Fn päästäksesi virtuaalikonsoleille. X-ikkunointi käynnistyy ensimmäiselle vapaalle konsolille, yleensä numerolle 7.

Mikäli käytät konettasi verkon kautta pääteohjelmalla, virtuaalikonsolit eivät ole käytettävissä. Sen sijaan voit käyttää ohjelmaa nimeltä screen , jolla voit käyttää useampia virtuaalikonsoleita myös verkkoyhteyden kautta.