10.12 Sierra Partage de fichier - utilisateur devient propriétaire

billouu42

Membre confirmé
29 Janvier 2016
44
0
36
Bonjour,

Depuis quelques temps je me rends compte que lors du partage de fichier un des utilisateurs devient propriétaire dès lors qu'il enregistre de nouvelles modifications, cela se produit qu'avec un des deux utilisateurs. Les deux sont pourtant administrateur. Cela est assez agaçant puisque à chaque fois je dois rétablir les droits en écriture et lecture de l'autre utilisateur.
Ces documents sont pourtant dans un dossier partagé avec lecture et écriture pour les deux (éléments inclus évidement).
Merci de votre aide.

Billouu
 
Bonjour,

Je me permets de relancer ce poste, si quelqu'un avait une idée de la raison expliquant ces modifications intempestives de propriétaire et de droits en lecture-écriture.
 
Salut billouu

Est-ce qu'il s'agit d'utilisateurs du même Mac - ayant des comptes dans le même OS ?
 
Salut Macomaniac,

Oui il s'agit des deux seuls utilisateurs du même Mac (en admin) et donc du même OS.

D'avance merci de ton aide.

Cela se produit notamment sur la bibliothèque Photos et sur iCompta (tous deux dans le dossier partagé).
 
Je n'ai jamais utilisé "pour de vrai" la fonction « Partage du fichiers » du Mac > mais seulement de manière expérimentale : entre 2 utilisateurs de mon Mac (tous deux avatars de moi-même) juste pour tester.

Je dois dire que je n'ai jamais obtenu de résultats vraiment satisfaisants > le problème que tu décris étant intervenu à chacun de mes essais.

Comme le problème m'intéressait > j'ai découvert dans mon coin plusieurs sortes de solutions :
  • une, d'ordre "massif", consistant en la modification du « masque de l'utilisateur » (umask) > ce qui affecte les permissions lors de toute création de fichiers ou de dossiers par un utilisateur quelconque ;
  • une, d'ordre "local", consistant, pour chaque utilisateur, dans la création d'une entrée (ACE) dans la liste ACL du dossier concerné par le partage > avec option d'héritage à tout élément enfant de ce dossier.
=> je te propose de "patcher" les défaillances de la fonctionnalité « Partage de fichiers » par le second procédé (local). Ce procédé implique de passer 2 commandes dans le «Terminal» - une pour chaque utilisateur du dossier offert en partage.

À toi de choisir ici :

- a) si tu veux que je te donne les commandes exactes de a à z => il faudrait pour cela que je connaisse 3 éléments : le nom de compte de l'utilisateur n°1 > celui de l'utilisateur n°2 > enfin la localisation et le nom du dossier offert en partage (pour ce dernier point > il te suffit d'aller à : Applications > Utilitaires > de lancer le «Terminal» > de faire un glisser-déposer direct dans la fenêtre du «Terminal» du dossier concerné par le partage > ce qui renseignera automatiquement l'adresse et le nom de cet élément => et d'en faire alors un copier-coller ici).

- b) si tu juges que les noms de compte des 2 utilisateurs sont confidentiels > tu le dis > et je te fournirai un modèle de commande dans lequel tu auras à remplacer manuellement une variable = username par chacun des noms des utilisateurs dans chacune des commandes. Et idem > au cas où tu jugerais que le nom du dossier en partage est aussi confidentiel > j'utiliserais pour le dossier-cible un nom exemplaire à substituer.​
 
Donc tu n'as pas créé de sous-dossier dans le dossier Partagé des Utilisateurs (en ce qui me concerne > lors de mes expérimentations > c'est un tel sous-dossier à l'intérieur du dossier Partagé que je créais).

Je te propose de saisir dans la fenêtre du «Terminal» la commande suivante (déroule bien le tapis roulant horizontal) :
Bloc de code:
sudo chmod -R +ai "username allow delete,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,list,search,add_file,add_subdirectory,delete_child,read,write,append,execute,file_inherit,directory_inherit" /Users/Shared
en double exemplaire -->

  • en substituant exactement à la place de mon username le nom de compte du premier utilisateur admin dans la 1ère commande ;
  • puis en substituant à la place de username le nom de compte du deuxième utilisateur admin dans la 2è commande.

