Ako začínajúci používateľ Linuxu sa dozviete o povoleniach a vlastníctve súvisiacich so súbormi a adresármi. Operačné systémy podobné Linuxu/Unixu vám umožňujú nastaviť kombináciu deviatich bitových povolení, aby ste zabránili ostatným používateľom v nepotrebnom prístupe k súborom/adresárom. Podobné sú špeciálne povolenia pre spustiteľné súbory známe ako set UID, set GID a sticky bits.

Pochopenie špeciálnych povolení môže byť pre začínajúcich správcov Linuxu trochu zdrvujúce. Tu sa dozviete niečo o bežných povoleniach súborov a vysvetlíte, ako sa líšia od špeciálnych povolení. Ukážeme tiež funkcie SetID, GetID a sticky bits s príkladmi pre komplexné pochopenie.

Bežné povolenia súborov Linux

Linux používa príkaz chmod priradiť/zmeniť čítanie (r = 4), napíš (w=2) a vykonať (x=1) povolenia na súbory a priečinky. To znamená, že deväť bitov uvedených vyššie sa vzťahuje na tri hlavné kategórie skupín povolení. Prvé tri sú pre používateľa, ktorý vlastní súbor, druhá skupina je pre skupinu priradenú k súboru/adresáru a posledné tri predstavujú všetkých ostatných používateľov.

instagram viewer

Napríklad bežný súbor sa všetky typy povolení pre všetky kategórie používateľov zobrazia ako -rwxrwxrwx. Zatiaľ čo - namiesto písmen predstavuje absenciu tohto povolenia. Teraz chmod príkaz používa čísla a písmená na zmenu oprávnení takto:

sudo chmod 755 súbor #for rwxr-xr-x 
súbor sudo chmod 644 #for rw-r--r-- 
sudo chmod a-w súbor #for r-xr-xr-x 
sudo chmod a+x súbor #for --x--x--x

Špeciálne povolenia súborov Linux

The setuid bit predstavuje povolenie na spustiteľný súbor, ktorý môžu spustiť iní používatelia s autorizáciou vlastníka. Napríklad, keď používateľ max spustí príkaz vi ako používateľ John, budete mať oprávnenia na čítanie a zápis John.

Na identifikáciu súborov pomocou setuid použite ls príkaz a hľadajte s bit namiesto spustiteľného bitu X, nasledovne.

Nastavte bit UID

The setuid bit predstavuje povolenie na spustiteľný súbor, ktorý môžu spustiť iní používatelia s autorizáciou vlastníka. Napríklad, keď používateľ max spustí príkaz vi ako koreň, bude mať oprávnenia na čítanie/zápis koreň. Na identifikáciu súborov pomocou setuid použite ls príkaz a hľadajte s bit namiesto vykonávacieho bitu X, nasledovne:

ls -la /etc/passwd 
-rwsr-xr-x 1 koreňový koreň 88464 14. decembra 12:46 passwd

Niektoré ďalšie príklady sú:

ls -la /bin/gpasswd
-rwsr-xr-x 1 koreňový koreň 88464 14. júla 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 koreňový koreň 67816 21. júla 2020 ne
ls -la /newgrp
-rwsr-xr-x 1 koreňový koreň 44784 júl 14 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 koreňový koreň 166056 sudo 19. januára 2021

Ak chcete nastaviť bit setuid pre spustiteľné súbory, použite príkaz chmod takto:

chmod u+s /etc/passwd

Ak chcete odstrániť povolenie na spustenie súborov používateľom alebo vlastníkom bez oprávnenia root:

chmod u-s /etc/passwd

Nastavte bit GID

Ako už bolo spomenuté, bit set uid riadi prístup k súboru pre iných používateľov, zatiaľ čo bit setgid (GID) vytvára spolupracujúce adresáre. To znamená, že každý súbor vytvorený v tomto adresári je prístupný skupine adresára. Preto umožňuje všetkým členom skupiny spúšťať spustiteľné súbory bez privilégií vlastníka a chráni ich pred ostatnými používateľmi.

Ak chcete vytvoriť spoločný adresár vo svojom systéme Linux, postupujte podľa týchto krokov:

Vytvorte skupinu pomocou groupadd príkaz s ID skupiny 415 pre spoluprácu:

groupadd -g 415 správcov

Na pridanie použite príkaz usermod Johndo skupiny pre prístup/spustenie súboru.

usermod -aG admins john

