J'ai modifié les autorisations sur /media/username
de root:root
à username:root
[1]. Je comprends qu'un emplacement centré sur l'utilisateur autorise des autorisations centrées sur l'utilisateur [2].
Mais pourquoi les autorisations pour ce dossier root:root
en premier lieu?
[1] Pour que je puisse y monter des dossiers chiffrés avec Gnome EncFS Manager. Par exemple, je peux maintenant monter un dossier chiffré en tant que /media/username/personal-documents
.
[2] De Pourquoi Ubuntu a-t-il déplacé les points de montage par défaut? :
La cause fondamentale de ce changement de comportement par défaut dans udisks2 semble claire: la sécurité. Il est plus sûr de limiter l'accès à un système de fichiers à un utilisateur particulier au lieu de lui donner accès à tous les utilisateurs du système.
Dans mon cas, voici comment les choses se présentent dans /media
:
$ ls -l /media | grep $USER
drwxr-x---+ 3 root root 4096 Jan 22 15:59 oli
Fondamentalement, cela signifie que seul un utilisateur root peut interagir avec le répertoire. C'est excellent pour la sécurité (empêche certainement les autres utilisateurs de voir, sans parler du vol/suppression/modification de données) mais ce n'est pas là que l'histoire se termine.
Vous remarquerez peut-être le signe plus à la fin du masque de permission. Cela signifie qu'une liste de contrôle d'accès est en cours d'utilisation. Cela permet des autorisations beaucoup plus granulaires.
$ getfacl /media/$USER
getfacl: Removing leading '/' from absolute path names
# file: media/oli
# owner: root
# group: root
user::rwx
user:oli:r-x
group::---
mask::r-x
other::---
C'est par ACL que mon utilisateur est autorisé à voir le contenu de /media/oli
. Je ne suis toujours pas autorisé à modifier le contenu.
Le montage sur des bureaux modernes (à la fois Gnome et KDE) est udisks2
:
root 2882 0.3 0.0 195956 4048 ? Sl Jan16 30:35 /usr/lib/udisks/udisks-daemon
root 2887 0.0 0.0 47844 784 ? S Jan16 0:00 udisks-daemon: not polling any devices
root 3386 0.0 0.0 429148 6980 ? Sl Jan16 7:35 /usr/lib/udisks2/udisksd --no-debug
Comme vous pouvez le constater, il s’exécute en tant qu’utilisateur root. Ainsi, lorsque quelque chose y accède via DBUS, il est en mesure de créer les points de montage dans/home/$ USER et de les transmettre à votre utilisateur pour qu’il puisse en modifier le contenu.
Rien de tout cela ne change ce que j'ai dit à l'origine. Je viens d'expliquer comment cela fonctionne dans la pratique. C’est ainsi qu’un élément de votre bureau est en effet autorisé à écrire dans un emplacement uniquement autorisé par root, et comment votre utilisateur est autorisé à le lire malgré une propriété par ailleurs restrictive.
Tout cela en fait un environnement sécurisé pour les données de l'utilisateur, mais qui rend également difficile pour l'utilisateur de mêler à la structure de la monture . Par exemple, ils ne peuvent pas supprimer le point de montage ni le renommer, ce qui pourrait poser problème à moins qu'ils ne disposent d'un accès root.
Edit: Ce qui m’est venu à l’esprit, c’est que cela donne également à un administrateur un bon endroit pour monter des choses pour un seul utilisateur. Les autorisations par défaut permettent de garder ce montage privé et de le protéger contre l'ingérence de l'utilisateur. Cela semble être une valeur par défaut assez saine pour quelque chose qui se ferait sans le répertoire /media/$user/
aurait besoin d'autorisations root.
Je suis d'accord avec l'autre réponse et commentaires en plus de cela
root:root
pour éviter principalement deux situations.
1. Risque de sécurité: Un script de hacker qui dump/dev/zero dans/media/user/remplit la partition racine et est donc incapable de se connecter ou présente de mauvaises performances.
2. Conflit avec udisk2: Supposons une partition portant le libellé sauvegarde. Les disques Udisks le montent @/media/user/backup. L'utilisateur a créé manuellement le répertoire ci-dessus, ce qui obligera l'udisk à changer le point de montage en quelque chose comme/media/user/backup1, ce qui induirait en erreur les scripts de sauvegarde, etc.
La mentalité Linux (et * nix) en général est basée sur le principe de Least amount of necessary privileges.
Normalement, Desktop Environments
moderne montera vos appareils sous /media/username/devicepartitionname
. Cela signifie que pour que le périphérique soit utilisable, il vous suffit de posséder le dossier devicepartitionname
et tout ce qui se trouve en dessous. Cela signifie que votre dossier de /media/username
pourrait toujours appartenir à root
, ce qui le rendrait plus sécurisé.
Monter quelque chose sur /media/username
est également une mauvaise idée, car cela ferait en sorte que votre DE
essaiera de monter une partition dans un dossier situé sur une autre partition montée, ce qui peut donner lieu à beaucoup de !! FUN !! (également probable perte de données).