Linuxissa jokaisella käyttäjällä on oma tunnus, ja käyttäjä kuuluu yhteen tai useampaan ryhmään. Käyttäjien ja ryhmien hallinta on helppoa, lyhyesti tiivistettynä:
Linuxissa jokaisella käyttäjällä on oma käyttäjätunnus. Lisäksi on
aina vähintään pääkäyttäjän root
-tunnus, ja toisinaan
luodaan myös jotain tehtävää varten omia ei-henkilökohtaisia
käyttäjätunnuksia.
Jokainen käyttäjä kuuluu yhteen tai useampaan ryhmään. Ryhmät vastaavat yleensä reaalimaailman ryhmiä, esimerkiksi jonkin projektin osallistujia tai yrityksen tietyn osaston työntekijöitä.
Jokaisella tiedostolla ja hakemistolla on joku käyttäjä omistaja ja täsmälleen yksi ryhmä. Siis yksi käyttäjä voi kuulua moneen ryhmään, yksi tiedosto ei. Tämä kirjoitus ei selitä tiedostojen oikeuksia, tarvittaessa lue Opi Linux ja tiedostojen oikeudet Akun ja Iineksen kanssa.
Käyttäjätunnuksia ja ryhmiä voi hallita vain root. Seuraavat komennot antavat virheilmoituksen, jos muu kuin root käyttää niitä.
Käyttäjätunnus lisätään useradd
-komennolla. Tämän
jälkeen tunnukselle asetetaan salasana passwd
-komennolla.
Käytännössä kannattaa myös lisätä finger-tietoihin käyttäjän nimi
chfn
-komennolla.
Useradd on äärimmäisen yksinkertainen: useradd tunnus lisää käyttäjätunnuksen "tunnus". Jos komento onnistuu, se ei tulosta mitään. Tunnuksen on hyvä olla korkeintaan 8 merkkiä pitkä ja koostua pienistä kirjaimista a-z. Numerot ja väliviiva ovat myös "turvallisia" merkkejä, mutta esimerkiksi kirjaimet 'ä' ja 'ö' ovat vältettäviä.
passwd tunnus kysyy salasanan juuri luodulle käyttäjälle, kirjoitusvirheiden varalta kahteen kertaan. chfn tunnus kysyy ns. finger-tiedot, jotka näet komennolla finger tunnus. Nimi kannattaa aina lisätä heti luonnin jälkeen, jotta vielä ensi vuonna tietää kenen tunnus "vpvirt" olikaan.
Käyttäjien poisto tapahtuu userdel-komennolla, joko userdel tunnus tai userdel -r tunnus. Viimeksimainittu poistaa myös kotihakemiston ja mahdollisen meililaatikon. (Mutta ei esim. muissa hakemistoissa olevia, käyttäjän ylläpitämiä WWW-sivuja tms.)
Tämä(kin) on helppoa: groupadd ryhma lisää ryhmän ja groupdel ryhma poistaa ryhmän.
Myöskään käyttäjien lisääminen ja poistaminen ryhmistä ei rasita paljoa: gpasswd -a tunnus ryhma lisää ryhmään ja gpasswd -d tunnus ryhma poistaa ryhmästä.
Ylläpitäjä voi delegoida ryhmän hallinnan jollekin ryhmän jäsenistä. gpasswd -A tunnus ryhma tekee tunnuksesta "tunnus" ryhmän ylläpitäjän, joka voi käyttää gpasswd-komentoa liittääkseen tai poistaakseen käyttäjiä ryhmästä. Ryhmän ylläpitäjä voi antaa ylläpito-oikeuden eteenpäin samalla gpasswd -A -komennolla. Ryhmän ylläpito-oikeuksia ei voi suoraan poistaa, mutta toinen ylläpitäjä voi poistaa ylläpitäjän ryhmästä ja liittää takaisin, jolloin ylläpito-oikeus poistuu.
Fedora Core -linuxjakelussa jokaisella käyttäjällä on henkilökohtainen ryhmä. Tämä on tavallaan kierto sille Linuxin rajoitukselle, että jokaisella tiedostolla pitää olla jokin ryhmä, vaikka se olisi tarkoitettukin vain yhden tunnuksen käyttöön. Henkilökohtaisen ryhmän nimi on sama kuin tunnuksella. Juuri tästä johtuu, että ls -l tulostaa usein käyttäjätunnuksen kahteen kertaan.
Edellä jo selvitettiin finger
komentoa. -m
-optio on myös kertomisen arvoinen: kun pelkkä finger matti
kertoo tiedot käyttäjästä jonka käyttäjätunnus on matti, mutta myös
kaikista muista joiden nimi on Matti, antaa
finger -m matti vain tunnuksen "matti" tiedot.
Komennolla groups matti näkee mihin ryhmiin Matti kuuluu.
Ryhmään kuuluvat ihmiset saa helpoiten selville grep-komennolla. Usein
pelkkä grep ryhmannimi /etc/group riittää, mutta jos haluaa varmistaa
ettei joukkoon tule virheellisiä rivejä (haettaessa ryhmää "aila" löytyisi
myös rivi jossa on nimi "Saila"), voi sanoa
grep -E '^ryhmannimi:' /etc/group
Jos tahtoo tarkistaa missä kaikkialla käyttäjän omistamia tiedostoja on, ne löytää sanomalla find / -user tunnus. Jos käyttäjä ehdittiin jo poistaa, pitää komennolla find / -nouser etsiä tiedostot joilla ei ole enää omistajaa.
Ryhmien osalta vastaavat komennot ovat find / -group ryhma ja find / -nogroup
Todellisuudessa tiedoston omistaja tallennetaan numerona, ja tiedostosta
/etc/passwd
katsotaan numeroa vastaava tunnus. Jos viimeksi
luodun käyttäjän poistaa ja luo uuden, saa tämä uusi käyttäjä omistukseensa
poistetun käyttäjän tiedostot. Ole siis varovainen! Omistajan tapaan
myös tiedoston ryhmä on tallennettu numerona.
Käyttäjätietoja on mahdollista hallita myös suoraan tiedostoja
/etc/passwd
(käyttäjät), /etc/group
(ryhmät)
ja /etc/shadow
(salasanat). Tämä on joskus nopeampaa,
mutta ei suositeltavaa jos ylläpitäjiä on useampia.
Ryhmän admineiksi voi laittaa useampia yhdellä komennolla:
gpasswd -A tunnus1,tunnus2 ryhmannimi
Komento ei toimi käyttäjiä lisätessä. On myös mahdollista korvata ryhmän
ihmiset kerralla uudella listalla:
gpasswd -M tunnus1,tunnus2 ryhmannimi
poistaa ensin ryhmästä kaikki tunnukset ja lisää siihen sitten kaksi käyttäjää.