# apparmor.d - Full set of apparmor profiles # Copyright (C) 2019-2021 Mikhail Morfikov # SPDX-License-Identifier: GPL-2.0-only abi , include @{MEDIA_LIB} = @{MOUNTS}/mp3/ @{exec_path} = /{usr/,}bin/strawberry profile strawberry @{exec_path} { include include include include include include include include include include include include include include include include include signal (send) set=(term, kill) peer=strawberry-tagreader, signal (receive) set=(term, kill) peer=anyremote//*, network inet dgram, network inet6 dgram, network inet stream, network inet6 stream, network netlink dgram, network netlink raw, @{exec_path} mr, /{usr/,}bin/strawberry-tagreader rPx, /{usr/,}bin/xdg-open rCx -> open, # Media library / r, @{MOUNTS}/ r, owner @{MOUNTS}/*/ r, owner @{MEDIA_LIB}/ r, owner @{MEDIA_LIB}/** rw, # Playlists owner @{HOME}/**.{m3u,xspf,pls,asx,cue,wpl} rw, owner @{HOME}/**.{M3U,XSPF,PLS,ASX,CUE,WPL} rw, owner @{HOME}/ r, owner @{user_config_dirs}/strawberry/ rw, owner @{user_config_dirs}/strawberry/* rwkl -> @{user_config_dirs}/strawberry/#[0-9]*[0-9], owner @{user_share_dirs}/strawberry/ rw, owner @{user_share_dirs}/strawberry/** rwk, owner @{user_cache_dirs}/ rw, owner @{user_cache_dirs}/strawberry/ rw, owner @{user_cache_dirs}/strawberry/** rwl -> @{user_cache_dirs}/strawberry/networkcache/prepared/#[0-9]*[0-9], owner @{user_cache_dirs}/xine-lib/ rw, owner @{user_cache_dirs}/xine-lib/plugins.cache{,.new} rw, owner @{user_config_dirs}/qt5ct/{,**} r, /usr/share/qt5ct/** r, owner @{PROC}/@{pid}/mountinfo r, owner @{PROC}/@{pid}/mounts r, deny owner @{PROC}/@{pid}/cmdline r, owner @{PROC}/@{pid}/fd/ r, deny @{PROC}/sys/kernel/random/boot_id r, @{run}/mount/utab r, /etc/fstab r, /dev/shm/#[0-9]*[0-9] rw, /dev/sr[0-9]* r, owner /tmp/qipc_{systemsem,sharedmemory}_*[a-f0-9]* rw, owner /tmp/.*/ rw, owner /tmp/.*/s rw, owner /tmp/strawberry*[0-9] w, owner /tmp/strawberry-cover-*.jpg rwl -> /tmp/#[0-9]*[0-9], owner /tmp/#[0-9]*[0-9] rw, owner /tmp/*= w, owner /var/tmp/etilqs_[0-9a-f]* rw, /var/lib/dbus/machine-id r, /etc/machine-id r, /usr/share/hwdata/pnp.ids r, # Allowed apps to open /{usr/,}lib/firefox/firefox rPUx, # file_inherit owner /dev/tty[0-9]* rw, owner @{HOME}/.anyRemote/anyremote.stdout w, profile open { include include /{usr/,}bin/xdg-open mr, /{usr/,}bin/{,ba,da}sh rix, /{usr/,}bin/gawk rix, /{usr/,}bin/readlink rix, /{usr/,}bin/basename rix, owner @{HOME}/ r, owner @{run}/user/@{uid}/ r, # Allowed apps to open /{usr/,}lib/firefox/firefox rPUx, # file_inherit owner @{HOME}/.xsession-errors w, } include if exists }