Empecher montage automatique carte memoire

  • Créateur du sujet Créateur du sujet jc06
  • Date de début Date de début

jc06

Membre enregistré
19 Août 2014
3
1
Bonjour,
Heureux possesseur d'un Mac Book Pro depuis peu j'ai investit dans une carte memoire Jetdrive pour donner un peu d'air à mon Mac Book Pro (256 GB SSD) et y faire la sauvegarde de mes fichiers importants
Jusque là, tout marche impec. Très content de mon Jetdrive (en fait si j'ai bien compris un genre de carte SD)

Le soucis :
Lorsque ma chérie utilise son compte sur ce même Mac Book elle voit cette carte SD (aucun soucis : rien de confidentiel) mais
et c'est là que LE PROBL7ME : elle peut effacer des dossiers, fichiers ...

Je me suis dit pas de problèmes : je mets des droits en écriture que pour moi.
Je cherche un peu sur le net. Facile.
Je reformate la carte SD avec le sytème de fichiers MAC OS extended, recopie mes fichiers et mets en écriture que pour moi (lecture pour tous les autres) et en récursif sur tout le contenu de la carte SD. Pas de soucis tout est OK.

Mais quand, elle rentre en session sur son compte, tout le contenu de la carte SD lui est affecté (elle est déclarée en tant que propriétaire !).
DOnc elle prend des droits RW sur tout les dossiers peut donc encore tout effacer !
J'ai l'impression que lors de l'entrée en session, la carte SD est monté automatiquement par l'utilisateur (et ça lui appartient donc.
J'ai juste ou je me trompe ?

Donc je cherche une solution pour empecher le montage auto de cette carte pour certains utilisateurs.
A moins que vous ayez une autre suggestion pour obtenir ce que je souhaite ?
Je suis ouvert à toute approche.

Je souhaite simplement qu'il n'y ait que moi qui puisse écrire sur cette carte SD. Idéalement que les autres utilisateurs puissent y accéder en lecture (qques videos et musiques)

Merci d'avance pour vos lumières éclairées.
A très bientôt.
--
JC
 
Salut jc.

[Quoique ayant capté l'amicale sollicitation de François :coucou: dans ce fil vespéral ☞tags-mavericks-elements-bibliotheque☜, mon intention de réponse matinale -débile à suivre plus d'un lièvre à la fois- se trouvait déjà toute entière captivée par le passionnant problème de ce fil-ci - si disertement documenté par l'auteur]

Je crois d'abord pouvoir apporter ma contribution sur le point suivant -->

je mets des droits en écriture que pour moi.
Je cherche un peu sur le net. Facile.
Je reformate la carte SD avec le sytème de fichiers Mac OS extended, recopie mes fichiers et mets en écriture que pour moi (lecture pour tous les autres) et en récursif sur tout le contenu de la carte SD. Pas de soucis tout est OK.

Mais quand, elle rentre en session sur son compte, tout le contenu de la carte SD lui est affecté (elle est déclarée en tant que propriétaire !).
DOnc elle prend des droits RW sur tout les dossiers peut donc encore tout effacer !
J'ai l'impression que lors de l'entrée en session, la carte SD est monté automatiquement par l'utilisateur (et ça lui appartient donc.
J'ai juste ou je me trompe ?

Lorsqu'on considère un volume logique non pas 'attaché à demeure' au Mac (comme celui supporté par le disque physique incorporé à l'ordinateur), mais 'attaché provisoirement' (comme celui supporté par une clé USB, un DDE ou encore dans le cas présent une carte mémoire), càd. susceptible de s'en trouver 'détaché' pour être 'attaché' à un autre ordinateur - alors se pose l'intéressante question des droits de propriété sur ce volume : à savoir l'utilisateur_propriétaire : u et le groupe_propriétaire : g.

Le principe de la réponse est clair : l'ug sur un volume logique n'est jamais adhérent au système de fichiers (filesystem) du disque considéré, qui donc monterait intrinsèquement avec le volume et dé-monterait à rebours avec lui --> il ne s'agit donc pas de bits (l'u_bit et le g_bit) attribués de manière résidente au filesystem du disque détachable en question.

L'ug sur un volume logique, au contraire, est consignée dans une Base_de_Données de l'OS supporté par le disque interne attaché à demeure à l'ordinateur : la /private/var/db/volinfo.database. Il s'agit donc de paramètres purement immanents au Système d'Exploitation du disque interne résident, qui se trouvent attribués lors du montage_en_volume du filesystem par le daemon : diskarbitrationd.

2 cas de figure se présentent ici -->


  • si l'option de paramétrage : conserver les droits de propriété se trouve consignée comme active dans la base de données de l'OS, alors quelque soit l'espace d'utilisateur à destination duquel le volume du disque attaché se trouve monté, l'ug sur le volume va se conserver de manière fixe (pour autant qu'on ne sorte pas de l'OS où réside la Base-de-Données). Supposant 2 utilisateurs admin en exemple : bibi et nana, si les droits de propriété u sur le volume sont attribués à bibi conformément à l'option : conserver les droits de propriété, alors, lorsque le volume monte à l'espace d'utilisateur de nana, c'est bien toujours bibi seul qui conserve l'u sur le volume.

  • si l'option de paramétrage : conserver les droits de propriété se trouve consignée comme inactive dans la base de données de l'OS, alors l'ug sur le volume va varier en fonction de l'identité propriétaire de l'espace d'utilisateur auquel monte le volume en question. Supposant toujours nos 2 utilisateurs admin en exemple : bibi et nana, si les droits de propriété u sur le volume sont attribués conformément à l'option : conserver les droits de propriété = désactivé, alors lorsque le volume monte à l'espace-utilisateur de bibi, l'u sur le volume = bibi, et lorsque le volume monte à l'espace-d'utilisateur de nana, l'u sur le volume = nana.

☞ Il est clair que, regardant ta carte-mémoire attachée au Mac tout en étant susceptible d'être détachée, le paramétrage dans la base de données /private/var/db/volinfo.database relatif à ce disque et présidant à son montage en volume est de type : conserver les droits de propriété = désactivé. Il ne te sert donc à rien de te préserver le privilège de propriété sur le volume de type u = bibi, avec les permissions afférantes (lecture/écriture/exécution) et d'exclure la permission d'écriture de g = groupe, car lorsque le volume montera à l'espace d'utilisatrice admin de nana, le paramètre conserver les droits de propriété = désactivé assimilera l'utilisatrice active à l'identité : u, avec donc les permissions afférantes en lecture/écriture/exécution.

Il faut donc, pour préserver l'identité-propriétaire : ug, virer le paramétrage dans la base de données /private/var/db/volinfo.database relatif au disque de la carte-mémoire à conserver les droits de propriété = activé.


  • Tu peux le faire en mode graphique en ouvrant dans ta session (= bibi) une fenêtre d'information du Finder (⌘I sur le volume monté de la carte), en déverrouillant le cadenas d'administration et en décochant la case de l'option tout en bas : Ignorer les autorisations sur ce volume (il est à noter qu'en mode graphique, l'emploi des options porte sur une énonciation_négative par défaut relative au paramètre implicite : conserver les droits de propriété) ;

  • Tu peux le faire en mode textuel (ligne de commande) en ouvrant une fenêtre du «Terminal» (Applications/Utilitaires) et en passant une commande du type :

    Bloc de code:
    sudo diskutil enableOwnership /dev/[COLOR="Red"]disk1s2[/COLOR]

    (vraisemblablement le device_identifier du volume de ta carte que tu vérifies dans l'«Utilitaire de Disque» en faisant ⌘I sur le volume monté de la carte) et ↩︎ (retour-chariot en pressant la touche 'Entrée' du clavier pour activer la commande) --> demande de password affichée --> taper le mot-de-passe admin de bibi à l'aveugle -aucun caractère ne se montrant à la frappe- et derechef ↩︎ (il est à noter, encore, qu'en mode textuel, l'emploi des options procède par énonciation_affirmative du paramètre : conserver les droits de propriété)

-----♤

Je préfère te prévenir, nonobstant, que l'établissement du paramètre conserver les droits de propriété = activé au nom de bibi sur ta carte-mémoire ne créera pour nana qu'un obstacle relatif et en rien absolu dans sa session, dans la mesure où elle possède des privilèges admin. Si elle veut éditer en écriture l'espace du volume de la carte (ajouter des fichiers/supprimer des fichiers), son privilège admin confronté au seul obstacle du paramètre : conserver les droits de propriété = activé au nom de bibi se dénouera par l'affichage d'une boîte de dialogue, demandant si nana veut vraiment utiliser ses droits admin pour éditer l'espace de la carte, et si oui, d'avoir à s'authentifier par son mot-de-pase admin. Une fois fait, rien n'empêchera nana = admin d'affecter l'espace du répertoire 'carte' en ajoutant le fichier voulu ou en supprimant le fichier voulu à coups de mot-de-passe chaque fois.

-----♧

En réfléchissant à ton intéressant problème tel que tu le synthétises ainsi :

Donc je cherche une solution pour empecher le montage auto de cette carte pour certains utilisateurs.
A moins que vous ayez une autre suggestion pour obtenir ce que je souhaite ?
Je suis ouvert à toute approche.

Je souhaite simplement qu'il n'y ait que moi qui puisse écrire sur cette carte SD. Idéalement que les autres utilisateurs puissent y accéder en lecture (qques videos et musiques)

je ne pense pas (personnellement) qu'une solution commode puisse consister dans un procédé interdisant le montage en volume du filesystem de la carte dans toute autre session d'utilisateur que la tienne, car si cela était, ce procédé entrerait en contradiction avec le réquisit : «Idéalement que les autres utilisateurs puissent y accéder en lecture (qques videos et musiques)» en leur rendant le volume inaccessible. Il serait beaucoup plus simple dans ce cas de détacher physiquement la carte du Mac et de la garder dans ta poche lorsque ta session n'est pas ouverte.

Une solution qui m'est venue à l'esprit serait la suivante : tu laisses, en ce qui concerne le volume de la carte, les choses en l'état --> à savoir, le paramètre conserver les droits de propriété = désactivé de manière à autoriser un partage théorique de l'espace de la carte entre bibi (=toi) et nana (=l'autre).

Mais à présent tu crées 3 dossiers dans cet espace de la carte : un dossier bibi_réservé (exemple), un dossier nana_réservé (exemple) et un dossier bibi-nana_partagé (exemple).

  • Sur le dossier bibi_réservé (ton espace d'exploitation réservé sur la carte), tu établis les mêmes droits exclusifs qui sont ceux des dossiers de l'espace-Home d'utilisateur excluant tout autre de l'usage que le propriétaire. Cela s'obtient par des commandes simples dans le «Terminal» du type :

    Bloc de code:
    sudo chown bibi:staff /Volumes/nom_du_volume_de_la_carte/bibi_réservé

    (qui attribue en mode fixe -voir à la fin- le bit:bibi=u sur le dossier - évidemment, dans la pratique, remplacer mes noms fantaisistes par les noms réels de sujet et d'objet) puis -->

    Bloc de code:
    sudo chmod 700 /Volumes/nom_du_volume_de_la_carte/bibi_réservé

    (qui exclut absolument tout autre accédant au dossier que bibi aux permissions : lire/écrire/exécuter) et si tu ne veux pas (par respect pour l'autre) que le dossier bibi_réservé apparaisse par suite porteur d'un ⛔︎ violent lorsque nana le voit depuis sa session ouverte, tu te crées d'abord un alias : bibi_réservé alias de ton dossier d'exploitation dédié sur ton Bureau de session (de manière à pouvoir travailler en accès direct dans cet espace réservé), puis tu ajoutes la commande dans le «Terminal» -->

    Bloc de code:
    sudo chflags hidden /Volumes/nom_du_volume_de_la_carte/bibi_réservé

    qui fixe le flag:hidden (attribut d'invisibilité) sur le dossier dédié --> par suite, dans l'espace du volume monté de la carte, le dossier déjà interdit à autrui par des droits strictement propriétaires se trouve de surcroît frappé d'invisibilité.

    ✽

  • Tu peux procéder équitablement pour nana de la même façon, en attribuant à son dossier dédié des paramètres analogues :

    Bloc de code:
    sudo chown nana:staff /Volumes/nom_du_volume_de_la_carte/nana_réservé ;
    sudo chmod 700 /Volumes/nom_du_volume_de_la_carte/nana_réservé

    et tu peux t'abstenir du flag:hidden si tu n'as rien contre la vue d'un sens interdit à ton encontre.

    ❈

  • Par contre, en ce qui concerne le dossier bibi-nana_partagé, après avoir créé ce dossier toi-même, ce qui t'en assure automatiquement la propriété, tu passes une commande du type :

    Bloc de code:
    sudo chmod +a "nana allow read,write,execute" /Volumes/nom_du_volume_de_la_carte/bibi-nana_partagé

    ce qui crée une ACL (droit supplémentaire) instaurant nana en co-propriétaire du dossier. Ainsi, le dossier bibi-nana_partagé se trouverait équitablement dédié au couple, par exemple pour des vidéos/photos utilisables par les 2, à charge de chacun de gérer non-destructivement cet espace commun (sans quel principe éthique implicitement admis comme actif, on se demande bien ce qu'un couple pourrait partager... :D).

-----♡

☞ dans les commandes que j'ai proposées, le truc pour se simplifier la vie dans la saisie des chemins aux volumes et/ou dossiers dans le «Terminal» consiste dans ce qui suit (donné pour un seul exemple et itérable pour toute autre commande) --> saisir textuellement le syntagme préliminaire de la commande = le segment 'opératoire' du type :

Bloc de code:
sudo chown bibi:staff

et sauter un espace en pressant une fois la barre d'espacement du clavier, puis faire un glisser-déposer direct dans la fenêtre du «Terminal» de l'objet de la commande = 'destination' (volume ou dossier), ce qui renseigne automatiquement le chemin à l'objet et le nom de l'objet.

☞ un point décisif est à noter : à la différence d'un filesystem supporté par un disque et montable en volume, qui, comme vu en premier, ne supporte pas d'ug en tant que paramètre inhérent = bit, mais seulement appliqué au montage en volume par le daemon : diskarbitrationd après lecture de la Base-de-Données : /private/var/db/volinfo.database ; lorsqu'il s'agit par contre d'objets qui sont des fichiers particuliers (soit élémentaires = files, soit composés -fichiers de fichiers- = directories), les droits de propriété = ug se trouvent fixés de façon adhérente sur le fichier en tant que bits permanents, peu importe l'espace d'exploitation auquel il se trouvent inscrits par le montage du volume qui les supporte.

-----♢
 
Dernière édition par un modérateur:
  • J’aime
Réactions: scoliaste
Merci macomaniac pour ta réponse précise, très claire et très détaillée.
J'ai pu ainsi protéger mes données écrites sur ma carte mémoire.
Tout a l'air de fonctionner au poil.

Et, grâce à toi,
j'en ai appris un peu plus sur la gestion des attributs et des acl sous MacOS

Encore mille merci.
--
JC