2

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

なぜこれがこの動作を生み出すのか理解できません...

4

1 に答える 1