La meilleure façon de résoudre ce problème dépend des détails de la configuration de votre système. Heureusement, vous connaissez probablement ces détails.
Sur les dossiers, +x
signifie qu'ils peuvent être exécutés comme un programme. (En fait, cela confère la permission de essayez . S'il ne s'agit pas de binaires exécutables réels ou de fichiers script avec une ligne de hashbang , cela échouera quand même).
Sur les répertoires (c'est-à-dire les dossiers), l'option +x
autorisation signifie autre chose. Les droits d'exécution sur un dossier confèrent la capacité d'entrer dans le dossier et ses sous-dossiers (bien que ses sous-dossiers puissent ne pas avoir les droits nécessaires pour cela), et de tenter d'accéder aux fichiers à l'intérieur du dossier (les fichiers peuvent ou non avoir des droits permettant de réussir).
Esto fue o+x
. o
signifie autre . Cela permet de contrôler les autorisations des utilisateurs qui ne possèdent pas le fichier ou le dossier, et qui ne sont pas membres du "groupe propriétaire" du fichier ou du dossier.
Si vous n'utilisez pas actuellement les autorisations pour partager des fichiers avec d'autres utilisateurs locaux
Si un utilisateur (vous, par exemple) n'a pas besoin de partager des fichiers avec d'autres utilisateurs, il est possible de supprimer les droits d'exécution pour les fichiers suivants autre tant que vous le faites seulement partout dans votre dossier d'origine . Votre dossier personnel est /home/_username_
donde username
est remplacé par votre nom d'utilisateur réel. /home
n'est pas en soi votre dossier personnel, mais plutôt le dossier que contient tous les dossiers de la maison. Depuis /home
n'est pas réellement détenu par un utilisateur humain de l'ordinateur, il est impératif que les autorisations d'exécution pour autre ne peuvent être retirés de /home
lui-même.
Donc, tu peux courir :
cd ~
~
représente votre dossier personnel. (Le Shell l'interprète comme cela, vous pouvez taper exactement cela).
Alors tu peux courir :
chmod -R o-x .* *
Ou si vous voulez empêcher les autres de changer de répertoire dans votre dossier personnel lui-même :
chmod -R o-x ~
C'est intentionnellement que je n'ai pas écrit sudo
. Vous possédez toujours les fichiers dans votre dossier personnel, donc vous n'avez pas besoin de sudo
Le fait de ne pas l'activer permet d'éviter de modifier accidentellement les autorisations sur les mauvais fichiers et dossiers. (En particulier, /home
est détenu par root
donc en laissant de côté sudo
vous vous assurez que vous ne changez pas accidentellement les permissions pour /home
et rendre votre système inutilisable).
Si vous Faites Utiliser actuellement les autorisations pour partager des fichiers avec d'autres utilisateurs locaux
Si vous avez quelques dossiers que vous partagez avec d'autres utilisateurs sur la machine (si c'est le cas, vous savez certainement que c'est le cas), vous pouvez utiliser la méthode ci-dessus et ajouter manuellement des autorisations d'exécution sur ces dossiers particuliers. Mais si vous en avez trop pour que cela soit pratique, et surtout si vous n'avez pas peur que d'autres utilisateurs accèdent à des choses qu'ils ne sont pas censés pouvoir faire, vous pourriez vouloir juste supprimer les droits d'exécution de fichiers et non de les dossiers. Après avoir fait cela, vous pouvez ensuite retirer les autorisations d'exécution de certains dossiers de manière sélective, bien sûr.
Pour retirer les autorisations d'exécution pour autre de tous les fichiers dans le dossier personnel de votre propre utilisateur, mais pas les répertoires, exécutez :
find ~ -type f -exec chmod o-x \{\} \;
(Vous noterez que cela est similaire à l'un des éléments suivants Suggestions de SEngstrom . Siehe man find
pour des informations sur la façon dont cela fonctionne).