AppArmor Profile für den Benchmark

Das folgende AppArmor-Profil wurde für den Benchmark UNIXBench verwendet:
# vim:syntax=apparmor
# Last Modified: Sat Jul  7 13:37:04 2007
#include <tunables/global>

/root/unixbench-4.1.0/Run {
  #include <abstractions/base>
  #include <abstractions/bash>
  #include <abstractions/nameservice>

  capability dac_override,

  /*.s rw,
  /bin/bash ixr,
  /bin/cat ixr,
  /bin/chmod ixr,
  /bin/date ixr,
  /bin/df ixr,
  /bin/gawk ixr,
  /bin/grep ixr,
  /bin/ls ixmr,
  /bin/rm ixr,
  /bin/sed ixr,
  /bin/sleep ixr,
  /bin/sort ixr,
  /bin/sync ixr,
  /bin/uname ixr,
  /dev/tty rw,
  /etc/magic r,
  /proc/loadavg r,
  /proc/uptime r,
  /root/unixbench-4.1.0 r,
  /root/unixbench-4.1.0/Makefile r,
  /root/unixbench-4.1.0/Run mr,
  /root/unixbench-4.1.0/pgms r,
  /root/unixbench-4.1.0/pgms/* ixr,
  /root/unixbench-4.1.0/results/* rw,
  /root/unixbench-4.1.0/src r,
  /root/unixbench-4.1.0/testdir r,
  /root/unixbench-4.1.0/testdir/* rw,
  /root/unixbench-4.1.0/tmp r,
  /root/unixbench-4.1.0/tmp/* rw,
  /tmp r,
  /tmp/* rw,
  /usr/bin/as ixr,
  /usr/bin/dc ixr,
  /usr/bin/expr ixr,
  /usr/bin/file ixr,
  /usr/bin/gcc-4.1 ixr,
  /usr/bin/join ixr,
  /usr/bin/ld ixr,
  /usr/bin/make ixr,
  /usr/bin/nm ixr,
  /usr/bin/od ixr,
  /usr/bin/strip ixr,
  /usr/bin/tail ixr,
  /usr/bin/tee ixr,
  /usr/bin/time ixr,
  /usr/bin/uptime ixr,
  /usr/bin/wc ixr,
  /usr/bin/who ixr,
  /usr/include/* r,
  /usr/include/bits/* r,
  /usr/include/gnu/* r,
  /usr/include/sys/* r,
  /usr/lib/* r,
  /usr/lib/gcc/** r,
  /usr/lib/gcc/i586-suse-linux/4.1.2/cc1 ixr,
  /usr/lib/gcc/i586-suse-linux/4.1.2/collect2 ixr,
  /usr/share/misc/magic r,
  /usr/share/misc/magic.mgc r,
  /var/run/utmp rw,
  /var/tmp r,
}

Für den Benchmark LMBench wurde das folgende Profiil vewendet:

# vim:syntax=apparmor
# Last Modified: Sat Jul  7 16:53:15 2007
#include <tunables/global>

/root/lmbench-3.0-a8/src/rerun flags=(complain) {
  #include <abstractions/base>
  #include <abstractions/bash>
  #include <abstractions/nameservice>
  #include <abstractions/user-tmp>
  #include <abstractions/wutmp>

  capability net_bind_service,

  /bin/bash ixr,
  /bin/cp ixr,
  /bin/date ixr,
  /bin/gawk ixr,
  /bin/grep ixr,
  /bin/hostname ixr,
  /bin/mkdir ixr,
  /bin/mktemp ixr,
  /bin/mount Ux,
  /bin/netstat ixr,
  /bin/rm ixr,
  /bin/rmdir ixr,
  /bin/sed ixr,
  /bin/sleep ixr,
  /bin/touch ixr,
  /bin/true ixr,
  /bin/uname ixr,
  /dev/tty rw,
  /proc/* r,
  /proc/net/* r,
  /root/lmbench-3.0-a8/** rw,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/bw_file_rd ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/bw_mem ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/bw_mmap_rd ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/bw_pipe ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/bw_tcp ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/bw_unix ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_connect ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_ctx ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_fs ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_http ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_mem_rd ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_mmap ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_ops ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_pagefault ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_pipe ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_proc ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_rpc ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_select ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_sig ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_syscall ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_tcp ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_udp ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lat_unix ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lmbench ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lmdd ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/lmhttp ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/msleep ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/par_mem ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/par_ops ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/stream ixr,
  /root/lmbench-3.0-a8/bin/i686-pc-linux-gnu/tlb ixr,
  /root/lmbench-3.0-a8/scripts/build ixr,
  /root/lmbench-3.0-a8/scripts/compiler ixr,
  /root/lmbench-3.0-a8/scripts/config ixr,
  /root/lmbench-3.0-a8/scripts/gnu-os ixr,
  /root/lmbench-3.0-a8/scripts/make ixr,
  /root/lmbench-3.0-a8/scripts/os ixr,
  /root/lmbench-3.0-a8/scripts/results ixr,
  /root/lmbench-3.0-a8/scripts/target ixr,
  /root/lmbench-3.0-a8/src/rerun mr,
  /sbin/ifconfig ixr,
  /tmp/hello ixr,
  /usr/bin/as ixr,
  /usr/bin/env ixr,
  /usr/bin/expr ixr,
  /usr/bin/gcc-4.1 ixr,
  /usr/bin/ld ixr,
  /usr/bin/make ixr,
  /usr/bin/nm ixr,
  /usr/bin/strip ixr,
  /usr/bin/uptime ixr,
  /usr/include/** r,
  /usr/lib/* r,
  /usr/lib/gcc/i586-suse-linux/** r,
  /usr/lib/gcc/i586-suse-linux/4.1.2/cc1 ixr,
  /usr/lib/gcc/i586-suse-linux/4.1.2/collect2 ixr,
}


Ralf Spenneberg 2007-11-13