Bei der Verwendung von TCPDump stellt der Benutzer nach einer Weile fest: „permission denied“ Und das immer wieder. Der Benutzer kann sich unter Ubuntu Server 9.04 LTS und in der Version 10.04 LTS recht viel Frustration mit aa-enforce und aa-complain sparen. Oft wird das Problem an der falschen Stelle gesucht, meist ist alles in Ordnung und korrekt installiert und auch libpcap tut, was es soll. Das bei der Eingabe von tcpdump in vielen Fällen ein „permission denied“ erscheint hat etwas mit dem Sicherheitskonzept von Ubuntu zu tun. So sieht das bei vielen aus:
# tcpdump -v -s 1800 -w ausgabe.pcap host 192.168.42.1 and tcp port 22
tcpdump: ausgabe.pcap Permission Denied
Zur Lösung:
Die Einstellungen für tcpdump müssen in AppArmor geändert werden. Dies funktioniert so:
# aa-complain /usr/sbin/tcpdump - Dies ändert die Stufe auf "complain".
# aa-enforce /usr/sbin/tcpdump - Dies aktiviert die Änderungen im Profil von AppArmor für tcpdump
Nun läuft tcpdump wieder wie gewohnt. Falls diese Änderungen nicht durchgeführt werden, ist standardmäßig das Verzeichnis /root freigegeben.