Le dossier de base a des autorisations en lecture seule pour «tout le monde»

11

Je viens de me rendre compte que mon dossier personnel ( / HD / Users / Bob ) a des autorisations Tout le monde en lecture seule définies à son niveau racine.

Si je parcours ce dossier à partir d'un autre compte, je peux voir les dossiers, mais je ne suis pas autorisé à ouvrir les dossiers OS X standard (Bureau, Documents, Musique, Films, etc ...). Cependant, j'ai créé quelques dossiers au niveau racine de mon dossier d'accueil, et ceux-ci SONT accessibles à cet autre utilisateur. Ils peuvent ouvrir des dossiers et ouvrir certains documents avec un accès en lecture seule.

Est-ce que quelqu'un d'autre voit ça? S'agit-il d'une configuration standard ou mon Mac est-il foutu? Cela semble être une faille de sécurité pour permettre aux utilisateurs d'accéder aux fichiers des autres utilisateurs du système.

J'utilise une version assez propre de Yosemite 10.10.1 - celle-ci a été installée il y a environ un mois. J'ai restauré mes anciens fichiers à partir d'un disque dur. Ils n'ont pas été restaurés via Time Machine

slidmac07
la source

Réponses:

2

Il s'agit de la configuration des autorisations standard. La racine de votre dossier de départ est la lecture globale, mais les dossiers OS X standard dans tels que Bureau et Documents doivent être globaux sans accès. N'hésitez pas à définir les autorisations des autres dossiers que vous créez à la racine de votre dossier de départ pour faire correspondre les autorisations sur les dossiers standard.

Si vous souhaitez que les nouveaux dossiers soient, par défaut, globaux sans accès, modifiez les autorisations à la racine de votre dossier de départ, propagez les autorisations de manière récursive et configurez des listes de contrôle d'accès pour hériter des autorisations pour les nouveaux dossiers, mais je ne suis pas sûr de ses effets. puis-je avoir.

grg
la source
1
C'est tellement intéressant .. une idée pourquoi c'est comme ça? cela ressemble à une configuration étrange.
slidmac07
Donc, avant de publier ici, j'ai changé l'accès au niveau racine et je l'ai propagé. Il a définitivement foiré mon ordinateur, et je conseillerais aux gens de NE PAS changer les ACL ici. Après la restauration à partir d'une sauvegarde, j'ai décidé de déplacer tous les répertoires non Apple dans des dossiers spécifiques à Apple
slidmac07
@ slidmac07 À moins que vous ne soyez absolument sûr de savoir ce que vous faites, la modification / propagation récursive des autorisations peut être dangereuse, comme vous l'avez découvert.
douggro
1
@ganbustein: sur la pré-ACL UNIX normale, un répertoire d'exécution uniquement est "traversable", mais non lisible; le bit de lecture est nécessaire pour répertorier réellement les fichiers dans un répertoire. // Oui, un méchant pourrait sonder tous les noms possibles, mais tout système de détection d'intrusion décent détectera un tel modèle d'accès et criera faute avant trop longtemps. // Les bonnes pratiques de sécurité peuvent rendre votre répertoire personnel ~ traversable (exécution uniquement) (idéalement uniquement pour ~ / Public, etc.), ~ / Public lisible par tout le monde, et tous les autres fichiers sous ~ non lisibles ou traversables par tout le monde par défaut , y compris les nouveaux fichiers.
Krazy Glew
1
Si le but est de rendre ~ / Public accessible, je préfère avoir le répertoire Public en dehors de mon répertoire utilisateur, par exemple mkdir / Users / Shared / <username> pour chaque utilisateur.
amdyes
5

Si vous souhaitez que les nouveaux dossiers au niveau supérieur de votre dossier de départ soient par défaut non lisibles par quiconque sauf vous, ajoutez les deux ACL suivantes à votre dossier de départ. NE PAS PROPAGER LES AUTORISATIONS. La première ACL rend tous les nouveaux dossiers illisibles, inscriptibles et non consultables par tout le monde. La deuxième ACL fait une exception pour vous. Assurez-vous de les saisir dans cet ordre afin que la deuxième entrée puisse se pousser vers l'avant.

chown +a "group:everyone deny list,add_file,search,add_subdirectory,delete_child,directory_inherit,limit_inherit,only_inherit" ~
chown +a# 0 "user:$USER allow list,add_file,search,add_subdirectory,delete_child,directory_inherit,limit_inherit,only_inherit" ~

Mais à vrai dire, il est plus facile de simplement corriger les autorisations sur tous les sous-dossiers que vous créez directement sous votre dossier de départ. Je veux dire, ce n'est pas comme si vous alliez le faire souvent, non?

Et d'ailleurs, qui peut dire que vous voulez que ces nouveaux dossiers ne soient lisibles que par vous? Que se passe-t-il si vous voulez un dossier lisible par groupe pour certains groupes mais pas lisible par tous? Ces listes de contrôle d'accès héritées vont alors vous gêner.

La création d'un dossier de dossier principal devrait être un événement rare. Les solutions ad hoc sont les meilleures pour les événements rares.

ganbustein
la source
2
Cependant, certains sont arrivés sur MacOS à partir d'UNIX et / ou de Linux, où la création d'un dossier de dossier de départ, ou d'un fichier d'ailleurs, est un événement courant. Ces autorisations Mac par défaut nous gâchent, si nous continuons à travailler comme si nous étions sur un système UNIX normal.
Krazy Glew
1

Wow, j'ai été assez choqué quand j'ai réalisé cela.

Une autre solution consiste à verrouiller le répertoire personnel pour tout le monde:

chmod 700 ~

ManuelSchneid3r
la source
Ce qui, comme déjà dit un an plus tôt, fait mentir le nom ~ / Public
WGroleau