Darbas su Linux galimybėmis

Įvadas

„Linux“ galimybės yra specialūs „Linux“ branduolio atributai, suteikiantys procesams ir dvejetainiams vykdomiesiems failams specifines privilegijas, kurios paprastai rezervuojamos procesams, kurių efektyvus vartotojo ID yra 0 (root naudotojas ir tik šakninis vartotojas turi UID 0).

Šiame straipsnyje bus paaiškintos kai kurios galimos galimybės, jų naudojimas ir kaip jas nustatyti bei pašalinti. Atkreipkite dėmesį, kad nustačius vykdomųjų failų galimybes, gali kilti pavojus jūsų sistemos saugumui. Todėl prieš diegdami gamybos galimybes turėtumėte apsvarstyti galimybę išbandyti ne gamybinę sistemą.

Būtinos sąlygos

  • Linux sistema, kurioje turite root prieigą (per root naudotoją arba vartotoją, turintį sudo prieigą).

Paaiškinimas

Iš esmės galimybių tikslas yra padalyti „root“ galią į konkrečias privilegijas, kad išnaudojus procesą ar dvejetainį elementą, turintį vieną ar daugiau galimybių, galima žala būtų ribota, palyginti su tuo pačiu procesu, veikiančiu kaip root.

Galimybes galima nustatyti procesams ir vykdomiesiems failams. Procesas, atsirandantis vykdant failą, gali įgyti to failo galimybes.

„Linux“ įdiegtų galimybių yra daug ir daugelis jų buvo pridėtos nuo pirminio išleidimo. Kai kurie iš jų yra tokie:

  • CAP_CHOWN: pakeiskite failų vartotojo ID ir grupės ID
  • CAP_DAC_OVERRIDE: nepaisyti DAC (diskrecinės prieigos kontrolės). Pavyzdžiui, vto apeina skaitymo/rašymo/vykdymo leidimų patikras.
  • CAP_KILL: apeiti signalų siuntimo procesams leidimo patikras.
  • CAP_SYS_NICE: Padidinkite procesų malonumą ( Gražumo paaiškinimą rasite čia )
  • CAP_SYS_TIME: Nustatykite sistemos ir realaus laiko aparatūros laikrodį

Norėdami pamatyti visą sąrašą, paleiskite man 7 capabilities.

Galimybės priskiriamos rinkiniams, būtent „leistina“, „paveldima“, „efektyvi“ ir „aplinkos“ gijomis, o „leidžiama“, „paveldima“ ir „veiksminga“ failams. Šie rinkiniai apibrėžia skirtingą sudėtingą elgesį, jų išsamus paaiškinimas nepatenka į šio straipsnio taikymo sritį.

Kai faile nustatome galimybes, beveik visada naudosime „leidžiama“ ir „veiksminga“, pavyzdžiui, CAP_DAC_OVERRIDE+ep. Atkreipkite dėmesį į +ep, kuris žymi pirmiau minėtus rinkinius.

Darbas su failų galimybėmis

Reikalingi paketai

Yra du pagrindiniai įrankiai, getcapir setcapkuri gali atitinkamai peržiūrėti ir nustatyti šiuos atributus.

  • „Debian“ ir „Ubuntu“ šiuos įrankius teikia libcap2-binpaketas, kurį galima įdiegti kartu su:apt install libcap2-bin
  • „CentOS“ ir „Fedora“ libcappaketas reikalingas:yum install libcap
  • „Arch Linux“ juos taip pat teikia libcap:pacman -S libcap

Skaitymo galimybės

Norėdami peržiūrėti, ar failas turi kokių nors galimybių, galite tiesiog paleisti getcap /full/path/to/binary, pavyzdžiui:

 root@demo:~# getcap /usr/bin/ping
 /usr/bin/ping = cap_net_raw+ep
 root@demo:~# getcap /usr/bin/rcp
 /usr/bin/rcp = cap_net_bind_service+ep

Jei norite sužinoti, kurios galimybės jau nustatytos jūsų sistemoje, galite rekursyviai ieškoti visoje failų sistemoje naudodami šią komandą:

getcap -r /

Dėl to, kad virtualios failų sistemos (pvz., /proc) nepalaiko šių operacijų, aukščiau pateikta komanda sukels tūkstančius klaidų, todėl norėdami gauti švaresnę išvestį, naudokite šiuos veiksmus:

getcap -r / 2>/dev/null 

Galimybių priskyrimas ir pašalinimas

Norėdami nustatyti tam tikrą failo funkciją, naudokite setcap "capability_string" /path/to/file.

Norėdami pašalinti visas failo galimybes, naudokite setcap -r /path/to/file.

Norėdami parodyti, dabartiniame kataloge sukursime tuščią failą, suteiksime jam galimybę ir pašalinsime. Pradėkite nuo šių dalykų:

root@demo:~# touch testfile
root@demo:~# getcap testfile

Antroji komanda neduoda jokios išvesties, tai reiškia, kad šis failas neturi jokių galimybių.

Tada nustatykite failo galimybę:

root@demo:~# setcap "CAP_CHOWN+ep" testfile
root@demo:~# getcap testfile
testfile = cap_chown+ep

„CAP_CHOWN+ep“ buvo naudojamas kaip pavyzdys, bet bet kuris kitas gali būti priskirtas tokiu būdu.

Dabar pašalinkite visas galimybes iš testfile:

root@demo:~# setcap -r testfile
root@demo:~# getcap testfile

Vėlgi, išvesties nebus, nes „CAP_CHOWN+ep“ buvo pašalintas.

Išvada

Galimybės gali būti naudojamos daugybe galimybių ir gali padėti sustiprinti jūsų sistemų saugumą. Jei savo vykdomuosiuose failuose naudojate SUID bitą, apsvarstykite galimybę jį pakeisti konkrečia reikalinga funkcija.

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį