Puna me aftësitë Linux

Prezantimi

Aftësitë e Linux-it janë atribute të veçanta në kernelin Linux që u japin proceseve dhe ekzekutuesve binare privilegje specifike që zakonisht rezervohen për proceset, ID-ja e përdoruesit efektiv i të cilave është 0 (Përdoruesi rrënjësor, dhe vetëm përdoruesi rrënjë, ka UID 0).

Ky artikull do të shpjegojë disa nga aftësitë e disponueshme, përdorimet e tyre dhe mënyrën e vendosjes dhe heqjes së tyre. Ju lutemi vini re se vendosja e aftësive në skedarët e ekzekutueshëm ka potencialin të rrezikojë sigurinë e sistemit tuaj. Si i tillë, duhet të konsideroni testimin në një sistem jo-prodhues përpara se të zbatoni aftësitë në prodhim.

Parakushtet

  • Një sistem Linux në të cilin keni akses në rrënjë (ose nëpërmjet përdoruesit rrënjë ose një përdoruesi me akses sudo).

Shpjegim

Në thelb, qëllimi i aftësive është të ndajnë fuqinë e 'rrënjës' në privilegje specifike, në mënyrë që nëse një proces ose binare që ka një ose më shumë aftësi shfrytëzohet, dëmi i mundshëm është i kufizuar kur krahasohet me të njëjtin proces që funksionon si root.

Aftësitë mund të vendosen në procese dhe skedarë të ekzekutueshëm. Një proces që rezulton nga ekzekutimi i një skedari mund të fitojë aftësitë e atij skedari.

Aftësitë e zbatuara në Linux janë të shumta dhe shumë janë shtuar që nga lëshimi i tyre origjinal. Disa prej tyre janë si më poshtë:

  • CAP_CHOWN: Bëni ndryshime në ID-në e përdoruesit dhe ID-në e grupit të skedarëve
  • CAP_DAC_OVERRIDE: Anuloni DAC (Kontrolli i Aksesit Diskrecionar). Për shembull, vto anashkalojë kontrollet e lejes së leximit/shkrimit/ekzekutimit.
  • CAP_KILL: Anashkaloni kontrollet e lejeve për dërgimin e sinjaleve te proceset.
  • CAP_SYS_NICE: Rritni bukurinë e proceseve ( Një shpjegim i bukurisë mund të gjendet këtu )
  • CAP_SYS_TIME: Vendosni sistemin dhe orën e harduerit në kohë reale

Për listën e plotë, ekzekutoni man 7 capabilities.

Aftësitë caktohen në grupe, përkatësisht "të lejuara", "të trashëgueshme", "efektive" dhe "ambient" për thread-at dhe "të lejuara", "të trashëgueshme" dhe "efektive" për skedarët. Këto grupe përcaktojnë sjellje të ndryshme komplekse, shpjegimi i plotë i tyre është përtej qëllimit të këtij artikulli.

Kur vendosim aftësi në skedar, ne pothuajse gjithmonë do të përdorim "të lejuara" dhe "efektive", për shembull CAP_DAC_OVERRIDE+ep. Vini re +ep, që tregon grupet e lartpërmendura.

Puna me aftësitë e skedarëve

Paketat e nevojshme

Ka dy mjetet kryesore, getcapdhe setcaptë cilat respektivisht mund të shikoni dhe të vendosur këto atribute.

  • Në Debian dhe Ubuntu, këto mjete ofrohen nga libcap2-binpaketa, e cila mund të instalohet me:apt install libcap2-bin
  • Në CentOS dhe Fedora, libcappaketa është e nevojshme:yum install libcap
  • Në Arch Linux, ato ofrohen gjithashtu nga libcap:pacman -S libcap

Aftësitë e leximit

Për të parë nëse një skedar ka ndonjë grup aftësish, thjesht mund të ekzekutoni getcap /full/path/to/binary, për shembull:

 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

Nëse dëshironi të zbuloni se cilat aftësi janë vendosur tashmë në sistemin tuaj, mund të kërkoni të gjithë sistemin e skedarëve në mënyrë rekursive me komandën e mëposhtme:

getcap -r /

Për shkak të faktit se sistemet virtuale të skedarëve (siç është /proc) nuk i mbështesin këto operacione, komanda e mësipërme do të prodhojë mijëra gabime, kështu që për një dalje më të pastër përdorni sa vijon:

getcap -r / 2>/dev/null 

Caktimi dhe heqja e aftësive

Për të vendosur një aftësi të veçantë në një skedar, përdorni setcap "capability_string" /path/to/file.

Për të hequr të gjitha aftësitë nga një skedar, përdorni setcap -r /path/to/file.

Për demonstrim ne do të krijojmë një skedar bosh në drejtorinë aktuale, do t'i japim një aftësi dhe do ta heqim atë. Filloni me sa vijon:

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

Komanda e dytë nuk prodhon asnjë dalje, që do të thotë se ky skedar nuk ka ndonjë aftësi.

Më pas, vendosni një aftësi për skedarin:

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

