Kaip Linux naujokas, sužinosite apie leidimus ir nuosavybės teises, susijusias su failu ir katalogais. „Linux“ / „Unix“ tipo operacinės sistemos leidžia nustatyti devynių bitų leidimų derinį, kad kiti vartotojai negalėtų pasiekti nereikalingų failų / katalogų. Panašūs į šiuos yra specialūs vykdomųjų failų leidimai, žinomi kaip rinkinio UID, rinkinio GID ir lipnios bitai.
Norintiems Linux administratoriams suprasti specialius leidimus gali būti šiek tiek sunku. Čia sužinosite šiek tiek informacijos apie įprastus failų leidimus ir paaiškinsite, kuo jie skiriasi nuo specialiųjų leidimų. Mes taip pat demonstruojame SetID, GetID ir lipnių bitų funkcijas su pavyzdžiais, kad būtų galima visapusiškai suprasti.
Įprasti „Linux“ failų leidimai
Linux naudoja chmod komanda priskirti / pakeisti skaitymą (r = 4), parašyk (w=2), ir vykdyti (x=1) failų ir aplankų teises. Tai reiškia, kad pirmiau minėti devyni bitai taikomi trims pagrindinėms leidimų grupių kategorijoms. Pirmieji trys skirti vartotojui, kuriam priklauso failas, antrasis rinkinys – grupei, priskirtai rinkmenai/katalogui, o paskutiniai trys – visiems kitiems vartotojams.
Pavyzdžiui, įprastame faile visų tipų leidimai visoms vartotojų kategorijoms bus rodomi kaip -rwxrwxrwx. Nors - vietoj raidžių reiškia šio leidimo nebuvimą. Dabar chmod komanda naudoja skaičius ir raides, kad pakeistų leidimus taip:
sudo chmod 755 failas #for rwxr-xr-x
sudo chmod 644 failas #for rw-r--r--
sudo chmod a-w failas #for r-xr-xr-x
sudo chmod a+x failas #for --x--x--x
Specialūs „Linux“ failų leidimai
The setuid bitas reiškia leidimą vykdyti vykdomąjį failą, kurį gali paleisti kiti naudotojai, turintys savininko leidimą. Pavyzdžiui, kai vartotojas maks paleidžia komandą vi kaip vartotojas jonas, turėsite skaitymo / rašymo leidimus jonas.
Norėdami identifikuoti failus su setuid, naudokite ls komandą ir ieškokite s bitas vietoje vykdomojo bito x, taip.
Nustatykite UID bitą
The setuid bitas reiškia leidimą vykdyti vykdomąjį failą, kurį gali paleisti kiti naudotojai, turintys savininko leidimą. Pavyzdžiui, kai vartotojas maks paleidžia komandą vi kaip šaknis, jis turės skaitymo / rašymo leidimus šaknis. Norėdami identifikuoti failus su setuid, naudokite ls komandą ir ieškokite s bitas vietoje vykdomojo bito x, taip:
ls -la /etc/passwd
-rwsr-xr-x 1 šakninė šaknis 88464 gruodžio 14 d. 12:46 passwd
Kai kurie kiti pavyzdžiai:
ls -la /bin/gpasswd
-rwsr-xr-x 1 šaknies šaknis 88464 liepos 14 d. 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 šaknies šaknis 67816 2020 m. liepos 21 d.
ls -la /newgrp
-rwsr-xr-x 1 šaknis 44784 liepos 14 d. 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 šaknis 166056 2021 m. sausio 19 d. sudo
Norėdami nustatyti vykdomųjų failų setuid bitą, naudokite komandą chmod taip:
chmod u+s /etc/passwd
Norėdami pašalinti ne root naudotojų ar savininkų leidimą vykdyti failus:
chmod u-s /etc/passwd
Nustatykite GID bitą
Kaip aptarta, set uid bitas kontroliuoja failų prieigą prie kitų vartotojų, o setgid (GID) bitas sukuria bendradarbiavimo katalogus. Tai reiškia, kad bet kuris tame kataloge sukurtas failas yra prieinamas katalogo grupei. Taigi jis leidžia visiems grupės nariams paleisti vykdomuosius failus be savininko teisių ir apsaugo juos nuo kitų vartotojų.
Norėdami sukurti bendradarbiavimo katalogą „Linux“ sistemoje, atlikite šiuos veiksmus:
Sukurkite grupę naudodami sugrupuoti komanda su grupės ID 415 bendradarbiavimui:
groupadd -g 415 administratoriai
Norėdami pridėti, naudokite komandą usermod jonasprie grupės failų prieigai / vykdymui.
usermod -aG administratoriai john
Naudoti mkdir komanda sukurti katalogą:
mkdir /tmp/collaborative_dir
Naudoti chgrp komanda priskirti katalogą administratoriai grupė:
chgrp admins /tmp/collaborative_dir
Naudoti chmod komanda pakeisti katalogo leidimą į 2775. 2 bitai įjungia nustatytą gid, 7 – vartotojui ir grupei priskirti visą rwx, o 5 (r-w) – kitiems.
chmod 2775 /tmp/collaborative_dir
Galiausiai pakeiskite savo vartotojo abonementą į jonas ir sukurti failą bendradarbiavimo kataloge, kad patikrintumėte failo teises.
su - jonas
palieskite /tmp/collaborative_dir/file.txt
Su komanda gali sukelti autentifikavimo klaidą. Tokiu atveju įveskite sudo su komandą, kad perjungtumėte į šaknį ir paleistumėte iš naujo su - jonas pakeisti vartotojo abonementą
Dabar nurodykite leidimus patikrinti katalogo ir naujai sukurto failo GID bitų rinkinį (-ius).
ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt
Įprastu atveju john sukurtam failui bus priskirtas grupės john. Kadangi failą kuriate nustatytame GID bitų kataloge, jis priskiria leidimus administratoriai grupę, kad kiekvienas, kuris priklauso grupei, patiktų vartotojui Chrisas, turės prieigą prie jo.Susijęs: Kaip sukurti naujus failus „Linux“ naudojant „touch“.
Lipnūs bitai
Skirtingai nuo SID ir GID bitų, lipnūs bitai skiriasi savo funkcijomis, nes apsaugo failus ir katalogus nuo kitų vartotojų pervadinimo ir ištrynimo. Įprastas failo leidimas leidžia bet kuriam vartotojui, turinčiam rašymo prieigą, ištrinti arba pervardyti failą. Tuo tarpu, kai nustatytas lipnus bitas, tai neįmanoma, nebent esate failo root naudotojas arba savininkas.
Idealus scenarijus naudojant lipnius bitus yra katalogas, prieinamas visiems naudotojams failams kurti. Pavyzdžiui, naudokite ls -ld komanda patikrinti \tmp katalogo leidimai, kaip nurodyta toliau:
Galite pastebėti, kad lipnus bitas t pakeičia vykdomąjį bitą x. Vykdykite pateiktą instrukcijų rinkinį, kad sukurtumėte apribotą ištrynimo katalogą:
Dabar sukurkite kitą katalogą /tmp aplankas:
mkdir /tmp/new_dir
Pakeiskite failo teises į 1777 nustatyti lipnumą (t) ir visa prieiga prie katalogo:
chmod 1777 /tmp/new_dir
Dabar nukopijuokite bet kurį failą iš /etc aplanką į /tmp/new_dir ir pakeisti jo leidimus į 666:
cp /etc/ /tmp/new_dir
chmod 666 /tmp/new_dir/services
Išvardykite katalogą ir visą jo turinį, kad galėtumėte peržiūrėti leidimus:
ls -ld /tmp/new_dir /tmp/new_dir/services
Galite pastebėti lipnųjį bitą, o ne vykdymo bitą, o tai reiškia, kad failą gali ištrinti tik šaknis arba vartotojas Jonas, nes failas yra lipniųjų bitų kataloge.
Specialių failų leidimų „Linux“ supratimas
Straipsnyje parodyta, kaip nustatyti šiuos bitus, kad būtų pagerintas bendradarbiavimas naudojant bendrinamus failus ir katalogus ir apsaugotas nuo neteisėtos prieigos, vykdymo ir ištrynimo. Net jei nekuriate failų / katalogų naudodami šiuos bitus, suprasti specialius failų leidimus yra naudinga daugelyje situacijų, ypač šalinant triktis arba dirbant sistemos administratoriui. Tuo tarpu neprotingas šių bitų naudojimas gali sukelti įvairių saugumo spragų.
Norite išsaugoti failų leidimus kopijuodami failus „Linux“? Štai kaip tai padaryti naudojant cp ir rsync.
Skaitykite toliau
- Linux
- Failų valdymas
- Linux

Rumaisa yra laisvai samdoma rašytoja MUO. Ji įveikė ilgą kelią nuo matematikės iki informacijos saugumo entuziastės ir dirba SOC analitike. Jos pomėgiai apima skaitymą ir rašymą apie naujas technologijas, Linux platinimą ir viską, kas susiję su informacijos saugumu.
Prenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!
Norėdami užsiprenumeruoti, spustelėkite čia