Ero sivun ”Kansion yhteiskäyttö ryhmässä” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Ak: Uusi sivu: '''sivu työn alla''' Joskus on tarvetta sille, että tietokoneella on hakemisto, johon usealla henkilöllä on sekä luku- että kirjoitusoikeudet '''pysyvästi''' siten, että myö...)
 
Ei muokkausyhteenvetoa
Rivi 1: Rivi 1:
'''sivu työn alla'''
Joskus on tarvetta sille, että tietokoneella on hakemisto, johon usealla henkilöllä on sekä luku- että kirjoitusoikeudet '''pysyvästi''' siten, että myös kaikissa uusissa ja muokatuissa tiedostoissa säilyy ryhmän sisäinen luku- ja kirjoitusoikeus.  
Joskus on tarvetta sille, että tietokoneella on hakemisto, johon usealla henkilöllä on sekä luku- että kirjoitusoikeudet '''pysyvästi''' siten, että myös kaikissa uusissa ja muokatuissa tiedostoissa säilyy ryhmän sisäinen luku- ja kirjoitusoikeus.  


Tällainen tilanne on esimerkiski:
Tällainen tilanne on esimerkiksi:
* palvelimella, jossa useampi henkilö tekee yhdessä jotakin projektia tietyssä hakemistossa ja halutaan, että ryhmän sisäinen luku- ja kirjoitusoikeus säilyy myös uusissa ja muokatuissa tiedostoissa.
* palvelimella, jossa useampi henkilö tekee yhdessä jotakin projektia tietyssä hakemistossa ja halutaan, että ryhmän sisäinen luku- ja kirjoitusoikeus säilyy myös uusissa ja muokatuissa tiedostoissa.
* kotona, jos vaikkapa jokaisella perheenjäsenellä on oma käyttäjätunnus mutta halutaan silti pitää tietyssä hakemistossa yhteinen multimedia-arkisto, joihin kaikilla on luku- ja kirjoitusoikeus.
* kotona, jos vaikkapa jokaisella perheenjäsenellä on oma käyttäjätunnus mutta halutaan silti pitää tietyssä hakemistossa yhteinen multimedia-arkisto, joihin kaikilla on luku- ja kirjoitusoikeus.


Useimmiten asian voi yrittää ratkaista siten, että luo uuden käyttäjäryhmän johon halutut käyttäjätunnukset lisätään ja sitten asettaa hakemiston omistajaksi kyseisen ryhmän ja muokkausoikeudet sellaisiksi, että jokaisella ryhmään kuuluvalla on luku- ja kirjoitusoikeudet.  
== chown ja chmod (ei riitä) ==
 
Useimmiten käyttäjä yrittää ratkaista asian siten, että luo uuden käyttäjäryhmän johon halutut käyttäjätunnukset lisätään ja sitten asettaa hakemiston omistajaksi kyseisen ryhmän ja muokkausoikeudet sellaisiksi, että jokaisella ryhmään kuuluvalla on luku- ja kirjoitusoikeudet.  


Esimerkki: tiedoston omistaa käyttäjä ''otto'' ja ryhmä ''tiimi''. Molemmilla on luku-, kirjoitus- ja suoritusoikeudet (''rwx''), muilla käyttäjätunnuksilla ainoastaan luku- ja suoritusoikeus (''r-x''):
Esimerkki: tiedoston omistaa käyttäjä ''otto'' ja ryhmä ''tiimi''. Molemmilla on luku-, kirjoitus- ja suoritusoikeudet (''rwx''), muilla käyttäjätunnuksilla ainoastaan luku- ja suoritusoikeus (''r-x''):
  drwxrxxr-x 8 otto tiimi 1024 Oct  7 10:23 teksti.txt
  drwxrxxr-x 8 otto tiimi 1024 Oct  7 10:23 .
-rwxrxxr-x 8 otto tiimi 1024 Oct  7 10:25 teksti.txt