"CAP_CHOWN+ep" është përdorur si shembull, por çdo tjetër mund të caktohet në këtë mënyrë.

Tani, hiqni të gjitha aftësitë nga testfile:

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

Përsëri, nuk do të ketë dalje, sepse "CAP_CHOWN+ep" u hoq.

konkluzioni

Aftësitë kanë shumë përdorime të mundshme dhe mund të ndihmojnë për të forcuar sigurinë e sistemeve tuaja. Nëse përdorni bitin SUID në ekzekutuesit tuaj, merrni parasysh ta zëvendësoni atë me aftësinë specifike të nevojshme.


Si të konfiguroni një server Tekkit Classic në Ubuntu 16.10

Si të konfiguroni një server Tekkit Classic në Ubuntu 16.10

Përdorimi i një sistemi të ndryshëm? Çfarë është Tekkit Classic? Tekkit Classic është një modpack për lojën që të gjithë e njohin dhe e duan; Minecraft. Ai përmban disa nga ver

Krijimi i një Blog Jekyll në Ubuntu 16.04

Krijimi i një Blog Jekyll në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? Jekyll është një alternativë e shkëlqyeshme për WordPress për blogimin ose ndarjen e përmbajtjes. Nuk kërkon ndonjë bazë të dhënash dhe është shumë e lehtë i

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Përdorimi i një sistemi të ndryshëm? Nëse blini një server Debian, atëherë duhet të keni gjithmonë arnimet dhe përditësimet më të fundit të sigurisë, pavarësisht nëse jeni në gjumë apo jo

Si të instaloni Squid Proxy në CentOS

Si të instaloni Squid Proxy në CentOS

Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer

Konfiguro serverin e mediave Red5 në Ubuntu 16.04

Konfiguro serverin e mediave Red5 në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? Red5 është një server mediash me burim të hapur i implementuar në Java që ju lejon të ekzekutoni aplikacione Flash me shumë përdorues si transmetimi i drejtpërdrejtë

Si të instaloni Apache Cassandra 3.11.x në Ubuntu 16.04 LTS

Si të instaloni Apache Cassandra 3.11.x në Ubuntu 16.04 LTS

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Forumin Vanilla në Ubuntu 16.04

Si të instaloni Forumin Vanilla në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? Forumi Vanilla është një aplikacion forumi me burim të hapur i shkruar në PHP. Është plotësisht i personalizueshëm, i lehtë për t'u përdorur dhe mbështet jashtëm

Si të instaloni Kanboard në Ubuntu 18.04 LTS

Si të instaloni Kanboard në Ubuntu 18.04 LTS

Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar

Si të instaloni Kanboard në Debian 9

Si të instaloni Kanboard në Debian 9

Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar

Instaloni Lynis në Debian 8

Instaloni Lynis në Debian 8

Hyrje Lynis është një mjet falas, me burim të hapur të auditimit të sistemit, që përdoret nga shumë administratorë të sistemit për të verifikuar integritetin dhe për të forcuar sistemet e tyre. Unë

Si të instaloni Thelia 2.3 në Debian 9

Si të instaloni Thelia 2.3 në Debian 9

Përdorimi i një sistemi të ndryshëm? Thelia është një mjet me burim të hapur për krijimin e faqeve të internetit të e-biznesit dhe menaxhimin e përmbajtjes në internet të shkruar në PHP. Kodi burimor Thelia i

Si të instaloni Microweber në CentOS 7

Si të instaloni Microweber në CentOS 7

Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë

Si të instaloni MODX Revolution në një Ubuntu 16.04 LAMP VPS

Si të instaloni MODX Revolution në një Ubuntu 16.04 LAMP VPS

Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, i lirë dhe me burim të hapur, i shkallës së ndërmarrjes.

Si të instaloni Mattermost 4.1 në CentOS 7

Si të instaloni Mattermost 4.1 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth

Si të instaloni dotCMS në Ubuntu 16.04

Si të instaloni dotCMS në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? DotCMS është një sistem menaxhimi i përmbajtjes me burim të hapur, të nivelit të ndërmarrjes, i shkruar në Java. Ai përmban pothuajse çdo veçori të kërkuar

Si të instaloni BigTree CMS në një Fedora 26 LAMP VPS

Si të instaloni BigTree CMS në një Fedora 26 LAMP VPS

Përdorimi i një sistemi të ndryshëm? BigTree CMS 4.2 është një sistem i shpejtë dhe i lehtë, pa pagesë dhe me burim të hapur, sistem i menaxhimit të përmbajtjes së nivelit të ndërmarrjes (CMS) me një

Le të enkriptojmë në Plesk

Le të enkriptojmë në Plesk

Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata

Lejon enkriptimin në cPanel

Lejon enkriptimin në cPanel

Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj

Instaloni Adminer në Debian/Ubuntu

Instaloni Adminer në Debian/Ubuntu

Adminer është një alternativë e lehtë për phpMyAdmin. Në krahasim, madhësia totale e paketës së saj është 400 KB, kundrejt 4.2 MB të phpMyAdmin. Ndryshe nga phpMyAdmin, e cila

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë