создание профиля apparmor для скрипта ruby

Я пытаюсь создать профиль apparmor для рубинового файла с именем test.rb и поместить этот файл в /root, test.rb содержит:

#!/usr/bin/env ruby
`mkdir demo`

Я создал профиль apparmor следующим образом:

aa-genprof test.rb

Команда выше успешно создала профиль apparmor для этого test.rb. Теперь я хочу, чтобы этот файл test.rb не создавал ничего внутри каталога /root, кроме доступа для чтения. Итак, я внес следующие изменения в профиль apparmor для файла test.rb:

 Last Modified: Mon Sep 29 06:59:34 2014
#include <tunables/global>

/root/test.rb {
  #include <abstractions/base>

  /root/test.rb mr,
  /root/ r,
}

Теперь я перезапускаю и перезагружаю apparmor следующим образом:

sudo service apparmor restart

поэтому я предположил, что когда я буду запускать свой test.rb, не следует создавать какой-либо каталог внутри каталога /root, но когда я запускаю этот файл следующим образом:

ruby test.rb

Создает демонстрационный каталог внутри /root

ls /root
demo

Я не понимаю, почему это вызывает такое поведение...


person Pradeep Gupta    schedule 30.09.2014    source источник


Ответы (1)


При запуске программы через ruby test.rb AppArmor не привязывал профиль к процессу. Вы пробежали /usr/bin/ruby, а не /root/test.rb.

Исправление достаточно простое:

chmod 755 /root/test.rb
/root/test.rb

Спасибо

person sarnold    schedule 20.11.2014