Le plus commode en pratique (vue l'aspect prolixe de ce type de commande) > c'est que chaque fois tu commences par saisir en manuel le départ de commande suivant :
Bloc de code:
sudo chmod -R +ai username
(avec la substitution du nom de compte réel à username) > que tu sautes un espace après > puis que tu fasses un copier-coller direct du segment final de commande (déroule bien le tapis roulant horizontal encore) :
Bloc de code:
allow delete,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,list,search,add_file,add_subdirectory,delete_child,read,write,append,execute,file_inherit,directory_inherit" /Users/Shared

  • Lorsque tu vas valider la 1ère commande en pressant la touche "Entrée" du clavier > une demande de password va s'afficher (commande sudo - qui permet une exécution en tant que System Administrator root) --> tape ton mot-de-passe de session admin à l'aveugle - aucun caractère ne se montrant à la frappe - et valide de nouveau par une pression sur la touche "Entrée" du clavier.
  • Lorsque tu valideras la 2è commande > en pressant encore sur la touche "Entrée" du clavier > aucune demande de password ne s'affichera si tu opères dans les 5' suivant la première authentification (ce délai de "grâce" permet un confort de l'utilisateur qui va enchaîner les commandes sudo).
En guise d'explication : cette commande dans sa structure appelle en droits root (sudo) > l'utilitaire chmod (change_mode : changer le régime des permissions) > avec une première option -R (Recursive : application à toute le profondeur du dossier-cible - c'est pour que les éléments actuellement contenus soient aussi affectés par la commande > ce qui ne devrait plus être requis par la suite) > une seconde option +ai (ajouter une ace_inherit : access_control_entry ou entrée de contrôle d'entrée > avec pouvoir d'héritage aux éléments enfants du dossier-cible > à l'ACL : Access_Control_List ou Liste de Contrôle d'Accès) > et une formule du type : "username est autorisé aux permissions listées" --> l'ensemble équivalant à une permission globale d'Accès Complet > enfin la désignation de l'objet-cible = /Users/Shared.

Après passation des 2 commandes > tu n'as qu'à passer la commande informative :
Bloc de code:
ls -led /Users/Shared
qui va retourner le tableau de l'ACL éditée du dossier Partagé. Tu n'as qu'à le poster ici en copier-coller (en remplaçant si tu le souhaites les 2 noms de comptes d'utilisateur par des xxxx et des yyyy).

=> re-démarre ton Mac histoire de marquer le coup > et fais des tests pour vérifier s'il est désormais possible à chacun des 2 utilisateurs du dossier Partagé > d'écrire aux éléments contenus alternativement. Dans mes expérimentations personnelles > les ace_inherit jouent leur rôle et les 2 utilisateurs peuvent écrire alternativement à tous les fichiers créés.
 
  • J’aime
Réactions: billouu42
Bonjour,

pour iCompta je ne sais pas, mais pour la Bibliothèque Photos, il faut et il suffit de faire ceci :

1. placer la Bibliothèque Photos dans le dossier Utilisateurs/Partagé

2. dans le Finder, sur le dossier Partagé, cmd + i pour afficher les infos

3. en bas, dans "Partage et permissions", cliquer sur l'icône de roue dentée puis sur "Appliquer aux éléments inclus"
(ça peut être long si grosse Biblio, il y a une barre de progression en haut de la fenêtre Infos)

4. Redémarrer le Mac

NB : pour qu'un utilisateur puisse ouvrir la Biblio et la modifier (ajouter/supprimer/éditer des images, etc...), Photos doit avoir été quitté dans les autres sessions, ou les sessions fermées.

Cette méthode n'est pas "officielle" mais fonctionne sans effets pervers.

La méthode "officielle" est de placer la Biblio sur un autre disque dur avec la case "ignorer les autorisations de ce volume" cochée.
(le disque peut être interne ou externe).
https://support.apple.com/fr-fr/HT201517
 
Dernière édition:
  • J’aime
Réactions: billouu42