Capabilities Beispiele: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 28: Zeile 28:
 
  ping-orig: socket: Operation not permitted
 
  ping-orig: socket: Operation not permitted
 
  ping-orig: => missing cap_net_raw+p capability or setuid?
 
  ping-orig: => missing cap_net_raw+p capability or setuid?
 +
==Links==
 +
*http://unixetc.co.uk/2016/05/30/linux-capabilities-and-ping/

Version vom 15. Januar 2023, 08:23 Uhr

password

User-SBit

  • Das Programm "password" muss auf die Datei /etc/shaddow zugreifen.
  • Wenn ein Benutzer dieses Programm auf ruft läuft der Prozess unter seiner UID
  • Diese hat kein Recht die Datei /etc/shaddow zu beschreiben.
  • Darum gibt es das User-SBIT Recht, dies hat zur Folge, das der Prozess unter der UID des Besitzers des Programms läuft.
  • ls -l /bin/passwd
-rwsr-xr-x 1 root root 63960 Feb  7  2020 /bin/passwd

Lösung per Capabilities

  • cp /bin/passwd /bin/pw
  • chmod u-s /bin/pw
  • setcap cap_dac_override=ep /bin/pw

ping

  • Ping braucht Privilegien, um die speziellen ICMP-Pakete ins LAN senden zu dürfen.
  • Normalerweise verschafft das Set-UID-Root-Bit dem Tool diese Fähigkeiten.
  • siehe Oben.
  • Debian hat ping so kompiliert das es die nicht braucht.
  • Wir nutzen deshalb ein selbst kompiliertes ping

Download

Test

als normaler Benutzer
  • su - xinux
  • ping-orig 1.1.1.1
ping-orig: socktype: SOCK_RAW
ping-orig: socket: Operation not permitted
ping-orig: => missing cap_net_raw+p capability or setuid?

Links