Les noms d' utilisateur ne sont pas pertinents. Les autorisations dans les systèmes de fichiers natifs HFS + et Linux sont stockées en termes d' ID utilisateur (UID), qui sont des nombres associés aux noms d'utilisateur. Dans Ubuntu, comme dans la plupart des distributions Linux modernes, le premier utilisateur reçoit un UID de 1000 par défaut. Sous OS X, le premier utilisateur reçoit par défaut un UID de 501. Ainsi, lors du partage de médias qui codent des valeurs UID, les valeurs UID sont susceptibles de ne pas correspondre.
Une façon de résoudre ce problème consiste à définir des autorisations lâches (la valeur du mode, comme dans rwxr-xr-x
ou 755 en octal). Notez que le code octal des autorisations n'est pas le même que la valeur UID. Dans l'un ou l'autre système d'exploitation, vous pouvez définir les autorisations par défaut utilisées sur les fichiers avec la umask
commande, qui spécifie la valeur en bits à supprimer des autorisations de fichier. Par exemple, umask 022
supprime l'autorisation d'écriture pour le groupe et d'autres autorisations, résultant en 755 (rwxr-xr-x
) des autorisations sur les nouveaux fichiers (ou 644 si quelque chose supprime le bit d'autorisation d'exécution, ce qui est courant pour les fichiers). Il s'agit cependant en grande partie d'un outil en ligne de commande; si vous êtes en grande partie un utilisateur de l'interface graphique, vous devrez trouver un autre outil pour faire le travail, probablement lié aux paramètres par défaut de votre environnement de bureau. Cela peut être obscur et mal documenté. En outre, la définition d'autorisations lâches de cette manière peut avoir des inconvénients de sécurité, surtout si le vôtre est un système multi-utilisateur.
Une meilleure approche consiste à synchroniser les UID de votre compte sous Linux et OS X. Vous pouvez facilement modifier la valeur UID sous Linux avec la usermod
commande, comme dans:
usermod -u 501 dale
Cette commande définit l'UID dale
sur 501. Il existe cependant quelques mises en garde importantes:
- Vous devez vous déconnecter du compte que vous modifiez avant de le modifier. Si vous essayez de modifier un compte en cours d'utilisation, ce compte commencera à se comporter étrangement.
usermod
doit être utilisé comme root
. Vous pouvez l'exécuter via sudo
, mais le faire à partir du compte que vous modifiez est déconseillé à l'extrême. Ainsi, vous devrez soit donner root
un mot de passe et vous connecter root
directement, soit utiliser à sudo
partir d'un deuxième compte utilisateur.
- La
usermod
commande ne changera pas la propriété des fichiers appartenant à l'utilisateur en question. Pour ajuster la propriété de ces fichiers, vous devrez les localiser, puis modifier leur propriété avec chown
. La plupart des fichiers seront dans le répertoire personnel de l'utilisateur, donc chown -R dale: /home/dale
, tapés comme root
après avoir changé dale
l'UID, changeront la plupart des dale
fichiers pour utiliser le nouveau numéro UID. Cependant, certains fichiers de l'utilisateur peuvent se trouver ailleurs. La frappe find / -uid 1000
trouvera tous les fichiers qui utilisent l'ancien UID (en supposant qu'il était 1000). Notez que cette find
commande prendra probablement plusieurs minutes. Pour l'accélérer, démontez tous les systèmes de fichiers sur lesquels vous êtes sûr qu'il ne trouvera aucun accès, tels que les volumes FAT ou NTFS.
- Si vous accédez aux volumes FAT ou NTFS, leurs valeurs UID sont déterminées par les options au moment du montage. Si vous utilisez un gestionnaire de fichiers GUI, il est probable que la valeur UID soit définie sur celui qui exécute le gestionnaire de fichiers, vous n'avez donc rien à faire de spécial. Si vous montez le volume via une
/etc/fstab
entrée, vous devrez peut-être ajuster la valeur UID qu'il spécifie.
- Ubuntu stocke la valeur minimale qu'il utilise pour les UID dans
/etc/login.defs
. Si vous ne parvenez pas à modifier la UID_MIN
valeur de ce fichier, vous découvrirez probablement que votre compte semblera "disparaître" de l'écran de connexion de l'interface graphique et peut-être de certains autres systèmes. Par conséquent, vous devez modifier ce fichier.
En théorie, vous pouvez modifier l'UID de vos comptes OS X de la même manière pour atteindre le même objectif. Je connais moins bien les outils de maintenance de compte OS X, donc je ne peux pas fournir d'instructions explicites pour le faire. L'ajustement des valeurs OS X aurait l'avantage de ne pas avoir à s'ajuster UID_MIN
sous Linux.
Si vous avez plusieurs comptes sur votre ordinateur, vous devez tous les ajuster pour les garder tous synchronisés sur vos installations de système d'exploitation.
Un autre point: la valeur de l'ID de groupe (GID) est stockée de la même manière. IIRC, Ubuntu attribue une valeur GID pour chaque compte identique à sa valeur UID. Je ne me souviens pas de ce que fait OS X par défaut. Vous souhaiterez peut-être ajuster les valeurs GID pour les deux systèmes d'exploitation d'une manière analogue aux modifications de l'UID, mais cela n'est probablement pas aussi important que l'ajustement des valeurs UID.
EDIT: Si vous souhaitez modifier votre UID (et GID, si vous le souhaitez) dans macOS / OS X plutôt que dans Ubuntu, vous pouvez le faire. Comme cette modification dans macOS dépasse la portée de ce site, je vais simplement créer un lien vers quelques pages qui fournissent des procédures pour le faire dans macOS:
774
d'autorisations.