processkapabiliteter: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== Vad är processkapabiliteter i Linux? == Processkapabiliteter är en mekanism i Linux som gör det möjligt att ge en process specifika privilegier utan att behöva köra den som **root**. Istället för att en process har alla rättigheter som användaren **root**, kan den ges en begränsad uppsättning privilegier som behövs för dess funktion. === Varför finns processkapabiliteter? === Traditionellt har systemadministratörer behövt ge program **setuid root**,...')
 
Ingen redigeringssammanfattning
 
(En mellanliggande sidversion av samma användare visas inte)
Rad 1: Rad 1:
== Vad är processkapabiliteter i Linux? ==
== Vad är processkapabiliteter i Linux? ==
Processkapabiliteter är en mekanism i Linux som gör det möjligt att ge en process specifika privilegier utan att behöva köra den som **root**. Istället för att en process har alla rättigheter som användaren **root**, kan den ges en begränsad uppsättning privilegier som behövs för dess funktion.
Processkapabiliteter är en mekanism i Linux som gör det möjligt att ge en process specifika privilegier utan att behöva köra den som root. Istället för att en process har alla rättigheter som användaren root, kan den ges en begränsad uppsättning privilegier som behövs för dess funktion.


=== Varför finns processkapabiliteter? ===
=== Varför finns processkapabiliteter? ===
Traditionellt har systemadministratörer behövt ge program **setuid root**, vilket innebär att programmet körs med alla rättigheter som root-användaren. Detta innebär dock en säkerhetsrisk om ett program utnyttjas av en angripare.
Traditionellt har systemadministratörer behövt ge program setuid root, vilket innebär att programmet körs med alla rättigheter som root-användaren. Detta innebär dock en säkerhetsrisk om ett program utnyttjas av en angripare.
Kapabiliteter gör det möjligt att bryta ner **root**-rättigheter i separata delar så att en process bara får de rättigheter den behöver.
Kapabiliteter gör det möjligt att bryta ner root-rättigheter i separata delar så att en process bara får de rättigheter den behöver.


=== Hur fungerar processkapabiliteter? ===
=== Hur fungerar processkapabiliteter? ===
Rad 34: Rad 34:
| CAP_DAC_OVERRIDE || Överstyr standard filåtkomstkontroller.
| CAP_DAC_OVERRIDE || Överstyr standard filåtkomstkontroller.
|}
|}
Den fullständiga listan finns i **man capabilities(7)**.
Den fullständiga listan finns i man capabilities(7).


=== Hur används kapabiliteter? ===
=== Hur används kapabiliteter? ===
Rad 65: Rad 65:


=== Fördelar med processkapabiliteter ===
=== Fördelar med processkapabiliteter ===
* '''Ökad säkerhet''': Minskar behovet av att köra program som **root**.
* '''Ökad säkerhet''': Minskar behovet av att köra program som root.
* '''Finjusterad åtkomstkontroll''': Ger program exakt de rättigheter de behöver.
* '''Finjusterad åtkomstkontroll''': Ger program exakt de rättigheter de behöver.
* '''Mindre attackyta''': Om en process komprometteras har den inte alla root-rättigheter.
* '''Mindre attackyta''': Om en process komprometteras har den inte alla root-rättigheter.


Sammanfattningsvis är **processkapabiliteter ett kraftfullt säkerhetsverktyg i Linux**, och de används ofta i moderna system för att begränsa privilegier och förbättra säkerheten.
Sammanfattningsvis är processkapabiliteter ett kraftfullt säkerhetsverktyg i Linux, och de används ofta i moderna system för att begränsa privilegier och förbättra säkerheten.
 
 
 
= Sidslut =
 
<HR>
Det här är en AI generad manualsida för att förklara en datatekisk term. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har  sponsrat [https://www.linux.se Linux.se] med webbhotell.
 
[[Kategori:Linuxmanual grupp 1]]
[[Kategori:Linuxmanual]]

Nuvarande version från 30 januari 2025 kl. 10.47

Vad är processkapabiliteter i Linux?

Processkapabiliteter är en mekanism i Linux som gör det möjligt att ge en process specifika privilegier utan att behöva köra den som root. Istället för att en process har alla rättigheter som användaren root, kan den ges en begränsad uppsättning privilegier som behövs för dess funktion.

Varför finns processkapabiliteter?

Traditionellt har systemadministratörer behövt ge program setuid root, vilket innebär att programmet körs med alla rättigheter som root-användaren. Detta innebär dock en säkerhetsrisk om ett program utnyttjas av en angripare. Kapabiliteter gör det möjligt att bryta ner root-rättigheter i separata delar så att en process bara får de rättigheter den behöver.

Hur fungerar processkapabiliteter?

Varje process har tre kapabilitetsuppsättningar:

  1. Permitted (Tillåtna) – Anger vilka kapabiliteter processen har rätt att använda.
  2. Effective (Effektiva) – Anger vilka kapabiliteter som faktiskt är aktiva vid exekvering.
  3. Inheritable (Arvbara) – Anger vilka kapabiliteter som kan ärvas av barnprocesser vid `exec()`.

Utöver dessa finns även:

  • Bounding set (Begränsningsuppsättning): Bestämmer den maximala kapabiliteten som en process och dess barn kan få.
  • Ambient set (Omgivande uppsättning): Kapabiliteter som kan ärvas vid exekvering av nya program.

Exempel på kapabiliteter

Linux har en lista av kapabiliteter som kan tilldelas processer. Här är några vanliga:

Vanliga kapabiliteter
Kapabilitet Beskrivning
CAP_NET_ADMIN Tillåter nätverkskonfiguration.
CAP_SYS_ADMIN Ger många administrativa rättigheter.
CAP_CHOWN Tillåter ändring av filägare.
CAP_SETUID Tillåter byte av användar-ID (UID).
CAP_KILL Tillåter att skicka signaler till andra processer.
CAP_DAC_OVERRIDE Överstyr standard filåtkomstkontroller.

Den fullständiga listan finns i man capabilities(7).

Hur används kapabiliteter?

Visa kapabiliteter för en process

getcap /bin/ping Exempelutdata: /bin/ping = cap_net_raw+ep Detta betyder att `ping` har `CAP_NET_RAW`, vilket tillåter den att skicka råa nätverkspaket.

Sätta kapabiliteter på en fil

sudo setcap cap_net_admin+ep /usr/bin/example Detta ger `example` rättigheten `CAP_NET_ADMIN`.

Ta bort alla kapabiliteter från en fil

sudo setcap -r /usr/bin/example

Köra ett program med specifika kapabiliteter

capsh --caps="cap_net_admin+ep" -- -c "/bin/bash" Startar ett nytt skal med `CAP_NET_ADMIN`.

Fördelar med processkapabiliteter

  • Ökad säkerhet: Minskar behovet av att köra program som root.
  • Finjusterad åtkomstkontroll: Ger program exakt de rättigheter de behöver.
  • Mindre attackyta: Om en process komprometteras har den inte alla root-rättigheter.

Sammanfattningsvis är processkapabiliteter ett kraftfullt säkerhetsverktyg i Linux, och de används ofta i moderna system för att begränsa privilegier och förbättra säkerheten.


Sidslut


Det här är en AI generad manualsida för att förklara en datatekisk term. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.