我正在尝试在我的系统上设置 apparmor,但在克服权限被拒绝错误时遇到问题:
ping: error while loading shared libraries: libcap.so.2: cannot stat shared object: Permission denied
这是我的 ping 策略:
#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>
}
在抱怨模式下,我没有收到任何有关加载库的“抱怨”日志。我只在强制模式下得到它,当然 ping 程序不起作用。我在其他配置文件中也遇到此错误,所以我想知道我的抽象/基础或可调参数/全局文件是否正确?
我在 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