Tämä ei aina riitä, koska monet tekstinkäsittelyohjelmat ja muut muokkausohjelmat vaihtavat muokatessa samalla tiedoston omistustiedot ja käyttöoikeudet siten, että tallennettu tiedosto on sekä kirjoittajan omistama että myös kirjoittajan yksityisessä ryhmässä eikä muilla ole muokkausoikeuksi tiedostoon.  
Tämä ei aina riitä, koska monet tekstinkäsittelyohjelmat ja muut muokkausohjelmat vaihtavat muokatessa samalla tiedoston omistustiedot ja käyttöoikeudet siten, että tallennettu tiedosto on sekä kirjoittajan omistama että myös kirjoittajan yksityisessä ryhmässä eikä muilla ole muokkausoikeuksia tiedostoon.  


Esimerkiksi tiedosto-oikeudet joillakin ohjelmilla muokkaamisen ja tallentamisen jälkeen:
Esimerkiksi tiedosto-oikeudet joillakin ohjelmilla muokkaamisen ja tallentamisen jälkeen:
Rivi 19: Rivi 20:
Vaihtoehtoisia luoda pysyvät ryhmäoikeudet on useita.
Vaihtoehtoisia luoda pysyvät ryhmäoikeudet on useita.


== setgid-bitti ja umask ==
= setgid-bitti ja umask =


Setgid-bitti huolehtii siitä, että kaikki hakemistoon tehtävät uudet tiedostot ja alihakemistot perivät hakemistolla sillä hetkellä olevan ryhmän ja myös oikeudet.
Setgid-bitti huolehtii siitä, että kaikki hakemistoon tehtävät uudet tiedostot ja alihakemistot perivät hakemistolla sillä hetkellä olevan ryhmän ja myös oikeudet.
Rivi 56: Rivi 57:




=== Setgidin käyttöönottaminen näppärästi ===
== Setgidin käyttöönottaminen näppärästi ==


1. Anna hakemisto ryhmän omistukseen:
1. Anna hakemisto ryhmän omistukseen:
Rivi 70: Rivi 71:
   sudo find /www/tiimihakemisto  -type f -exec chmod g+rw {} \;
   sudo find /www/tiimihakemisto  -type f -exec chmod g+rw {} \;


= Ajastettu cron =
Yksi tapa ratkaista ongelma on laittaa croniin ajastus, joka ajaa komennot ''chmod -R 775 /hakemisto'' ja ''chown -R käyttäjä:ryhmä /hakemisto'' kerran vuorokaudessa. Huono puoli on se, että ratkaisu kuluttaa turhaan resursseja silloin kun mikään ei ole muuttunut, tiedostoihin ei voi laittaa hienojakoisemmin oikeuksia eikä muutokset tapahtu reaaliaikaisesti.
= ACL eli pääsynvalvontalistat =
Linuxissa voi ottaa käyttöön ACL-toiminnon, jonka avulla tiedosto-oikeuksien hallintaa voi tehdä huomattavasti yksityiskohtaisemmin. ACL-toiminto vaatii kuitenkin jonkin verran opettelua ja konfigurointia.


[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]
[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]
[[Luokka:Tiedostojärjestelmät]]
[[Luokka:Tiedostojärjestelmät]]

Versio 7. lokakuuta 2008 kello 12.28

Joskus on tarvetta sille, että tietokoneella on hakemisto, johon usealla henkilöllä on sekä luku- että kirjoitusoikeudet pysyvästi siten, että myös kaikissa uusissa ja muokatuissa tiedostoissa säilyy ryhmän sisäinen luku- ja kirjoitusoikeus.

Tällainen tilanne on esimerkiksi:

  • palvelimella, jossa useampi henkilö tekee yhdessä jotakin projektia tietyssä hakemistossa ja halutaan, että ryhmän sisäinen luku- ja kirjoitusoikeus säilyy myös uusissa ja muokatuissa tiedostoissa.
  • kotona, jos vaikkapa jokaisella perheenjäsenellä on oma käyttäjätunnus mutta halutaan silti pitää tietyssä hakemistossa yhteinen multimedia-arkisto, joihin kaikilla on luku- ja kirjoitusoikeus.

chown ja chmod (ei riitä)

Useimmiten käyttäjä yrittää ratkaista asian siten, että luo uuden käyttäjäryhmän johon halutut käyttäjätunnukset lisätään ja sitten asettaa hakemiston omistajaksi kyseisen ryhmän ja muokkausoikeudet sellaisiksi, että jokaisella ryhmään kuuluvalla on luku- ja kirjoitusoikeudet.

