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

Siirry navigaatioon Siirry hakuun
p (Luokka:Käyttäjät ja ryhmät + wikilinkkejä)
 
(5 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 9: Rivi 9:


Jotta väljä umask ei haittaisi, henkilökohtaiset tiedostot laitetaan hakemistoihin, joiden käyttöoikeudet on käsin rajattu tai oikeudet rajoitetaan tiedostokohtaisesti. Kotihakemiston lukuoikeus voi myös olla hyvä poistaa:
Jotta väljä umask ei haittaisi, henkilökohtaiset tiedostot laitetaan hakemistoihin, joiden käyttöoikeudet on käsin rajattu tai oikeudet rajoitetaan tiedostokohtaisesti. Kotihakemiston lukuoikeus voi myös olla hyvä poistaa:
chmod go= ~/salainen/
chmod go= ~/.netrc
  [[chmod]] go=x ~/.
  [[chmod]] go=x ~/.
chmod go= ~/salainen
chmod go= ~/.netrc


===Uusi ryhmä ja sgid===
===Uusi ryhmä ja sgid===
Rivi 28: Rivi 28:
Ryhmällä ei ole oikeuksia muuta kuin mitä tiedoston luoja sille antaa (käyttäjän [[umask]] määrää oletusoikeudet). Jos käyttäjällä on umask 027 tai vastaava, joka antaa ryhmälle lukuoikeudet, kuka tahansa ryhmästä voi kopioida tiedoston ja tallettaa sen uudestaan haluamillaan oikeuksilla, mahdollisesti muokkauksen jälkeen. Kirjoitusoikeuksien puuttuminen ei siis käytännössä estä muita muokkaamasta tiedostoa.
Ryhmällä ei ole oikeuksia muuta kuin mitä tiedoston luoja sille antaa (käyttäjän [[umask]] määrää oletusoikeudet). Jos käyttäjällä on umask 027 tai vastaava, joka antaa ryhmälle lukuoikeudet, kuka tahansa ryhmästä voi kopioida tiedoston ja tallettaa sen uudestaan haluamillaan oikeuksilla, mahdollisesti muokkauksen jälkeen. Kirjoitusoikeuksien puuttuminen ei siis käytännössä estä muita muokkaamasta tiedostoa.


Ongelmia tulee silloin, kun jollakin käyttäjällä on tiukempi umask, joka ei automaattisesti anna muille lukuoikeuksia. Vastaava tilanne syntyy, kun tiedosto siirretään muualta, jolloin ryhmä ja oikeudet pysyvät entisellään. Tällöin käyttäjän on aina muistettava asettaa oikeudet sallivammiksi tai root (mahdollisesti ajastetun työn muodossa) joutuu korjaamaan oikeuksia.  
Ongelmia tulee silloin, kun jollakin käyttäjällä on tiukempi umask, joka ei automaattisesti anna muille lukuoikeuksia. Vastaava tilanne syntyy, kun tiedosto siirretään muualta, jolloin ryhmä ja oikeudet pysyvät entisellään. Tällöin käyttäjän on aina muistettava asettaa oikeudet sallivammiksi tai root (mahdollisesti ajastetun työn muodossa) joutuu korjaamaan oikeuksia.


Liian väljä umask ei haittaa tässä yhteydessä, koska mahdollisesti salassapidettävät tiedostot pysyvät salassa hakemiston oikeuksien turvin, kuhan ryhmään kuulumattomilla ei ole oikeuksia hakemistoon. Salassapidettäviä ja julkisia tiedostoja ei kannata pitää samassa hakemistossa.
Liian väljä umask ei haittaa tässä yhteydessä, koska mahdollisesti salassapidettävät tiedostot pysyvät salassa hakemiston oikeuksien turvin, kunhan ryhmään kuulumattomilla ei ole oikeuksia hakemistoon. Salassapidettäviä ja julkisia tiedostoja ei kannata pitää samassa hakemistossa.


===Rajoitettu kirjoitusoikeus===
===Rajoitettu kirjoitusoikeus===
Rivi 38: Rivi 38:


== Oikeuksien ja omistajuuden korjaaminen ==
== Oikeuksien ja omistajuuden korjaaminen ==
Koska käyttäjä voi asettaa tiedostoille vääriä oikeuksia ja omistajuuksia, oikeuksia voi joutua korjaamaan. Tällainen automaattinen "korjaus" edellyttää, että käyttäjät eivät odota voivansa hallita tiedostojen oikeuksia kyseisessä hakemistossa.
=== Setgidin käyttöönottaminen näppärästi ===
=== Setgidin käyttöönottaminen näppärästi ===


Rivi 46: Rivi 48:
3. Aseta tiedostoille muokkausoikeudet
3. Aseta tiedostoille muokkausoikeudet
  sudo find /export/tiimihakemisto  -type f -exec chmod g+rw {} \;
  sudo find /export/tiimihakemisto  -type f -exec chmod g+rw {} \;
Tässä muodossa komennot sisältävät ison tietoturva-aukon:
$ ls -l ~joku/salainen.txt
-rw------- 1 joku jotkut 43245 9.3.2011 salainen.txt
$ [[ln]] ~joku/salainen.txt /export/tiimihakemisto
Ja komentosarjan jälkeen tiimin jäsenillä olisi täydet oikeudet salaiseen tiedostoon (katso [[kova linkki]]). Parempi versio:
#!/bin/sh
find /export/tiimihakemisto \( -type d -o -type f -links 1 \) \! -group tiimi -execdir /bin/chgrp tiimi '{}' \;
find /export/tiimihakemisto -type d \! -perm -2070 -execdir /bin/chmod g+rwxs '{}' \;
find /export/tiimihakemisto -type f -links 1 \! -perm -060 -execdir /bin/chmod g+rw '{}' \;
Tiedostojen osalta varmistetaan testillä "<tt>-links 1</tt>", että tiedosto esiintyy vain tässä hakemistossa (jolloin ylläkuvattu hyökkäys estetään; hakemistot toimivat eri tavalla). Omistaja ja oikeudet muutetaan vain jos on muutostarvetta (jolloin [[aikaleima|ctime]] ei muutu turhaan). "<tt>-execdir</tt>" suoritetaan kyseisessä hakemistossa, millä vaikeutetaan joitakin hyökkäyksiä ([[race condition]]), mutta tämän takia komennoille on annettava koko polku, siltä varalta että suorittajalla on "[[työhakemisto|.]]" oletuspolussaan.


=== Ajastettu oikeuksien korjaus (cron) ===
=== Ajastettu oikeuksien korjaus (cron) ===
Koska käyttäjä voi asettaa tiedostoille vääriä oikeuksia ja omistajuuksia, hakemistorakenne kannattaa joissakin tapauksissa käydä läpi säännöllisesti virheellisyyksien korjaamiseksi. Tämä hoituu koneen käytöstä riippuen ohjelmilla [[Komentojen ajastaminen#Säännölliset työt: cron ja anacron|cron ja anacron]].
Hakemistorakenne kannattaa joissakin tapauksissa käydä läpi säännöllisesti virheellisyyksien korjaamiseksi. Tämä hoituu koneen käytöstä riippuen ohjelmilla [[Komentojen ajastaminen#Säännölliset työt: cron ja anacron|cron ja anacron]].


Cronin ajettavaksi voi laittaa työn, joka ajaa komennot ''chmod -R g+rX /hakemisto'' ja ''chgrp -R ryhmä /hakemisto/*'' kerran tunnissa tai vuorokaudessa. Huono puoli on se, että ratkaisu kuluttaa turhaan resursseja silloin kun mikään ei ole muuttunut eivätkä muutokset tapahtu reaaliaikaisesti. chmod-komento yllä muuttaa ryhmän oikeuksia, niin että ryhmälle tulee lukuoikeus kaikkiin tiedostoihin ja "suoritusoikeus" niihin tiedostoihin, joita joku saa "suorittaa", käytännössä hakemistoihin ja windowsista siirrettyihin tiedostoihin.  
Cronin ajettavaksi voi laittaa ylläkuvatun skriptin kerran tunnissa tai vuorokaudessa. Huono puoli on se, että ratkaisu kuluttaa turhaan resursseja silloin kun mikään ei ole muuttunut eivätkä muutokset tapahdu reaaliaikaisesti.


=== Taustaprosessi ===
=== Taustaprosessi ===
Ongelmista pääsisi [[taustaprosessi]]lla, jolle ydin kertoo muutoksista, jolloin virheet voitaisiin korjata sitä mukaa kuin ne syntyvät, eikä hakemistoja tarvitsisi käydä läpi turhaan. Tähän ei vielä ole valmista ratkaisua, vaan tarvitseva joutuu itse koodaamaan.
Ongelmista pääsisi [[taustaprosessi]]lla, jolle ydin kertoo muutoksista, jolloin virheet voitaisiin korjata sitä mukaa kuin ne syntyvät, eikä hakemistoja tarvitsisi käydä läpi turhaan. Tähän ei vielä ole vakiintunutta ratkaisua, vaan tarvitseva joutuu itse koodaamaan tai etsimään sopivaa ohjelmaa.


=== ACL eli pääsynvalvontalistat ===
=== 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.
Linuxissa voi ottaa käyttöön [[Tiedostojärjestelmän pääsylistat (ACL)|ACL]]-toiminnon, jonka avulla tiedosto-oikeuksien hallintaa voi tehdä huomattavasti yksityiskohtaisemmin. ACL-toiminto vaatii kuitenkin jonkin verran opettelua ja konfigurointia.


== Käyttö Windows-järjestelmien kautta ==
== Käyttö Windows-järjestelmien kautta ==
Rekisteröitymätön käyttäjä

Navigointivalikko