<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Hello.<br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I would like to use an AppArmor profile for a PulseAudio - a networked low-latency sound server. After many experiments, tests etc., everything seems to work, but there are some aspects and issues, which make me curious. <br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">After creating an /etc/apparmor.d/usr.bin.pulseaudio file, then subsequently, I made this profile "enforced" via 'aa-enforce'. Next, I executed 'pulseaudio' command - in console - with such result (just for testing purposes etc.):<br><br>[~]$ pulseaudio <br>E: [pulseaudio] pid.c: Daemon already running. <br>E: [pulseaudio] main.c: pa_pid_file_create() failed. <br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">And for example /var/log/syslog file contained such entries (NOTE: I omitted date, hostname): <br><br>type=1400 audit(1470725743.218:86): apparmor="DENIED" operation="capable" parent=2314 profile="/usr/bin/pulseaudio" pid=3009 comm="pulseaudio" capability=19  capname="sys_ptrace" <br><br>type=1400 audit(1470725743.218:87): apparmor="DENIED" operation="ptrace" parent=2314 profile="/usr/bin/pulseaudio" pid=3009 comm="pulseaudio" target=B00280F4B00280F4F7 <br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">So, should I use a rule for "sys_ptrace" and "ptrace" (in PulseAudio profile)? Anyway, in a 'complain' mode log files contains something like this: <br><br>type=1400 audit(1470726298.790:97): apparmor="ALLOWED" operation="mknod" parent=1 profile="/usr/bin/pulseaudio" name="/home/t4/orcexec.aILTFz" pid=3246 comm="alsa-sink" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000<br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">This is a sample entry, because there was a couple of similar - related to the /home/t4/orcexec.* file (NOTE: in the user home directory, there was no such file!) Some of them: <br><br>comm="alsa-sink" requested_mask="rwc" denied_mask="rwc" <br>comm="alsa-sink" requested_mask="d" denied_mask="d" <br>comm="alsa-sink" requested_mask="w" denied_mask="w" <br>comm="alsa-sink" requested_mask="mr" denied_mask="mr" <br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Another entries from a log files, which are also related with a 'complain' mode. I would like to ask what AppArmor rules should I use if it is about such things?: <br><br>1. name="/usr/lib/i386-linux-gnu/libpulse.so.0.13.5" pid=3559 comm="pulseaudio" requested_mask="r" denied_mask="r" <br><br>2. name="/usr/lib/i386-linux-gnu/<a href="http://libpulsecommon-1.1.so">libpulsecommon-1.1.so</a>" pid=3559 comm="pulseaudio" requested_mask="r" denied_mask="r" <br><br>3. name="/usr/lib/<a href="http://libpulsecore-1.1.so">libpulsecore-1.1.so</a>" pid=3559 comm="pulseaudio" requested_mask="r"   <br><br>4. name="/usr/bin/pulseaudio" pid=3559 comm="pulseaudio" requested_mask="x" denied_mask="x" <br><br>5. name="/etc/ld.so.cache" pid=3560 comm="pulseaudio" requested_mask="r" denied_mask="r" <br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">For now I'm using something like this: <br><br>1. /usr/lib/i386-linux-gnu/ r,<br>    /usr/lib/i386-linux-gnu/* r,<br><br>2. /usr/lib/i386-linux-gnu/*.so r, <br><br>3. /usr/lib/ r,<br>    /usr/lib/*.so r,<br><br>4. /usr/bin/pulseaudio mixr,  <br><br>5. /etc/ld.so.cache r,<br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">NOTE: 1., 2. and 5. examples are, probably, wrong. This should be done in a different way. <br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I have one more question: let say, that in my system there is not /usr/lib/pulse-[2-9].[0-9]/modules/ directory but /usr/lib/pulse-1.1/modules/ and I need to allow 'mr' mode for '*. so' files, can I use this rule?:<br><br>/usr/lib/pulse-1.1/modules/*.so mr, <br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">It is sufficient? One more thing: I've done one thing, which I shouldn't: run 'sudo pulseaudio' command (NOTE: just as before - for testing purposes.) There <span id="result_box" class="short_text" lang="en"><span class="">appeared</span></span>, of course,<span id="result_box" class="short_text" lang="en"><span class=""></span> <span class="">appropriate message message about this type of things. <br><br></span></span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><span id="result_box" class="short_text" lang="en"><span class="">The result: log files contains plenty of ALLOWED capabilities: 6, 7, 23, 24 etc. which means, respectively: <br><br>6. - capname="setgid" <br>7. - capname="setuid"<br>23.- capname="sys_nice"<br>24. - capname="sys_resource" <br><br></span></span><span id="result_box" class="short_text" lang="en"><span class=""><span id="result_box" class="short_text" lang="en"><span class="">I</span> <span>guess, that</span> <span>I should not</span> <span>put any rules</span></span> in the PulseAudio profile, which are related with above capability, right? As I wrote: it was done only for testing purposes. <br><br></span></span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><span id="result_box" class="short_text" lang="en"><span class="">It seems, that it's all for now. I can paste somewhere a full profile if needed. Some "technical" informations: <br></span></span><br><span id="result_box" class="short_text" lang="en"><span class="">release: 12.04 LTS</span></span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><span id="result_box" class="short_text" lang="en"><span class="">apparmor: 2.7.102-0ubuntu3.10<br></span></span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><span id="result_box" class="short_text" lang="en"><span class=""><br></span></span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><span id="result_box" class="short_text" lang="en"><span class="">Best regards.<br><br></span></span></div></div>