Запуск приложения с ненулевым МРД

artisstm

New member
Сообщения
4
#1
Добрый день, столкнулся с проблемой:
Пытаюсь запустить приложение от пользователя с мандатной меткой 1, приложение не запускается.
При этом с помощью strace удалось выяснить, что приложение не находит библиотеки.
Библиотеки находятся в папке с приложением.
Пробовал задавать переменную LD_LIBRARY_PATH=/путь до библиотек, но в strace видно, что приложение даже не пытается по этому пути найти библотеки.
При этом от рута все работает нормально.
С чем это может быть связанно и как решить проблему?
 

artisstm

New member
Сообщения
4
#3
Проблема не решил. Как правильной запускать сервис? Необходимо запускать его от пользователя с нулевой мандатной меткой? Или все-таки с пользователем с ненулевой мандатной меткой и то, что линковщик не находит библиотеки это баг?
Как тогда правильно реализовать запуск приложения для работы с разными уровнями доступа?
 

i_tihonov

New member
Сообщения
9
#4
Добрый день, аналогичный вопрос. Утилита sumac прекрасно работает в 1.5, а вот в 1.6 молча выполняется, но не запускает программу.
Так же пробовал запустить systemd сервис с меткой PDPLabel, но результат также неудачный. Пробую запустить .net core приложение на SE 1.6
 

cogniter

Moderator
Team Astra Linux
Сообщения
538
#5
Добрый день, аналогичный вопрос. Утилита sumac прекрасно работает в 1.5, а вот в 1.6 молча выполняется, но не запускает программу.
Так же пробовал запустить systemd сервис с меткой PDPLabel, но результат также неудачный. Пробую запустить .net core приложение на SE 1.6
в 1.6 для работы с sumac пользователю надо дать соответствующую привилегию parsec_cap_sumac.

По ссылке это указано: https://wiki.astralinux.ru/pages/viewpage.action?pageId=27361820
 

cogniter

Moderator
Team Astra Linux
Сообщения
538
#6
Проблема не решил. Как правильной запускать сервис? Необходимо запускать его от пользователя с нулевой мандатной меткой? Или все-таки с пользователем с ненулевой мандатной меткой и то, что линковщик не находит библиотеки это баг?
Как тогда правильно реализовать запуск приложения для работы с разными уровнями доступа?
для запуска сервисов под уровнем в 1.6 используйте systemd

Для этого в unit-файле службы <name>.service нужно добавить параметр PDPLabel с нужной мандатной меткой в разделе [Service]:
Код:
[Service]

PDPLabel=<Уровень>:<Целостность>:<Категории>
 

i_tihonov

New member
Сообщения
9
#7
в 1.6 для работы с sumac пользователю надо дать соответствующую привилегию parsec_cap_sumac.

По ссылке это указано: https://wiki.astralinux.ru/pages/viewpage.action?pageId=27361820
Спасибо! Дал пользователю привилегию, но sumac все равно тихо отрабатывает но ничего не запускает.
А вот с PDPLabel разобрался. Для тех, кто решиться запускать .net core приложение под астрой с ненулевой меткой - необходимо отключить переменную
COMPlus_EnableDiagnostics=0, в service файле.
 

cogniter

Moderator
Team Astra Linux
Сообщения
538
#8
Спасибо! Дал пользователю привилегию, но sumac все равно тихо отрабатывает но ничего не запускает.
А вот с PDPLabel разобрался. Для тех, кто решиться запускать .net core приложение под астрой с ненулевой меткой - необходимо отключить переменную
COMPlus_EnableDiagnostics=0, в service файле.
релогин сделали после выдачи привилегии?