Рад са Линук могућностима

Увод

Линук могућности су посебни атрибути у језгру Линука који процесима и бинарним извршним датотекама додељују специфичне привилегије које су обично резервисане за процесе чији је ефективни ИД корисника 0 (Роот корисник, и само роот корисник, има УИД 0).

Овај чланак ће објаснити неке од доступних могућности, њихову употребу и како их поставити и уклонити. Имајте на уму да могућности подешавања на извршним датотекама могу да угрозе безбедност вашег система. Као такав, требало би да размислите о тестирању на непроизводном систему пре него што примените могућности у производњи.

Предуслови

  • Линук систем на коме имате роот приступ (било преко роот корисника или корисника са судо приступом).

Објашњење

У суштини, циљ могућности је да се моћ 'роот' подели на специфичне привилегије, тако да ако се експлоатише процес или бинарни фајл који има једну или више могућности, потенцијална штета је ограничена у поређењу са истим процесом који се покреће као роот.

Могућности се могу подесити за процесе и извршне датотеке. Процес који је резултат извршавања датотеке може добити могућности те датотеке.

Могућности имплементиране на Линук су бројне, а многе су додате од њиховог првобитног издања. Неки од њих су следећи:

  • CAP_CHOWN: Измените ИД корисника и ИД групе датотека
  • CAP_DAC_OVERRIDE: Заобилази ДАЦ (дискрециону контролу приступа). На пример, вто заобилази провере дозвола за читање/писање/извршавање.
  • CAP_KILL: Заобиђите провере дозволе за слање сигнала процесима.
  • CAP_SYS_NICE: Повећајте лепоту процеса ( Објашњење лепоте се може наћи овде )
  • CAP_SYS_TIME: Подесите системски и хардверски сат у реалном времену

За пуну листу, покрените man 7 capabilities.

Могућности се додељују у скуповима, односно „дозвољено“, „наследно“, „ефикасно“ и „амбијентно“ за нити, и „дозвољено“, „наследно“ и „ефикасно“ за датотеке. Ови скупови дефинишу различита сложена понашања, њихово потпуно објашњење је ван оквира овог чланка.

Када постављамо могућности у датотеку, скоро увек ћемо користити „дозвољено“ и „ефикасно“, на пример CAP_DAC_OVERRIDE+ep. Обратите пажњу на +ep, који означава горе поменуте скупове.

Рад са могућностима датотека

Потребни пакети

Постоје два главна средства, getcapа setcapкоје односно да видите и поставити ове атрибуте.

  • На Дебиан-у и Убунту-у, ове алате обезбеђује libcap2-binпакет, који се може инсталирати са:apt install libcap2-bin
  • На ЦентОС-у и Федори, libcapпакет је потребан:yum install libcap
  • На Арцх Линук-у их обезбеђују libcapи:pacman -S libcap

Способности читања

Да бисте видели да ли датотека има било какав скуп могућности, можете једноставно покренути getcap /full/path/to/binary, на пример:

 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

Ако желите да сазнате које су могућности већ постављене на вашем систему, можете рекурзивно претраживати цео систем датотека помоћу следеће команде:

getcap -r /

Због чињенице да виртуелни системи датотека (као што је /proc) не подржавају ове операције, горња команда ће произвести хиљаде грешака, тако да за чистији излаз користите следеће:

getcap -r / 2>/dev/null 

Додељивање и уклањање способности

Да бисте подесили одређену могућност на датотеци, користите setcap "capability_string" /path/to/file.

Да бисте уклонили све могућности из датотеке, користите setcap -r /path/to/file.

За демонстрацију направићемо празну датотеку у тренутном директоријуму, дати јој могућност и уклонити је. Почните са следећим:

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

Друга команда не производи никакав излаз, што значи да ова датотека нема никакве могућности.

Затим поставите могућност за датотеку:

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

„ЦАП_ЦХОВН+еп“ је коришћен као пример, али било који други се може доделити на овај начин.

Сада уклоните све могућности из testfile:

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

Опет, неће бити излаза, јер је „ЦАП_ЦХОВН+еп“ уклоњено.

Закључак

Могућности имају много потенцијалних употреба и могу помоћи да се појача безбедност ваших система. Ако користите СУИД бит на својим извршним датотекама, размислите о његовој замени потребном специфичном способношћу.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више