Recherche de site Web

Comment le gestionnaire de fichiers monte-t-il un disque externe sans Sudo ?


Vous êtes-vous déjà demandé pourquoi l'autorisation sudo ou root est requise pour monter un lecteur ou une partition externe en tant qu'utilisateur normal depuis Terminal, mais pas depuis le gestionnaire de fichiers sous Linux ? Comme vous le savez déjà, vous devez être un utilisateur sudo pour afficher, monter et accéder aux supports amovibles (par exemple, disques durs externes, clés USB, disques optiques et appareils photo numériques) à partir de la ligne de commande. Mais comment un gestionnaire de fichiers graphique (par exemple Nautilus) peut-il monter ces périphériques de stockage amovibles sans root ni sudo ? Dans ce bref guide, j'expliquerai comment un gestionnaire de fichiers monte des disques externes sans autorisation sudo ou root sous Linux.

Comment un gestionnaire de fichiers peut-il monter un lecteur externe sans autorisation sudo ou root sous Linux ?

Les gestionnaires de fichiers utilisent UDisks2 pour monter les disques externes sans droits d'administrateur. UDisks2 est la 2ème version d'UDisks. UDisks est désormais obsolète.

GNOME, KDE et divers autres environnements de bureau utilisent UDisks2 pour permettre aux utilisateurs normaux de monter des périphériques multimédias amovibles.

Le projet UDisks2 fournit un démon système appelé udisksd et un outil de ligne de commande appelé udisksctl.

Le démon udiskd s'exécute en arrière-plan et implémente des interfaces D-Bus bien définies qui peuvent être utilisées pour interroger et manipuler les périphériques de stockage. udiskd démarre automatiquement au démarrage du système et s'exécute en permanence en tant que root. Vous pouvez le vérifier en utilisant la commande :

sudo systemctl status udisks2

Exemple de résultat :

● udisks2.service - Disk Manager
     Loaded: loaded (/lib/systemd/system/udisks2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-09-09 12:09:21 IST; 3h 9min ago
       Docs: man:udisks(8)
   Main PID: 978 (udisksd)
      Tasks: 5 (limit: 9336)
     Memory: 9.3M
     CGroup: /system.slice/udisks2.service
             └─978 /usr/lib/udisks2/udisksd

Sep 09 12:08:51 ostechnix systemd[1]: Starting Disk Manager...
Sep 09 12:09:00 ostechnix udisksd[978]: udisks daemon version 2.8.4 starting
Sep 09 12:09:21 ostechnix udisksd[978]: Acquired the name org.freedesktop.UDisks2 on the sy>
Sep 09 12:09:21 ostechnix systemd[1]: Started Disk Manager.

L'utilitaire CLI udisksctl est utilisé pour interroger et utiliser le démon. Les actions qu'un utilisateur peut effectuer à l'aide des udisks sont limitées à l'aide de Polkit. Polkit est une boîte à outils au niveau de l'application pour définir et gérer les autorisations. Il permet aux processus non privilégiés de communiquer avec des processus privilégiés.

Étant donné que UDisks s'exécute déjà en tant que root, il permet aux programmes non privilégiés (par exemple les gestionnaires de fichiers) de monter ou de démonter des périphériques de stockage sans sudo ou autorisation root. C'est ainsi que les gestionnaires de fichiers montent un disque externe sans droits d'administrateur.

Vous pouvez le tester vous-même en montant une clé USB en tant qu'utilisateur normal à l'aide de la commande udisksctl comme ci-dessous :

udisksctl mount -b /dev/sdc1

Ou,

udisksctl mount --block-device /dev/sdc1

Remplacez /dev/sdc1 par le nom de votre appareil.

Exemple de résultat :

Mounted /dev/sdc1 at /media/sk/ventoy.

De même, vous pouvez démonter la clé USB à l'aide de la commande :

udisksctl unmount -b /dev/sdc1

Ou,

udisksctl unmount --block-device /dev/sdc1

Exemple de résultat :

Unmounted /dev/sdc1.

Montez et démontez des disques externes sans autorisation sudo à l'aide de la commande udisksctl

Si jamais vous cherchez un moyen de permettre en toute sécurité aux utilisateurs réguliers de monter les systèmes de fichiers sans privilèges de super-utilisateur sous Linux, Udisk2 est recommandé !

Lecture connexe :

  • Comment trouver le type de système de fichiers monté sous Linux

Je ne savais pas que monter et démonter des disques sans autorisation sudo était possible jusqu'à ce que je tombe sur cette question sur Reddit.

J'espère que cela t'aides.

Ressources :

  • Site Web UDisks
  • Dépôt GitHub UDisks
  • Dépôt Polkit GitLab

Image présentée par Jessica Lewis de Pexels.

Articles connexes