TGViewer
Linux Ready | DevOps Linux Ready | DevOps @linux_ready · 11.2K subscribers
Post #1077 2.07K
Выдача бинарникам точечных привилегий через setcap!

Иногда программе нужен root только для одной операции (bind к 80 порту, raw socket, cap_sys_ptrace). Для этого в Linux есть capabilities — они управляются через setcap.

Проверка capabilities у исполняемого файла:
getcap /usr/bin/ping


Типичный вывод:
/usr/bin/ping cap_net_raw=ep


В современных дистрибутивах ping часто не setuid-root, а работает через capabilities, получая доступ к raw socket.

Пример: разрешить бинарнику слушать порт <1024 без root:
sudo setcap cap_net_bind_service=ep ./server


Теперь запуск возможен от обычного пользователя:
./server


Bind к :80 будет работать без sudo.

Проверка назначенных capabilities:
getcap ./server


Удаление capabilities у бинарника, если нужно полностью убрать выданные ранее права и вернуть его в обычное состояние:
sudo setcap -r ./server


Несколько capabilities сразу, если бинарнику требуется больше одного привилегированного действия:
sudo setcap cap_net_bind_service,cap_sys_time=ep ./tool


Просмотр списка и описания всех capabilities:
man 7 capabilities


Важно: работает только на файловых системах с поддержкой extended attributes, cp по умолчанию сбрасывает xattr (используйте cp --preserve=xattr или -a), tar сохраняет capabilities только с --xattrs

🔥 Capabilities — способ выдавать минимально необходимые права, вместо запуска всего от root.

🚪 Linux Ready | #практика
  • 👍 15
  • ❤ 10
  • 🔥 7
More from @linux_ready
  1. Oct 9, 2026Прокидываем TCP-порты через socat! Бывает требуется опубликовать локальный TCP-сервис на д…
  2. Oct 8, 2026😍 Linux Cheat Sheet — большая русскоязычная шпаргалка по Linux и Bash! Здесь есть не толь…
  3. Oct 7, 2026Подключаемся к закрытым серверам через SSH ProxyJump! В инфраструктуре серверы часто не им…
  4. Oct 7, 2026На Stepik запустили мощный курс по «Troubleshooting Docker и Kubernetes: поиск и устранени…
  5. Oct 7, 2026📂 Шпаргалка по DevOps, SRE и Platform Engineering! Например, SRE фокусируется на надёжнос…
  6. Oct 6, 2026В GNU/Linux есть отдельная утилита для преобразования чисел внутри текстовых потоков! Допу…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →