Ограничить выполнение программы до списка аргументов

Я хотел бы, чтобы мои пользователи Unix могли запускать только определенную команду insecurecommand с контролируемым списком аргументов, хранящихся в файле.

Единственное решение, которое я нашел в это время, это:

  1. Создайте новую группу безопасности, называемую cmdxg
  2. Ограничьте выполнение команды для этой группы:

     chown root:cmdxg /.../insecurecommand chmod 750 /.../insecurecommand 
  3. Создайте обертку setgid, которая выполняет команду:

     ls -al /.../mywrapper -rwxr-sr-x 1 root cmdxg /.../mywrapper 

Единственная проблема заключается в том, что gid=cmdxd выполняется с gid=cmdxd а не с реальным gid пользователями. Тем не менее, я хотел бы избежать запуска команды setecid команды insecurecommand.

Если в коде обертки я возвращаюсь к реальному gid с помощью seteuid (), он больше не может запустить команду insecurecommand , потому что процесс потерял cmdxg вправо.

Это способ запустить команду, которая требует привилегированных прав gid, но с реальным gid?

Может быть, мне нужно разложить выполнение программы?

-> сначала загрузите двоичный файл с привилегированным эффективным gid -> вернитесь к реальному gid -> запустите программу

Но как я могу это сделать?

Есть идеи ?

Interesting Posts

Является ли каталог bin / для хранения двоичных файлов?

Как найти размер страницы, ассоциативность и размер TLB и количество записей?

Немедленно распечатать список файлов архива (без распаковки всего архива)

Не удается получить доступ к приводу Windows: «Windows спящий, отказался от установки»

Вложение Awk и сравнение переменных

awk, чтобы разграничить второй столбец

Есть ли способ раскрасить конфликты в git-выходе команд merge / rebase / patch / am?

Зеркальная папка с правами root

Сделать работу grep для специальных имен файлов

Неверная корневая оболочка в файле / etc / passwd

Как просмотреть последние 5 строк из последнего созданного / измененного файла?

Создайте репозиторий для домашних пакетов для RHEL с базовым CentOS

как зашифровать один каталог, а не всю структуру каталогов

Grep -m 1 не работает

Переустановить программное обеспечение без повторной загрузки из программного центра?

Linux и Unix - лучшая ОС в мире.