J'essaie de trouver un modèle de profil apparmor pour limiter les actions de dropbox à mes fichiers. Si possible, je voudrais également l'empêcher d'essayer de synchroniser .git
répertoires, en raison de leur grand nombre de fichiers.
J'ai trouvé un moyen. (En fait, je l'avais déjà, mais je voulais juste le partager)
1) Collez le fichier suivant dans /etc/apparmor.d/dropbox
.
# vim:syntax=apparmor
# Last Modified: Sun Jan 3 19:03:04 2016
#include <tunables/global>
profile dropbox /{usr/bin/dropbox,home/*/.dropbox-*/**,home/*/.dropbox-dist/dropboxd} {
#include <abstractions/dbus>
#include <abstractions/dbus-accessibility>
#include <abstractions/dbus-session-strict>
#include <abstractions/gnome>
#include <abstractions/ubuntu-unity7-base>
#include <abstractions/dconf>
#include <abstractions/base>
#include <abstractions/nameservice>
#include <abstractions/python>
#include <abstractions/ubuntu-konsole>
capability sys_ptrace,
# Comment the follwoing line to allow Dropbox to (fully) sync directories called: '.git'
audit deny /**/.git/objects/** rwx,
# Comment the follwoing line to allow Dropbox to sync directories called: 'no_dropbox'
audit deny /**/no_dropbox/** rwx,
# Comment the follwoing line to allow Dropbox to sync directories called 'Secure' that under your home folder.
audit deny /home/*/Secure/** rwx,
dbus,
# A work arround to allow symbolic links to the golang folder
/home/*/go/** rw,
/bin/bash r,
/bin/dash r,
/bin/readlink Cx,
/bin/uname r,
/etc/lsb-release r,
/etc/python*/** r,
/home/*/.Xauthority r,
/home/*/.config/autostart/dropbox.desktop rw,
/home/*/.dropbox-dist/** rwlkix,
/home/*/.dropbox/** rwlk,
/home/*/Dropbox/ rwlk,
/home/*/Dropbox/** rwlk,
/proc/ r,
/proc/*/fd/ r,
/proc/*/io r,
/proc/*/mounts r,
/proc/*/net/tcp r,
/proc/*/net/tcp6 r,
/proc/*/net/udp r,
/proc/*/net/udp6 r,
/proc/*/stat r,
/proc/*/statm r,
/proc/*/status r,
/proc/meminfo r,
/proc/version r,
/proc/vmstat r,
/run/uuidd/request rw,
/tmp/* rwl,
/usr/ r,
/usr/bin/ r,
/usr/bin/dirname rPix,
/usr/bin/dropbox rPix,
/usr/bin/gettext r,
/usr/bin/locale r,
/usr/bin/lsb_release r,
/usr/bin/python3 r,
/usr/bin/python3.4 r,
/usr/bin/readlink rPix,
/usr/bin/Sudo r,
/usr/lib/ r,
/usr/lib{,32,64}/** mra,
/usr/local/lib/python3.4/*/ r,
/var/tmp/** rwlk,
/usr/share/glib-2.0/schemas/gschemas.compiled r,
owner /{,var/}run/user/*/dconf/user w,
profile /bin/readlink flags=(complain) {
#include <abstractions/base>
/bin/readlink mr,
}
}
2) Chargez-le via la commande: Sudo apparmor_parser -r /etc/apparmor.d/dropbox
.
3) Activez-le en mode d'application: Sudo aa-enforce /etc/apparmor.d/dropbox
.
4) Redémarrez la dropbox, soit via l'interface graphique soit par la commande suivante: dropbox stop && dropbox start
.
5) C'est fait!