Aloittelevana Linux-käyttäjänä opit tiedostoon ja hakemistoihin liittyvistä käyttöoikeuksista ja omistajuudesta. Linux/Unix-tyyppisissä käyttöjärjestelmissä voit asettaa yhdeksän bitin käyttöoikeuksien yhdistelmän, jotta muut käyttäjät eivät pääse tarpeettomiin tiedostoihin/hakemistoihin. Samankaltaisia ​​​​kuin nämä ovat erityiset oikeudet suoritettaville tiedostoille, jotka tunnetaan nimellä set UID, set GID ja sticky bits.

Erikoisoikeuksien ymmärtäminen voi olla hieman ylivoimaista pyrkiville Linux-järjestelmänvalvojille. Täällä opit hieman taustaa tavallisista tiedostojen käyttöoikeuksista ja selittää, miten ne eroavat erityisoikeuksista. Esittelemme myös SetID-, GetID- ja sticky bits -toiminnallisuutta esimerkein kattavan ymmärtämisen takaamiseksi.

Normaalit Linux-tiedostojen käyttöoikeudet

Linux käyttää chmod-komento määrittää/muuttaa lukea (r = 4), kirjoittaa (w = 2), ja suorita (x=1) tiedostojen ja kansioiden käyttöoikeudet. Toisin sanoen edellä mainitut yhdeksän bittiä koskevat kolmea pääluokkaa luparyhmiä. Ensimmäiset kolme ovat käyttäjälle, joka omistaa tiedoston, toinen joukko on tiedostolle/hakemistolle määritetylle ryhmälle ja viimeiset kolme edustavat kaikkia muita käyttäjiä.

Esimerkiksi tavallisessa tiedostossa kaikentyyppiset käyttöoikeudet kaikille käyttäjäluokille näkyvät muodossa -rwxrwxrwx. Kirjaimien tilalla - tarkoittaa luvan puuttumista. Nyt chmod komento käyttää numeroita ja kirjaimia muuttaakseen käyttöoikeuksia seuraavasti:

sudo chmod 755 tiedosto #for rwxr-xr-x 
sudo chmod 644 tiedosto #for rw-r--r-- 
sudo chmod a-w tiedosto #for r-xr-xr-x 
sudo chmod a+x-tiedosto #for --x--x--x

Erityiset Linux-tiedostooikeudet

The setuid bitti edustaa oikeutta suoritettavaan tiedostoon, jota muut käyttäjät voivat suorittaa omistajan luvalla. Esimerkiksi kun käyttäjä max suorittaa vi-komennon käyttäjänä John, sinulla on luku-/kirjoitusoikeudet John.

Voit tunnistaa tiedostot setuidilla käyttämällä ls komenta ja etsi s bitti suoritettavan bitin tilalle x, seuraavasti.

Aseta UID-bitti

The setuid bitti edustaa oikeutta suoritettavaan tiedostoon, jota muut käyttäjät voivat suorittaa omistajan luvalla. Esimerkiksi kun käyttäjä max suorittaa vi-komennon nimellä juuri, hänellä on luku-/kirjoitusoikeudet juuri. Voit tunnistaa tiedostot setuidilla käyttämällä ls komenta ja etsi s bitti suoritusbitin tilalle x, seuraavasti:

ls -la /etc/passwd 
-rwsr-xr-x 1 juurijuuri 88464 14. joulukuuta 12:46 passwd

Joitakin muita esimerkkejä ovat:

ls -la /bin/gpasswd
-rwsr-xr-x 1 juurijuuri 88464 14. heinäkuuta 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 juurijuuri 67816 21. heinäkuuta 2020 su
ls -la /newgrp
-rwsr-xr-x 1 juurijuuri 44784 14. heinäkuuta 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 juurijuuri 166056 19. tammikuuta 2021 sudo

Aseta setuid-bitti suoritettaville tiedostoille käyttämällä chmod-komentoa seuraavasti:

chmod u+s /etc/passwd

Tiedostojen suoritusoikeuden poistaminen ei-root-käyttäjiltä tai omistajilta:

chmod u-s /etc/passwd

Aseta GID-bitti

Kuten mainittiin, set uid -bitti ohjaa muiden käyttäjien pääsyä tiedostoihin, kun taas setgid (GID) -bitti luo yhteiskäyttöisiä hakemistoja. Tämä tarkoittaa, että kaikki kyseisessä hakemistossa luodut tiedostot ovat hakemiston ryhmän käytettävissä. Näin ollen se antaa kaikille ryhmän jäsenille mahdollisuuden suorittaa suoritettavia tiedostoja ilman omistajan oikeuksia ja suojaa niitä muilta käyttäjiltä.

Noudata näitä ohjeita luodaksesi yhteistyöhakemiston Linux-järjestelmääsi:

Luo ryhmä käyttämällä ryhmälisää komento ryhmätunnuksella 415 yhteistyötä varten:

groupadd -g 415 järjestelmänvalvojat

Käytä usermod-komentoa lisätäksesi Johnryhmään tiedostojen käyttöä/suoritusta varten.

usermod -aG järjestelmänvalvojat john

Käytä mkdir komento luodaksesi hakemiston:

