Sobes.tech
Junior — Middle

Linuxda capabilities nima ekanligini va ular qanday ishlashini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

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.