Kansion yhteiskäyttö ryhmässä
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.
Tällainen tilanne on esimerkiski:
- 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.
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.
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
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.
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 {} \;