mkdir /tmp/collaborative_dir

Käytä chgrp komento määrittääksesi hakemiston järjestelmänvalvojat ryhmä:

chgrp admins /tmp/collaborative_dir

Käytä chmod komento muuttaa hakemiston käyttöoikeudet arvoon 2775. 2-bitti kytkee gid-asetuksen päälle, 7 määrittää täyden rwx: n käyttäjälle ja ryhmälle, kun taas 5 (r-w) muille.

chmod 2775 /tmp/collaborative_dir

Muuta lopuksi käyttäjätilisi muotoon John ja luo tiedosto yhteistyöhakemistossa tarkistaaksesi tiedostojen käyttöoikeudet.

su - john
kosketa /tmp/collaborative_dir/file.txt

Su-komento voi antaa sinulle todennusvirheen. Kirjoita tässä tapauksessa sudo su -komento vaihtaaksesi juurihakemistoon ja suorittaaksesi sen uudelleen su - john vaihtaaksesi käyttäjätiliä

Listaa nyt oikeudet tarkistaaksesi GID-bitit hakemistolle ja juuri luodulle tiedostolle.

ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt 

Tyypillisessä tilanteessa johnin luomalle tiedostolle on määritetty ryhmä john. Koska luot tiedoston asetettuun GID-bittihakemistoon, se määrittää oikeudet järjestelmänvalvojat ryhmää siten, että kuka tahansa ryhmään kuuluva tykkää käyttäjästä Chris, pääsevät käsiksi siihen.Aiheeseen liittyvä: Uusien tiedostojen luominen Linuxissa kosketuksen avulla

Sticky Bits

Toisin kuin SID- ja GID-bitit, sticky bitit eroavat toiminnaltaan, koska ne suojaavat tiedostoja ja hakemistoja uudelleennimeämiseltä ja muiden käyttäjien poistamiselta. Säännöllinen tiedoston käyttöoikeus sallii jokaisen kirjoitusoikeuden omaavan käyttäjän poistaa tai nimetä uudelleen tiedoston. Sticky-bitillä se ei ole mahdollista, ellet ole tiedoston pääkäyttäjä tai omistaja.

Ihanteellinen tapausskenaario tarttuvien bittien käyttämiselle on hakemisto, joka on kaikkien käyttäjien käytettävissä tiedostojen luomista varten. Käytä esimerkiksi ls -ld komento tarkistaa \tmp hakemiston käyttöoikeudet seuraavasti:

Voit huomata, että tahmea bitti t korvaa suoritusbitin x. Luo rajoitettu poistohakemisto noudattamalla annettuja ohjeita:

Luo nyt toinen hakemisto hakemistoon /tmp kansio:

mkdir /tmp/new_dir

Muuta tiedoston käyttöoikeuksiksi 1777 kiinnittääksesi tahmean palan (t) ja täysi pääsy hakemistoon:

chmod 1777 /tmp/new_dir

Kopioi nyt mikä tahansa tiedosto tiedostosta /etc kansioon /tmp/new_dir ja muuta sen käyttöoikeudet muotoon 666:

cp /etc/ /tmp/new_dir
chmod 666 /tmp/new_dir/services

Luettele hakemisto ja kaikki sen sisältö nähdäksesi käyttöoikeudet:

ls -ld /tmp/new_dir /tmp/new_dir/services

Voit huomata sticky-bitin suoritusbitin sijasta, mikä tarkoittaa, että vain pääkäyttäjä tai käyttäjä john voi poistaa tiedoston, koska tiedosto on tahmeabittihakemiston sisällä.

Linuxin erityisten tiedostojen käyttöoikeuksien ymmärtäminen

Artikkeli osoittaa, kuinka nämä bitit asetetaan parantamaan yhteistyötä jaettujen tiedostojen ja hakemistojen kanssa ja suojaamaan niitä luvattomalta käytöltä, suorittamiselta ja poistamiselta. Vaikka et luo tiedostoja/hakemistoja näillä biteillä, tiedostojen erityisten käyttöoikeuksien ymmärtäminen on hyödyllistä monissa tilanteissa, erityisesti vianmäärityksessä tai järjestelmänvalvojana. Sen sijaan näiden bittien järjetön käyttö voi aiheuttaa erilaisia ​​tietoturva-aukkoja.

Kuinka säilyttää tiedostojen käyttöoikeudet kopioitaessa tiedostoja Linuxissa

Haluatko säilyttää tiedostojen käyttöoikeudet, kun kopioit tiedostoja Linuxissa? Näin teet sen cp: n ja rsyncin avulla.

Lue Seuraava

JaaTweetSähköposti
Liittyvät aiheet
  • Linux
  • Tiedostonhallinta
  • Linux
Kirjailijasta
Rumaisa Niazi (3 artikkelia julkaistu)

Rumaisa on freelance-kirjoittaja MUO: ssa. Hän on kattanut pitkän tien matemaatikosta tietoturva-harrastajaksi ja työskentelee SOC-analyytikkona. Hänen kiinnostuksensa kuuluu lukeminen ja kirjoittaminen uusista teknologioista, Linux-jakeluista ja kaikesta tietoturvaan liittyvästä.

Lisää Rumaisa Niazilta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi