У меня Ubuntu 12.04 с ядром 3.2 (64 бита)
Я скачал apparmor-2.8.0.tar.gz по адресу https://launchpad.net/apparmor/2.8/2...r-2.8.0.tar.gz
После распаковки я захожу в apparmor-2.8.0 / kernel-patches / 3.2 / и там 3 файла:
0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
0002-AppArmor-compatibility-patch-for-v5-interface.patch
0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch
Я попытался: patch -p1 < 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
can't find file to patch at input line 26
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 125fccb600288968aa3395883c0a394c47176fcd Mon Sep 17 00:00:00 2001
|From: John Johansen <john.johansen@canonical.com>
|Date: Wed, 10 Aug 2011 22:02:39 -0700
|Subject: [PATCH 1/3] AppArmor: compatibility patch for v5 network controll
|
|Add compatibility for v5 network rules.
|
|Signed-off-by: John Johansen <john.johansen@canonical.com>
|---
| include/linux/lsm_audit.h | 4 +
| security/apparmor/Makefile | 19 +++-
| security/apparmor/include/net.h | 40 +++++++++
| security/apparmor/include/policy.h | 3 +
| security/apparmor/lsm.c | 112 ++++++++++++++++++++++++
| security/apparmor/net.c | 170 ++++++++++++++++++++++++++++++++++++
| security/apparmor/policy.c | 1 +
| security/apparmor/policy_unpack.c | 48 +++++++++-
| 8 files changed, 394 insertions(+), 3 deletions(-)
| create mode 100644 security/apparmor/include/net.h
| create mode 100644 security/apparmor/net.c
|
|diff --git a/include/linux/lsm_audit.h b/include/linux/lsm_audit.h
|index 88e78de..c63979a 100644
|--- a/include/linux/lsm_audit.h
|+++ b/include/linux/lsm_audit.h
--------------------------
File to patch:
Но затем он спрашивает меня: «Файл для исправления:».
Как мне это сделать?
РЕДАКТИРОВАТЬ: Я делаю это потому, что когда пытаюсь использовать aa-enforce
, Я получаю следующее сообщение:
Setting /bin/ping to enforce mode.
Warning: unable to find a suitable fs in /proc/mounts, is it mounted?
Use --subdomainfs to override.
и когда я пытаюсь запустить Apparmor, я получаю следующее:
Cache read/write disabled: /sys/kernel/security/apparmor/features interface file missing. (Kernel needs AppArmor 2.4 compatibility patch.)
Warning from /etc/apparmor.d/bin.ping (/etc/apparmor.d/bin.ping line 28): profile /bin/ping network rules not enforced
Во-первых, какой исходный код ядра 3.2 вы используете?
В ядре Ubuntu 12.04 (3.2) уже должны быть применены исправления apparmor, поэтому исправление не требуется. Однако, если вам нужно исправить, вы должны находиться в корне исходного каталога ядра, а не в каталоге исправлений.
Эта ошибка
Предупреждение: не удалось найти подходящую файловую систему в / proc / mounts, она смонтирована? Используйте --subdomainfs для переопределения.
сообщает мне, что либо модуль ядра apparmor не встроен, не включен, либо securityfs не смонтирован.
Каталог /sys/module/apparmor
существует?
sudo cat /sys/module/apparmor/parameters/
?Если Y
, то при загрузке ядра был включен apparmor, но необходимые файловые системы не могут быть смонтированы? Securityfs монтируется? Что возвращается mount
команда?
none on /sys/kernel/security type securityfs (rw)
ls -a /sys/kernel/security/apparmor
?Если /sys/module/apparmor
каталог не существует, ваше ядро не было собрано с включенным apparmor. Вам нужно будет либо установить, либо собрать ядро со встроенным apparmor. Его не нужно включать в качестве LSM по умолчанию, если вы не хотите, в такой ситуации обеспечивая security=apparmor
в качестве параметра загрузки ядра включит apparmor.