web-dev-qa-db-fra.com

Est-ce que "chmod -R o + x / home" est dangereux?

Je suis très nouveau sur Ubuntu. Pendant le travail sur mon ordinateur à la maison, j'ai accidentellement passé la commande suivante:

Sudo chmod -R o+x /home

Je veux savoir s'il est dangereux d'ouvrir l'accès pour autres utilisateurs et, le cas échéant, comment puis-je le rétablir?

6
heron

Cette question à l'origine portait sur Sudo chmod o+x /home et pasSudo chmod -R o+x /home. Cette réponse concerne that ​​version. C'était alors redemandé, pour le récursif (-R) version de la commande . Par la suite, cette question a été modifiée et d’autres réponses ont été postées. J'ai laissé cette réponse dans l'intention de pouvoir aider d'autres personnes qui effectuent des opérations non - récursives chmod sur /home.

La commande chmod o+x /home donne autres - les personnes qui ne possèdent pas /home et qui ne sont pas non plus dans son "propriétaire de groupe" - exécutent les autorisations sur /home.

Pour un dossier, exécuter les autorisations signifie quelque chose de spécial - cela signifie que vous pouvez aller dans le répertoire et tenter d'accéder aux fichiers qu'il contient.

/home a o+x défini par défaut. La commande que vous avez exécutée n'a rien changé. /home doit autoriser les "autres" à accéder aux fichiers car il contient tous les répertoires de base des utilisateurs, et * aucun de ces utilisateurs n'est propriétaire de /home ou du groupe!

Par conséquent, vous n'avez rien à craindre. En outre, tenter de "réparer" cela endommagera votre système. Si vous deviez supprimer le bit exécutable pour "autres" sur /home, aucun utilisateur ne pourra accéder à son propre répertoire personnel. Le système serait rendu inutilisable. Vous devrez entrer en mode de récupération ou démarrer à partir d'un CD/DVD/USB en direct pour y remédier. (Et la solution serait de lancer une commande similaire à celle que vous aviez auparavant. Sauf que cela aurait un effet.)

Si vous avez déjà tenté de "réparer" ceci et que votre système est en panne, et que vous avez besoin d'aide pour le réparer, je vous recommande de poser une nouvelle question demandant de l'aide. Après tout, c’est une question différente de celle-ci.

6
Eliah Kagan

Si vous avez exécuté la commande de manière récursive, en tant que Sudo chmod -R o+x /home, vous avez autorisé tout utilisateur autre que le propriétaire et non membre du groupe auquel le fichier/dossier appartient à "ouvrir" tous les répertoires sous /home. . Ceci est considéré comme un risque de sécurité car il permet à tout le monde d'obtenir une liste de fichiers et de dossiers pouvant révéler certaines informations (ou leur existence).

De plus, si vous avez des scripts dans /home, ils seront exécutables par d'autres. Cela peut être un risque de sécurité en fonction de la situation. Si l'un des scripts a défini uid ou gid bits, il s'agit certainement d'un risque pour la sécurité, dont l'intensité dépend du contenu du script. Il existe un risque de sécurité important si vous avez également à la fois le bit setuid et un autre bit en écriture (o + w), car tout utilisateur pourra effectuer des tâches à votre place. (Escalade Previlige)

Si vous n'avez pas de fichiers exécutables qui doivent être exécutables par 'autres' sous /home (ce qui est courant sauf si l'utilisateur installe quelque chose sous home ou a placé des exécutables autrement), vous pouvez revenir en arrière. faire Sudo chmod -R o-x /home/*

Notez le /home/* au lieu de /home puisque /homenécessite o + x pour que le système fonctionne correctement.

Cela supprimera le bit exécutable pour 'autres' de chaque fichier et dossier à l'intérieur de /home.

3
Mahesh

+ ajoute, - enlève. Essayer:

Sudo chmod -R o-x /home/*

supprimer récursivement x permission des autres pour chaque sous-dossier (mais pas /home/ lui-même).

Si vous utilisez -X (ou +X) à la place de la minuscule habituelle x, cela n'affecte que:

  • des répertoires (afin de ne pas modifier accidentellement les autorisations sur des fichiers autres que des répertoires), et
  • fichiers avec le jeu d'autorisations x pour quiconque (c'est-à-dire pour un utilisateur, un groupe et/ou un autre)

Voir aussi ... la page de manuel .

2
hunter2