UID / GID différents lors de l'utilisation d'un lecteur USB au format ext4 avec un autre ordinateur

11

Le problème de l'utilisation d'un système de fichiers comme ext4sur une clé USB ou une carte mémoire est que lorsqu'il est monté sur un autre système, l'UID / GID du disque peut ne pas être présent.

Peut-on résoudre ce problème avec une option de montage?

Marc
la source
Question similaire: askubuntu.com/questions/12009/…
jofel

Réponses:

11

Je suppose que vous espérez trouver un équivalent des options uid=Net gid=Nprises en charge par certains des autres systèmes de fichiers que Linux mountconnaît. Désolé, mais non, ext4 n'a pas cette option.

Ces autres systèmes de fichiers ont une telle option afin de donner des autorisations aux fichiers pour un système de fichiers qui peut ne pas avoir d'autorisations POSIX utiles. Vous cherchez à retirer les autorisations - ou du moins à les réaffecter - ce qui est une mauvaise idée du point de vue de la sécurité, ce qui explique sans doute pourquoi ces options n'existent pas.

Lorsque vous utilisez un système de fichiers comme ext4 sur un support amovible, vous dites que vous vous souciez de choses comme les autorisations POSIX. Cela signifie que vous devez suivre le même type d'étapes pour synchroniser les ID d'utilisateur et de groupe que vous le feriez pour, disons, NFS.

Si vous ne vous souciez pas réellement des autorisations, il existe probablement un système de fichiers plus approprié à votre situation.

J'ai essayé UDF en tant que candidat pour un tel système de fichiers après le commentaire ci-dessous, mais hélas, cela ne fonctionnera pas:

  • Si vous créez un système de fichiers UDF sur une boîte Linux, y ajoutez des fichiers, modifiez leurs autorisations et montez-les sur une autre boîte Linux, il obéira aux autorisations qu'il y trouve, même si vous les accordez uid=N,gid=N. Vous devez synchroniser les UID et GID ici, comme avec NFS.

  • Mac OS X se comporte comme espéré: il croit qu'il possède tout sur un système de fichiers UDF créé sur une boîte Linux. Mais, ajoutez un fichier sur le disque, et cela définira l'UID et le GID du fichier, auquel une boîte Linux obéira ensuite.

  • Si vous essayez ensuite de monter ce système de fichiers sur une boîte FreeBSD, il crie invalid argument. Je suppose que c'est parce que les développeurs du noyau ne se sont pas rendu compte que l'UDF pouvait apparaître sur des supports non optiques, simplement parce que je n'ai trouvé aucun rapport de succès en ligne. Il y a peut-être une incantation magique que j'ai ratée.

  • Il serait possible de faire fonctionner un disque dur UDF sur Windows, mais il est très pointilleux sur la façon dont il est créé. Si vous en avez besoin pour fonctionner, il est probablement préférable de formater à partir de Windows. Depuis la ligne de commande:

    format /fs:udf x:

    Ne pas utiliser /q: cela crée un système de fichiers moins susceptible de se monter sur d'autres systèmes d'exploitation.

    Notez que UDF est uniquement en lecture / écriture sur Vista et plus récent. XP montera un disque dur UDF créé sur Vista, mais ne pourra pas y écrire.

Une certaine forme de FAT est probablement la meilleure option ici. Si vous évitez cela en raison de la limite de taille de fichier FAT32 de 4 Go, vous souhaiterez peut-être examiner exFAT . Il existe une version gratuite de FUSE .

NTFS peut également fonctionner, si vous utilisez des distributions Linux suffisamment récentes pour qu'elles incluent une prise en charge fiable en lecture / écriture pour NTFS.

Warren Young
la source
J'ai fait quelques corrections de ces options sur udf il y a quelque temps et les ajouter à ext [234] est sur ma liste de tâches depuis un certain temps. Il semble stupide que vous puissiez le faire avec udf, et les macs peuvent le faire avec leur hfsplus, mais linux ne peut toujours pas avec ses fs préférés.
psusi
3
En fait, UDF dispose d'autorisations posix. Si vous ne spécifiez pas les options uid / gid, il stocke la propriété et les autorisations comme ext [234] ou tout autre fs posix. Si vous spécifiez un identifiant, la valeur par défaut est de traduire cet identifiant en -1 lors de l'écriture sur le disque et de traduire -1 en cet identifiant lors de la lecture à partir du disque. Cela permet à un utilisateur normal de déplacer facilement des fichiers entre des systèmes où leur identifiant est différent. Il y a quelques années, j'ai ajouté "ignorer" comme valeur pour appliquer toujours l'identifiant, pas seulement lorsqu'il est -1 sur le disque, et "oublier" écrit toujours -1 sur le disque, que le propriétaire corresponde ou non à l'identifiant par défaut.
psusi
Je soupçonne que la raison pour laquelle ils autorisent cela pour UDF est que UDF est normalement utilisé avec les CD-RW et DVD. Cela en fait un système de fichiers "mobile", donc l'application des autorisations de propriété manquantes sera un besoin courant. En outre, il est probablement rare de voir un système de fichiers UDF qui inclut des autorisations d'utilisateur et de groupe. Je pense toujours que l'ajout d'une telle option à ext4 serait un trou de sécurité potentiel. Mais, si cela ne vous importe pas, l'UDF est peut-être une bonne alternative à ext4 dans ce cas.
Warren Young
UDF est donc une excellente solution pour les appareils à utiliser entre différents systèmes d'exploitation, plutôt vfat.
Marc
1
La seule sécurité qui existe pour les supports amovibles est la sécurité physique ou le chiffrement. Peu importe le fs que vous utilisez, si vous me donnez un disque, je peux toujours le brancher et changer les autorisations. Le fait de pouvoir le remplacer automatiquement est simplement une question de commodité.
psusi