Utilia

Chmod-laskin

Muunna Unix-tiedostooikeudet ruutujen, oktaalin (755) ja symbolisen (rwxr-xr-x) muodon välillä. Mukana setuid, setgid, sticky ja valmiit chmod-komennot.

Oikeudet
LuokkaLuku (4)Kirjoitus (2)Suoritus (1)
Omistaja (u)
Ryhmä (g)
Muut (o)
Erikoisbitit

Komennot

Numeerinen
Symbolinen
Kuten ls -l näyttää
Suhteellinen muutos tilasta {from}

Kuka saa tehdä mitä

    Yleiset esiasetukset

    Näin käytät chmod-laskinta

    1. Aloita mistä tahansa esitystavasta: rastita ruudut Oikeudet-taulukossa, kirjoita tila kenttään Oktaali (esim. 755 tai 4755) tai liitä merkkijono, kuten rwxr-xr-x tai drwxr-sr-x (suoraan ls -l-tulosteesta), kenttään Symbolinen (esim. rwxr-xr-x). Muut näkymät seuraavat heti.
    2. Aseta Erikoisbitit, jos tarvitset niitä: Setuid (4000), Setgid (2000) tai Sticky (1000). Oktaalitilassa on silloin neljä numeroa.
    3. Kirjoita Tiedoston tai hakemiston nimi, rastita tarvittaessa Kyseessä on hakemisto ja Rekursiivinen (-R) ja kopioi Numeerinen tai Symbolinen komento.
    4. Jos haluat kokeilla suhteellista muutosta, kirjoita se kenttään Symbolinen muutos (esim. u+x,go-w) ja napsauta Käytä muutosta.

    Yleiset esiasetukset -painikkeet lataavat tyypillisiä tiloja, kuten 644, 600, 755 tai 2775. Suhteellinen muutos tilasta … -rivi näyttää chmod-lausekkeen, joka muuttaa viimeisimmän esiasetuksen tai kirjoitetun tilan nykyiseksi, esimerkiksi a+x tilasta 644 tilaan 755.

    Unix-oikeuksien lukeminen

    Jokaisella tiedostolla on kolme käyttäjäluokkaa: omistaja (u), tiedoston ryhmä (g) ja muut (o) eli kaikki muut. Jokainen luokka saa kolme oikeutta, joilla kullakin on numeroarvo: luku = 4, kirjoitus = 2, suoritus = 1. Yhteenlaskettuna ne antavat yhden oktaalinumeron luokkaa kohden: rwx = 7, rw- = 6, r-x = 5, r– = 4. Siksi rwxr-xr-x on 755.

    Hakemistossa samat kirjaimet tarkoittavat hieman eri asioita, jotka Kuka saa tehdä mitä -luettelo kertoo selvästi: r sallii kohteiden listaamisen, w sallii kohteiden luomisen, uudelleennimeämisen ja poistamisen (yhdessä x:n kanssa), ja x sallii hakemistoon siirtymisen ja sen sisällä olevien tiedostojen käytön.

    Erikoisbitit

    • Setuid (4000) suoritettavassa tiedostossa saa sen toimimaan tiedoston omistajan oikeuksilla. passwd käyttää sitä kirjoittaakseen salasanatietokantaan. Se näkyy merkkinä s omistajan suoritusoikeuden kohdalla tai S, jos suoritusoikeus puuttuu.
    • Setgid (2000) suoritettavassa tiedostossa suorittaa sen ryhmän oikeuksilla. Hakemistossa uudet tiedostot perivät hakemiston ryhmän, mikä pitää jaetut projektikansiot johdonmukaisina (2775).
    • Sticky (1000) hakemistossa sallii vain tiedoston omistajan poistaa tai nimetä sen uudelleen, vaikka kaikki voisivat kirjoittaa hakemistoon. /tmp on 1777. Se näkyy merkkinä t (tai T) muiden suoritusoikeuden kohdalla.

    Symboliset muutokset

    Symbolinen lauseke on muotoa ”kenelle, operaattori, oikeudet”: u+x lisää omistajalle suoritusoikeuden, go-w poistaa ryhmältä ja muilta kirjoitusoikeuden, a=r asettaa kaikille vain luku -oikeuden ja g=u kopioi omistajan oikeudet ryhmälle. Erota lausekkeet pilkuilla. Iso X lisää suoritusoikeuden vain hakemistoille tai tiedostoille, joilla on jo suoritusbitti, minkä ansiosta chmod -R a+X on turvallinen sekalaisten tiedostojen puulle. Kun ”kenelle” jätetään pois, tämä työkalu soveltaa muutosta kaikkiin luokkiin, kuten GNU chmod tekee umaskin ollessa 0.

    Turvallisuusvinkit

    Vältä 777:ää. Se sallii mille tahansa koneen tilille, myös vaarantuneelle web-palvelinprosessille, tiedoston muokkaamisen tai korvaamisen. Tyypillisiä turvallisia valintoja ovat 644 tiedostoille, 755 hakemistoille ja skripteille, 600 yksityisille avaimille ja 700 yksityisille hakemistoille. Laskin varoittaa kaikille kirjoitettavista tiloista, 777:stä ja setuid-ohjelmista.

    Usein kysytyt kysymykset

    Mitä eroa on chmod 755:llä ja chmod 775:llä?

    Tilassa 755 vain omistaja voi kirjoittaa, ja ryhmä ja muut voivat lukea ja suorittaa. Tila 775 antaa kirjoitusoikeuden myös ryhmälle, mikä sopii tiimin jakamille hakemistoille.

    Mitkä oikeudet SSH-yksityisavaimella pitäisi olla?

    600 (rw-------). OpenSSH kieltäytyy käyttämästä yksityistä avainta, jonka ryhmä tai muut voivat lukea.

    Miksi oktaalitilassa on joskus neljä numeroa?

    Ensimmäinen numero sisältää erikoisbitit: 4 setuidille, 2 setgidille ja 1 stickylle. 0755 ja 755 ovat sama tila.

    Toimiiko chmod 644 hakemistolle?

    Se asettaa bitit, mutta ilman x-oikeutta kukaan ei pääse hakemistoon eikä voi avata sen tiedostoja. Käytä hakemistoille 755:tä tai 750:tä.

    Mitä iso S tai T tarkoittaa ls -l -tulosteessa?

    Erikoisbitti on asetettu, mutta vastaavaa suoritusbittiä ei. Yleensä kyseessä on virhe: lisää suoritusoikeus tai poista erikoisbitti.