Sobes.tech
Junior — Middle

Linux'ta capabilities kavramının ne anlama geldiğini ve nasıl çalıştığını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Capabilities в Linux — это механизм, который позволяет разбивать права суперпользователя (root) на более мелкие, независимые привилегии. Это помогает повысить безопасность, предоставляя процессам только те права, которые им действительно нужны, вместо полного доступа root.

Например, вместо запуска процесса с полными правами root, можно дать ему capability для открытия сетевых сокетов или изменения системного времени.

Основные моменты:

  • Capabilities делятся на наборы: Effective, Permitted, Inheritable и Bounding.
  • Программы могут запускаться с определёнными capabilities, что ограничивает их возможности.
  • Это снижает риск компрометации системы при эксплуатации уязвимостей.

Для просмотра capabilities файла можно использовать команду:

getcap /path/to/binary

А для установки:

setcap cap_net_bind_service=+ep /path/to/binary

Это даст программе право открывать порты ниже 1024 без запуска от root.