我正在尝试为名为 test.rb 的 ruby 文件创建 apparmor 配置文件,并将该文件放在 /root 下,test.rb 包含:
#!/usr/bin/env ruby
`mkdir demo`
我通过以下方式创建了apparmor配置文件:
aa-genprof test.rb
上面的命令成功地为那个 test.rb 创建了 apparmor 配置文件,现在我希望这个 test.rb 文件不应该在 /root 目录中创建任何东西,除了读取访问权限。因此,我对 test.rb 文件的 apparmor 配置文件进行了以下更改:
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
我不明白为什么这会产生这种行为......