Sobes.tech
Назад к вопросам
Junior — Middle
70

Можете ли вы объяснить, что подразумевается под capabilities в Linux и как они работают?

Ответ от нейросети

sobes.tech AI

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.