Я пытаюсь настроить AppArmor в своей системе и не могу обойти ошибку «Отказано в доступе»:
ping: error while loading shared libraries: libcap.so.2: cannot stat shared object: Permission denied
Вот моя политика для пинга:
#include <tunables/global>
/{usr/,}bin/ping {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
#network inet raw,
#network inet stream,
network icmp,
/bin/ping mixr,
/etc/modules.conf r,
# Site-specific additions and overrides. See local/README for details.
#include <local/bin.ping>
}
В режиме claim я не получаю никаких журналов, "жалующихся" на загрузку библиотеки. Я получаю это только в режиме force, и, конечно, программа ping не работает. Я получаю эту ошибку и с другими профилями, поэтому мне интересно, правильны ли мои файлы abstractions/base или tunables/global?
Я запускаю это на Funtoo (Gentoo) Linux.
Вывод из equery b libcap.so.2:
* Searching for libcap.so.2 ...
sys-libs/libcap-2.25 (/usr/lib32/libcap.so.2 -> libcap.so.2.25)
sys-libs/libcap-2.25 (/lib64/libcap.so.2 -> libcap.so.2.25)
Я также должен отметить, что у меня та же проблема с syslog-ng. Если политики syslog находятся в режиме принудительного применения, syslog не запустится и будет жаловаться, что не может открыть libsyslog-ng-3.7.so.0.
решение1
В suse11sp3 apparmor не дает syslog-ng разрешение на чтение файла, отредактируйте файл /etc/apparmor.d/sbin.syslog-ng
и добавьте разрешение
Перезапустить apparmor
service boot.apparmor restart
Перезапустить syslog-ng
service syslog restart