Como não consegui encontrar um perfil que funcionasse para mim, analisei o Spotify e criei o meu próprio perfil. Isso não impedirá que o binário do Spotify consiga acessar tudo o que você talvez não queira, mas é melhor que nada. Eu não dou garantias, use isso por sua conta e risco.
Isso funciona para mim no Ubuntu 14.04 e no 15.04 e no Spotify versão 0.9.17.1. Eu estou usando o GNOME padrão e desktop LightDM, eu não testei isso com o KDE ou XFCE etc.
0. Pré-requisitos
Ao trabalhar com o AppArmor, acho incrivelmente útil ter o pacote apparmor-utils
instalado. Em um terminal:
sudo apt-get install apparmor-utils
1. Criar perfil
Vamos começar copiando o perfil para o local apropriado. Primeiro, abra o gedit com permissões de root:
sudo gedit /etc/apparmor.d/opt.spotify.spotify-client.spotify
Copie isso para a nova janela:
# Created by Sean Lanigan. Released to the Public Domain.
# Retrieved from https://askubuntu.com/a/664812/237387
# Last Modified: Sun 30 Aug 2015
#include <tunables/global>
/opt/spotify/spotify-client/spotify {
#include <abstractions/audio>
#include <abstractions/base>
#include <abstractions/dbus-strict>
#include <abstractions/ibus>
#include <abstractions/lightdm>
#include <abstractions/gnome>
#include <abstractions/dconf>
#include <abstractions/nameservice>
# Give some access to some user things
/home/*/.config/Trolltech.conf rwk,
/home/*/.pki/nssdb/* rw,
/home/*/.pki/nssdb/cert9.db rwk,
/home/*/.pki/nssdb/key4.db rwk,
# Give some access to some system things
@{PROC}/*/auxv r,
@{PROC}/*/oom_score_adj rw,
@{PROC}/sys/kernel/shmmax r,
# Allow read, write and lock access to Spotify config and cache files
owner @{HOME}/.cache/spotify/ rw,
owner @{HOME}/.cache/spotify/** rwk,
owner @{HOME}/.config/spotify/ rw,
owner @{HOME}/.config/spotify/** rwk,
owner @{HOME}/.local/share/spotify/ rw,
owner @{HOME}/.local/share/spotify/** rwk,
# Read local music, no write permission given
owner @{HOME}/Music/ r,
owner @{HOME}/Music/** r,
}
Em seguida, salve e saia.
2. Ativar perfil
Agora tudo o que precisamos fazer é ativar o novo perfil:
sudo aa-enforce /opt/spotify/spotify-client/spotify
E isso é tudo que existe para isso! Spotify tem acesso a todas as coisas que precisa para funcionar corretamente, incluindo o seu diretório ~ / Music - e espero que nenhuma das coisas que ele não deveria estar acessando.
Se você tiver alguma melhoria neste perfil, por favor mencione nos comentários!
Desativar perfil do AppArmor
Se você quiser desativar o AppArmor de confinar o Spotify, você pode executar
sudo aa-disable /opt/spotify/spotify-client/spotify
Isso pode ser necessário se uma nova versão do aplicativo Spotify for alterada e começar a travar com esse perfil. Se esse for o caso, você precisará atualizar o perfil do AppArmor para permitir quaisquer alterações.