Esimerkki: tiedoston omistaa käyttäjä otto ja ryhmä tiimi. Molemmilla on luku-, kirjoitus- ja suoritusoikeudet (rwx), muilla käyttäjätunnuksilla ainoastaan luku- ja suoritusoikeus (r-x):

drwxrxxr-x 8 otto tiimi 1024 Oct  7 10:23 .
-rwxrxxr-x 8 otto tiimi 1024 Oct  7 10:25 teksti.txt

Tämä ei aina riitä, koska monet tekstinkäsittelyohjelmat ja muut muokkausohjelmat vaihtavat muokatessa samalla tiedoston omistustiedot ja käyttöoikeudet siten, että tallennettu tiedosto on sekä kirjoittajan omistama että myös kirjoittajan yksityisessä ryhmässä eikä muilla ole muokkausoikeuksia tiedostoon.

Esimerkiksi tiedosto-oikeudet joillakin ohjelmilla muokkaamisen ja tallentamisen jälkeen:

drwxr-xr-x 8 otto otto 1024 Oct  7 10:25 teksti.txt

Vaihtoehtoisia luoda pysyvät ryhmäoikeudet on useita.

setgid-bitti ja umask

Setgid-bitti huolehtii siitä, että kaikki hakemistoon tehtävät uudet tiedostot ja alihakemistot perivät hakemistolla sillä hetkellä olevan ryhmän ja myös oikeudet.

Käyttäjän umask taas ajaa asian käyttöoikeuksien osalta.

Esimerkin lähtötilanne:

$ sudo mkdir /var/tmp/meep2
$ ls -la /var/tmp/meep2
drwxr-xr-x 2 root root 1024 Oct  7 10:23 .

Käyttäjän pitää olla siinä ryhmässä jolle hakemisto annetaan:

$ groups otto
otto: tiimi staff wwwadmin members

Vaihdetaan hakemiston omistajaryhmä:

$ sudo chgrp tiimi /var/tmp/meep2
$ ls -la /var/tmp/meep2
drwxr-xr-x 2 root tiimi 1024 Oct  7 10:23 .

Tarkistetaan oma umask (joka on oikein):

$ umask
0002

Luodaan uusi tiedosto

$ touch /var/tmp/meep2/moop
$ ls -la /var/tmp/meep2
drwxrwsr-x 2 root tiimi 1024 Oct  7 10:26 .
-rw-rw-r-- 1 otto tiimi 0 Oct  7 10:26 moop

sgid-bitti periytyy alihakemistoille:

$ ls -la /var/tmp/meep2
drwxrwsr-x 3 root tiimi 1024 Oct  7 10:27 .
-rw-rw-r-- 1 otto tiimi 0 Oct  7 10:26 moop
drwxrwsr-x 2 otto tiimi 1024 Oct  7 10:27 myyp


Setgidin käyttöönottaminen näppärästi

1. Anna hakemisto ryhmän omistukseen:

 sudo chgrp -R tiimi /www/tiimihakemisto

2. Aseta hakemistoille oikeudet JA setgid-bitti

 sudo find /www/tiimihakemisto -type d -exec chmod g+rwxs {} \;

3 Aseta tiedostoille muokkausoikeudet

 sudo find /www/tiimihakemisto  -type f -exec chmod g+rw {} \;


Ajastettu cron

Yksi tapa ratkaista ongelma on laittaa croniin ajastus, joka ajaa komennot chmod -R 775 /hakemisto ja chown -R käyttäjä:ryhmä /hakemisto kerran vuorokaudessa. Huono puoli on se, että ratkaisu kuluttaa turhaan resursseja silloin kun mikään ei ole muuttunut, tiedostoihin ei voi laittaa hienojakoisemmin oikeuksia eikä muutokset tapahtu reaaliaikaisesti.

ACL eli pääsynvalvontalistat

Linuxissa voi ottaa käyttöön ACL-toiminnon, jonka avulla tiedosto-oikeuksien hallintaa voi tehdä huomattavasti yksityiskohtaisemmin. ACL-toiminto vaatii kuitenkin jonkin verran opettelua ja konfigurointia.