Sur mon mac, j'utilise une partition HFS non revue pour partager des fichiers entre OSX 10.8 et Ubuntu 12.04.
C'était une bonne idée au début, car Time Machine sauvegardera automatiquement le volume dans OSX, mais j'ai vite remarqué qu'OSX et Ubuntu gâchent avec la permission d'une manière qui rend les choses désordonnées pour moi.
Donc, afin de visualiser et de modifier complètement les fichiers, je continue à utiliser chmod
pour appliquer des autorisations qui me permettront d'utiliser pleinement un document. Mais je ne comprends pas pourquoi je dois continuer à appliquer des changements encore et encore .
Est-il possible de définir une sorte d'autorisation de façon permanente afin que les deux systèmes d'exploitation respectent en permanence?
Je suppose que 777 fonctionnera, mais je pensais que ce n'était pas une chose intelligente à faire. Mais tant que «autres» n'obtient pas un accès complet (troisième sept), je vois une icône de verrou sur le fichier dans ubuntu.
la source
774
d'autorisations.Réponses:
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 laumask
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:Cette commande définit l'UID
dale
sur 501. Il existe cependant quelques mises en garde importantes:usermod
doit être utilisé commeroot
. Vous pouvez l'exécuter viasudo
, mais le faire à partir du compte que vous modifiez est déconseillé à l'extrême. Ainsi, vous devrez soit donnerroot
un mot de passe et vous connecterroot
directement, soit utiliser àsudo
partir d'un deuxième compte utilisateur.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é avecchown
. La plupart des fichiers seront dans le répertoire personnel de l'utilisateur, doncchown -R dale: /home/dale
, tapés commeroot
après avoir changédale
l'UID, changeront la plupart desdale
fichiers pour utiliser le nouveau numéro UID. Cependant, certains fichiers de l'utilisateur peuvent se trouver ailleurs. La frappefind / -uid 1000
trouvera tous les fichiers qui utilisent l'ancien UID (en supposant qu'il était 1000). Notez que cettefind
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./etc/fstab
entrée, vous devrez peut-être ajuster la valeur UID qu'il spécifie./etc/login.defs
. Si vous ne parvenez pas à modifier laUID_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:
la source
UID_MIN
.J'ai constaté que parfois vous pouvez cliquer sur un dossier que vous souhaitez partager et appuyer sur la commande + I. Ensuite, cliquez sur le verrou et entrez votre mot de passe s'il n'est pas déverrouillé. Ensuite, là où il est dit "tout le monde" choisissez lire et écrire.
Une autre chose qui fonctionne est de configurer un dossier en tant que «dossier partagé», vous pouvez le faire dans le volet des préférences de partage dans les préférences système.
Accédez aux préférences système> partage> partage de fichiers. Assurez-vous ensuite que la case de partage de fichiers est cochée et ajoutez le dossier que vous souhaitez partager à l'aide du bouton plus. Ensuite, vous pouvez modifier les autorisations pour lire une écriture.
UNE NOTE: l'utilisation de la deuxième option ouvrira également votre ordinateur pour permettre l'accès au dossier de votre choix sur Internet (uniquement lors du démarrage sous os x) !! Faites savoir que vous avez un mot de passe sécurisé et que vous le désactivez probablement dans les lieux publics (n'oubliez pas de vous procurer votre chapeau en papier d'aluminium!)
la source
774
.Ouvrez un terminal et:
Sous OS X, essayez ceci
Dans Ubuntu, exécutez ceci
Vous devriez maintenant pouvoir utiliser
774
ou même770
pour les autorisations de fichiers.la source
<ubuntu-username>
votre nom d'utilisateur réel dans Ubuntu (idem pour<os-x-usernanme>
)? Et pouvez-vous être plus précis sur les erreurs que OS X vous donne lorsque vous essayez d'exécuter cette commande?adduser
ne se termine pas.