1 votes

J'ai accidentellement lancé une commande, je ne sais pas quoi faire.

J'ai accidentellement lancé la commande

sudo chmod -R o+x /home

sur mon Ubuntu 12.10.

Maintenant, que dois-je faire ? Est-ce dangereux ? Je n'ai pas de sauvegarde de la partition, donc je pense que cette commande n'est pas réversible. SO moi de réinstaller tout le système en raison de cette erreur ?

1voto

Eliah Kagan Points 111731

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).

0voto

SEngstrom Points 149

Vous venez de modifier les autorisations de fichiers sur tous les fichiers utilisateur en exécutables (et les répertoires en consultables, ce qui est la valeur par défaut) pour tous les utilisateurs - ce n'est probablement pas ce que vous voulez mais ce n'est pas non plus la fin du monde - surtout si vous êtes le seul utilisateur sur la machine.

Une chose que vous pourriez faire est de faire un find sur les répertoires de documents et désactivez le drapeau exécutable pour les fichiers ordinaires si cela vous dérange.

Si le système est récent, je pourrais envisager une réinstallation juste pour qu'il soit bien propre :)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X