не работают capabilities

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

IMB
Сообщения: 2562
ОС: Debian

не работают capabilities

Сообщение IMB »

Доброго дня!
Имеется железка с linux-2.6.32, обновление в короткие сроки не возможна, на ней работает приложение использующее vendor SDK которое широко использует установку приоритета потоков через SCHED_RR. Пока приложение работало под root-м всё было нормально, сейчас приложение переведено в работу под не привилегированным пользователем, для этого были отключены установки приоритетов потоков в vendor SDK и на первый взгляд это не добавило проблем. Дальнейшее тестирование выявило наличие плавающие проблемы - vendor SDK стало предоставлять не корректный указатель что приводит к полному прекращению работы, было высказано предположение что это следствие невозможности выставления приоритета потоков в SCHED_RR. Так как возвращать работу под root-м не особо хочется возникла идея задействовать CAP_SYS_NICE capabilities, через secap была выполнена соотвествуюшая настройка бинарника на хосте, настройка на стороне железа не возможна в силу read-only файловой системы, на стороны железки наличие настройки была подверждено.
К сожалению после запуска /proc/PID/status не подверждает применение capabilities

Код: Выделить всё

........
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
..........
Второй признак того что не сработало - vendor SDK виснет, в strace такое

Код: Выделить всё

..........
getpid()                                = 1294
sched_setscheduler(1295, SCHED_RR, { 8 }) = -1 EPERM (Operation not permitted)
tgkill(1294, 1295, SIGRTMIN)            = 0
...........
чего не было при работе под root-м и с отключенной установки приоритета потоков.
Вопрос - что необходимо "докрутить" для работоспособности capabilities или что можно проверить что бы найти причину их не работоспособности или источника их сбоса/игнорирования?
Спасибо.
Спасибо сказали:
IMB
Сообщения: 2562
ОС: Debian

Re: не работают capabilities

Сообщение IMB »

опыт показал что при запуске из под root-а процесс применяет capabilities
Спасибо сказали:
IMB
Сообщения: 2562
ОС: Debian

Re: не работают capabilities

Сообщение IMB »

на примере хоста

Код: Выделить всё

$ /usr/sbin/getcap /usr/bin/ping
/usr/bin/ping cap_net_raw=ep
и в выводе strace есть вызов capget(), но ... насколько я понимаю это происходит потому что ping, в данном случае из состава iputils-ping собирается с поддержкой capabilities - в коде используются соотвествующие вызовы, как пример cap_get_proc() и он слинкован с libcap
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20939
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: не работают capabilities

Сообщение Bizdelnick »

IMB писал(а):
09.06.2022 17:33
на примере хоста

Код: Выделить всё

$ /usr/sbin/getcap /usr/bin/ping
/usr/bin/ping cap_net_raw=ep
Это, конечно, очень интересно, но что говорит та же команда о проблемном бинарнике?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
IMB
Сообщения: 2562
ОС: Debian

Re: не работают capabilities

Сообщение IMB »

что всё хорошо

Код: Выделить всё

$ LD_LIBRARY_PATH=/tmp: /tmp/getcap /usr/sbin/app
/usr/sbin/app cap_sys_nice=eip
Спасибо сказали:
IMB
Сообщения: 2562
ОС: Debian

Re: не работают capabilities

Сообщение IMB »

дальнейшие раскопки дали предположение что причина в linux, учитываение capabilities файла при запуске реализовано вроде как с linux-2.6.24
Спасибо сказали: