Ero sivun ”Käyttäjien hallinta” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(parantelua, malline)
(linkitystä, <tt>muotoilua</tt> ja lisäkommentteja)
Rivi 11: Rivi 11:
== Yleistä ==
== Yleistä ==


Linuxissa jokaisella käyttäjällä ('maija', 'matti') 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 ('myynti', 'kanslia'). Järjestelmässä on myös teknisiä tunnuksia mm. erilaisia palveluita varten ('mail', 'wwwdata').
Linuxissa jokaisella käyttäjällä ('maija', 'matti') on oma [[käyttäjä|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 ('myynti', 'kanslia'). Järjestelmässä on myös teknisiä tunnuksia mm. erilaisia palveluita varten ('mail', 'wwwdata').


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ä.
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 [http://www.flug.fi/ohjeita/oikeudet.html Opi Linux ja tiedostojen oikeudet Akun ja Iineksen kanssa].
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ä [[tiedoston oikeudet|tiedostojen oikeuksia]], tarvittaessa lue [http://www.flug.fi/ohjeita/oikeudet.html 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ätunnuksia ja ryhmiä voi hallita vain root. Seuraavat komennot antavat virheilmoituksen, jos muu kuin root käyttää niitä. Poikkeuksena on [[gpasswd]], jota voivat käyttää myös ryhmän ylläpitäjät, jos sellaisia on määritelty, sekä [[sudo]]n tai vastaavan järjestelyn kautta käytettävät [[bash-skriptaus|skriptit]].
 
Jos käytössä on [[NIS]], [[NFS]], [[Samba]] tms., tämä järjestely on huomioitava käyttäjähallinnassa. Alla kuvatut komennot eivät silloin välttämättä toimi odotetulla tavalla.


== Käyttäjien luonti ja poisto ==
== Käyttäjien luonti ja poisto ==


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.
Käyttäjätunnus lisätään komennolla [[useradd]]. Tämän jälkeen tunnukselle asetetaan salasana komennolla [[passwd]]. Käytännössä kannattaa myös lisätä [[finger]]-tietoihin käyttäjän nimi komennolla [[chfn]] (ellei tietoja määritelty käyttäjätunnusta luotaessa).
 
Useradd on äärimmäisen yksinkertainen: <tt>useradd ''tunnus''</tt> 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. Myös numeroita käytetään yleisesti. Muita merkkejä ei yleensä kannata käyttää; esimerkiksi kirjaimet 'ä' ja 'ö' saattavat aiheuttaa suuriakin ongelmia.


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ä.
<tt>passwd ''tunnus''</tt> kysyy salasanan juuri luodulle käyttäjälle, kirjoitusvirheiden varalta kahteen kertaan. chfn tunnus kysyy ns. finger-tiedot, jotka näet komennolla <tt>finger ''tunnus''</tt>. Nimi kannattaa aina lisätä heti luonnin jälkeen, jotta vielä ensi vuonna tietää kenen tunnus "vpvirt" olikaan.


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 komennolla [[userdel]], joko userdel tunnus tai userdel -r tunnus. Viimeksimainittu poistaa myös [[kotihakemisto]]n (ja sähköpostitiedoston). Käyttäjän omistamia tiedostoja voi jäädä muuallekin &ndash; ne löytyvät ennen käyttäjän poistoa komennolla <tt>[[find]] / -user ''tunnus''</tt>. Jos käyttäjä ehdittiin jo poistaa, pitää komennolla <tt>find / -nouser</tt> etsiä tiedostot joilla ei ole enää omistajaa. Tämänkin jälkeen käyttäjän tiedostoja on esimerkiksi [[varmuuskopiointi|varmuuskopioissa]].


Käyttäjien poisto tapahtuu userdel-komennolla, joko userdel tunnus tai userdel -r tunnus. Viimeksimainittu poistaa myös kotihakemiston. Silti on mahdollista että käyttäjän omistamia tiedostoja jää jonnekin - ne löytyvät ennen käyttäjän poistoa komennolla find / -user tunnus. Jos käyttäjä ehdittiin jo poistaa, pitää komennolla find / -nouser etsiä tiedostot joilla ei ole enää omistajaa.
Ennen käyttäjän ja käyttäjän tiedostojen poistamista pitää varmistua siitä, etteivät muut käyttäjät tarvitse käyttäjän omistamia tiedostoja. Käytännössä tunnus kannattaa ensisijaisesti poistaa käytöstä lukitsemalla tunnus. Komento <tt>passwd -l ''tunnus''</tt> estää kirjautumisen salasanalla. Kirjautuminen muuta kautta (varsinkin [[SSH]]:n avaimet) saattaa vielä olla mahdollista. Komentotulkin vaihtaminen sellaiseen, joka ei löydy tiedostosta /etc/[[shells]], auttaa joidenkin palvelinten osalta. Tämä onnistuu esimerkiksi komennolla <tt>[[chsh]] -s /bin/[[false]] ''tunnus''</tt>


== Ryhmien luonti ja poisto ==
== Ryhmien luonti ja poisto ==


Tämä(kin) on helppoa: groupadd ryhma lisää ryhmän ja groupadd ryhma poistaa ryhmän.
Tämä(kin) on helppoa:<tt> [[groupadd]] ''ryhma''</tt> lisää ryhmän ja <tt>[[groupdel]] ''ryhma''</tt> poistaa ryhmän.


Jos tahtoo ensin etsiä ryhmälle kuuluvat tiedostot, se onnistuu sanomalla find / -group ryhma. Jos tämä unohtui, voi sanoa find / -nogroup myöhemmin hakeakseen tiedostot joilta puuttuu ryhmä.
Jos tahtoo ensin etsiä ryhmälle kuuluvat tiedostot, se onnistuu sanomalla <tt>find / -group ''ryhma''</tt>. Jos tämä unohtui, voi sanoa <tt>find / -nogroup</tt> myöhemmin hakeakseen tiedostot joilta puuttuu ryhmä.


== Käyttäjät ryhmiin ==
== Käyttäjät ryhmiin ==


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ä.
Myöskään käyttäjien lisääminen ja poistaminen ryhmistä ei rasita paljoa: <tt>[[gpasswd]] -a ''tunnus'' ''ryhma''</tt> lisää ryhmään ja <tt>gpasswd -d ''tunnus'' ''ryhma''</tt> 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.
Ylläpitäjä voi delegoida ryhmän hallinnan jollekin ryhmän jäsenistä. <tt>gpasswd -A ''tunnus'' ''ryhma''</tt> 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 <tt>gpasswd -A</tt> -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 jokaista käyttäjää vastaa 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.
Joissakin [[jakelu|linuxjakelussa]] jokaista käyttäjää vastaa 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. Käytäntöä voi muuttaa tiedostossa /etc/default/useradd, /etc/adduser.conf tai vastaavassa. Samalla on määriteltävä korvaava oletusryhmä (usein "users", [[GID|gid]] 100).


== Sekalaisia huomioita ==
== Sekalaisia huomioita ==
Rivi 47: Rivi 51:
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.
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 muokkaamalla 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.
Käyttäjätietoja on mahdollista hallita myös muokkaamalla suoraan tiedostoja /etc/[[passwd-tiedosto|passwd]] (käyttäjät), /etc/[[group-tiedosto|group]] (ryhmät) ja /etc/[[shadow]] (salasanat). Tämä on joskus nopeampaa, mutta ei suositeltavaa, etenkään jos ylläpitäjiä on useampia. Tiedostoja voi myös silloin muokata komennoilla [[vipw]] ja [[vigr]], jotka huolehtivat lukituksista.


[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]

Versio 19. maaliskuuta 2008 kello 21.50

Artikkeli soveltuu vain tietylle jakelulle vaikka sen tulisi käsitellä aihetta neutraalisti. Sitä tulisi muuttaa siirtämällä jakeluriippuvaiset yksityiskohdat Jakelukohtaista kappaleen alle - tai koko sivu kyseisen jakelun alasivuksi.

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ä:

   * useradd kayttaja
   * userdel kayttaja
   * groupadd ryhma
   * groupdel ryhma
   * gpasswd -a kayttaja ryhma
   * gpasswd -d kayttaja ryhma 

Yleistä

Linuxissa jokaisella käyttäjällä ('maija', 'matti') 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 ('myynti', 'kanslia'). Järjestelmässä on myös teknisiä tunnuksia mm. erilaisia palveluita varten ('mail', 'wwwdata').

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ä. Poikkeuksena on gpasswd, jota voivat käyttää myös ryhmän ylläpitäjät, jos sellaisia on määritelty, sekä sudon tai vastaavan järjestelyn kautta käytettävät skriptit.

Jos käytössä on NIS, NFS, Samba tms., tämä järjestely on huomioitava käyttäjähallinnassa. Alla kuvatut komennot eivät silloin välttämättä toimi odotetulla tavalla.

Käyttäjien luonti ja poisto

Käyttäjätunnus lisätään komennolla useradd. Tämän jälkeen tunnukselle asetetaan salasana komennolla passwd. Käytännössä kannattaa myös lisätä finger-tietoihin käyttäjän nimi komennolla chfn (ellei tietoja määritelty käyttäjätunnusta luotaessa).

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. Myös numeroita käytetään yleisesti. Muita merkkejä ei yleensä kannata käyttää; esimerkiksi kirjaimet 'ä' ja 'ö' saattavat aiheuttaa suuriakin ongelmia.

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 komennolla userdel, joko userdel tunnus tai userdel -r tunnus. Viimeksimainittu poistaa myös kotihakemiston (ja sähköpostitiedoston). Käyttäjän omistamia tiedostoja voi jäädä muuallekin – ne löytyvät ennen käyttäjän poistoa komennolla find / -user tunnus. Jos käyttäjä ehdittiin jo poistaa, pitää komennolla find / -nouser etsiä tiedostot joilla ei ole enää omistajaa. Tämänkin jälkeen käyttäjän tiedostoja on esimerkiksi varmuuskopioissa.

Ennen käyttäjän ja käyttäjän tiedostojen poistamista pitää varmistua siitä, etteivät muut käyttäjät tarvitse käyttäjän omistamia tiedostoja. Käytännössä tunnus kannattaa ensisijaisesti poistaa käytöstä lukitsemalla tunnus. Komento passwd -l tunnus estää kirjautumisen salasanalla. Kirjautuminen muuta kautta (varsinkin SSH:n avaimet) saattaa vielä olla mahdollista. Komentotulkin vaihtaminen sellaiseen, joka ei löydy tiedostosta /etc/shells, auttaa joidenkin palvelinten osalta. Tämä onnistuu esimerkiksi komennolla chsh -s /bin/false tunnus

Ryhmien luonti ja poisto

Tämä(kin) on helppoa: groupadd ryhma lisää ryhmän ja groupdel ryhma poistaa ryhmän.

Jos tahtoo ensin etsiä ryhmälle kuuluvat tiedostot, se onnistuu sanomalla find / -group ryhma. Jos tämä unohtui, voi sanoa find / -nogroup myöhemmin hakeakseen tiedostot joilta puuttuu ryhmä.

Käyttäjät ryhmiin

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.

Joissakin linuxjakelussa jokaista käyttäjää vastaa 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. Käytäntöä voi muuttaa tiedostossa /etc/default/useradd, /etc/adduser.conf tai vastaavassa. Samalla on määriteltävä korvaava oletusryhmä (usein "users", gid 100).

Sekalaisia huomioita

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 muokkaamalla suoraan tiedostoja /etc/passwd (käyttäjät), /etc/group (ryhmät) ja /etc/shadow (salasanat). Tämä on joskus nopeampaa, mutta ei suositeltavaa, etenkään jos ylläpitäjiä on useampia. Tiedostoja voi myös silloin muokata komennoilla vipw ja vigr, jotka huolehtivat lukituksista.