25 votes

Pourquoi est-ce que j'obtiens "ls : Bureau : Operation not permitted" lorsque je possède Desktop ?

Je suis sur Big Sur, et je comprends qu'il y a eu quelques changements avec les permissions dans MacOS depuis Catalina. Je ne comprends pas, cependant, comment il est possible que je ne puisse pas ls ~/Desktop quand ls -l ~ montre drwx------+ pour les autorisations et moi en tant que propriétaire. Quelqu'un peut-il expliquer cela ?

Edit : pour être clair, je ne demande pas comment pour accéder à ce répertoire, mais comment c'est possible que je ne peux pas, étant donné la façon dont les permissions Unix fonctionnent.

33voto

user3439894 Points 52496

Test sur une installation propre de MacOS Big Sur en Terminal quand j'ai exécuté ls ~/Desktop On m'a présenté ceci boîte de dialogue :

enter image description here

J'ai cliqué : OK

J'ai ensuite exécuté ls ~/Downloads et a été présenté avec ceci boîte de dialogue :

enter image description here

J'ai cliqué : Ne pas autoriser

Exécuter ls ~Downloads sur Terminal à nouveau, il est revenu : ls: Downloads: operation not permitted

Je suis ensuite allé à Préférences du système > Sécurité et confidentialité > Vie privée > Fichiers et dossiers et avait les éléments suivants :

enter image description here

Comme vous pouvez le voir, ce que j'ai dit OK est vérifié et ce que j'ai dit Ne pas autoriser n'est pas vérifié.

Vérifiez donc que Préférences du système > Sécurité et confidentialité > Vie privée > Fichiers et dossiers > Terminal > Bureau est vérifié.


Notes :

Si vous ne voulez pas être invité à chaque fois sur le site protégé de l dossiers puis ajoutez Terminal à : Préférences du système > Sécurité et confidentialité > Vie privée > Accès au disque complet

En faisant cela, Fichiers et dossiers montrera Terminal comme ayant Accès au disque complet au lieu de ce qui est montré dans la capture d'écran ci-dessus.

Si vous décochez Terminal sur Accès au disque complet alors tout ce que vous voulez applications qui étaient auparavant sous Fichiers et dossiers > Terminal réapparaîtra avec les mêmes paramètres que ceux définis précédemment.

17voto

Gordon Davisson Points 30215

(Cette réponse explique comment il est possible d'obtenir une erreur de permissions pour accéder à un fichier, alors que les permissions du fichier autorisent l'accès).

Les versions récentes de MacOS comportent des couches de sécurité supplémentaires indépendantes des autorisations d'accès normales de type Unix. Elles régulent (principalement) l'accès en fonction de l'identité du programme, plutôt que de l'ID utilisateur sous lequel le programme est exécuté. Les nouvelles couches sont Protection de l'intégrité du système (SIP) qui régit l'accès au noyau du système d'exploitation, et Transparence, consentement et contrôle (TCC) qui réglemente l'accès aux informations "personnelles" (ainsi qu'à des éléments tels que la caméra et le microphone).

L'accès peut être bloqué par l'une ou l'autre de ces couches. ou les couches standard d'unix. C'est-à-dire que si SIP et TCC autorisent quelque chose mais que les permissions standard d'unix l'interdisent, c'est interdit. Et si les autorisations standard d'Unix permettent quelque chose, mais que SIP ou TCC l'interdit (comme dans votre exemple), c'est également interdit.

Ces nouvelles couches de sécurité sont nécessaires car nous ne pouvons pas faire confiance à nos logiciels . Même si l'on fait abstraction des logiciels malveillants, l'expérience montre que de nombreux développeurs "légitimes" aimeraient bien espionner leurs clients pour obtenir des données personnelles précieuses que nous préférerions vraiment qu'ils n'aient pas. Ce n'est pas parce que j'exécute un programme que celui-ci doit avoir accès à tout. I ont accès (par exemple, mes courriels et contacts, ma localisation, mon appareil photo, etc...).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X