Použi mkdir príkaz na vytvorenie adresára:

mkdir /tmp/collaborative_dir

Použi chgrp príkaz na priradenie adresára k správcov skupina:

chgrp admins /tmp/collaborative_dir

Použi chmod príkaz na zmenu povolenia adresára na 2775. 2 bit zapína nastavený gid, 7 na priradenie plného rwx používateľovi a skupine, zatiaľ čo 5 (r-w) pre ostatných.

chmod 2775 /tmp/collaborative_dir

Nakoniec zmeňte svoj používateľský účet na John a vytvorte súbor v adresári spolupráce, aby ste skontrolovali povolenia súboru.

su - john
dotknite sa /tmp/collaborative_dir/file.txt

Príkaz su vám môže spôsobiť chybu overenia. V tomto prípade zadajte sudo su príkaz na prepnutie do koreňového adresára a opätovné spustenie su - john na zmenu používateľského účtu

Teraz uveďte oprávnenia na kontrolu GID bitov (bitov) nastavených pre adresár a novovytvorený súbor.

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

V typickom scenári bude súbor vytvorený Johnom mať priradenú skupinu John. Keďže súbor vytvoríte v nastavenom bitovom adresári GID, pridelí sa mu povolenia správcov skupina, takže každý, kto patrí do skupiny, bude mať rád používateľa chris, bude mať k nemu prístup.Súvisiace: Ako vytvoriť nové súbory v systéme Linux pomocou dotyku

Sticky Bits

Na rozdiel od bitov SID a GID sa lepivé bity líšia vo funkčnosti, pretože chránia súbory a adresáre pred premenovaním a odstránením inými používateľmi. Bežné oprávnenie na súbor umožňuje každému používateľovi s prístupom na zápis súbor odstrániť alebo premenovať. Zatiaľ čo s nastaveným lepivým bitom to nie je možné, pokiaľ nie ste užívateľ root alebo vlastník súboru.

Ideálnym scenárom pre použitie lepiacich bitov je adresár, ktorý je prístupný všetkým používateľom na vytváranie súborov. Napríklad použite ls -ld príkaz na kontrolu \tmp povolenia adresára, a to takto:

Môžete si všimnúť, že lepkavý bit t nahrádza vykonávací bit X. Postupujte podľa uvedenej sady pokynov na vytvorenie adresára s obmedzeným odstránením:

Teraz vytvorte ďalší adresár v /tmp priečinok:

mkdir /tmp/new_dir

Zmeňte povolenia súboru na 1777 nastaviť priľnavý bit (t) a úplný prístup k adresáru:

chmod 1777 /tmp/new_dir

Teraz skopírujte ľubovoľný súbor z /etc priečinok do /tmp/new_dir a zmeniť jeho povolenia na 666:

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

Vypíšte adresár a celý jeho obsah na zobrazenie povolení:

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

Môžete si všimnúť lepivý bit namiesto vykonávacieho bitu, čo znamená, že súbor môže odstrániť iba root alebo používateľ John, pretože súbor je v adresári s lepivým bitom.

Pochopenie špeciálnych povolení súborov v systéme Linux

Článok ukazuje, ako nastaviť tieto bity, aby sa zlepšila spolupráca so zdieľanými súbormi a adresármi a chránili ich pred neoprávneným prístupom, spustením a odstránením. Aj keď nevytvárate súbory/adresáre s týmito bitmi, pochopenie špeciálnych povolení súborov je užitočné v mnohých situáciách, najmä pri riešení problémov alebo ako správca systému. Nerozumné používanie týchto bitov môže spôsobiť rôzne bezpečnostné chyby.

Ako zachovať povolenia súborov pri kopírovaní súborov v systéme Linux

Chcete si zachovať oprávnenia k súborom pri kopírovaní súborov v systéme Linux? Tu je návod, ako to urobiť pomocou cp a rsync.

Prečítajte si ďalej

zdieľamTweetujteEmail
Súvisiace témy
  • Linux
  • Správa súborov
  • Linux
O autorovi
Rumaisa Niazi (zverejnené 3 články)

Rumaisa je spisovateľkou na voľnej nohe v MUO. Prešla dlhú cestu od matematiky k nadšencovi informačnej bezpečnosti a pracuje ako analytička SOC. Medzi jej záujmy patrí čítanie a písanie o nových technológiách, distribúciách Linuxu a všetkom okolo informačnej bezpečnosti.

Viac od Rumaisa Niaziho

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber