test.rb という名前の ruby ファイルの apparmor プロファイルを作成し、そのファイルを /root の下に配置しようとしています。
#!/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
なぜこれがこの動作を生み出すのか理解できません...