GNU/Linux >> Tutoriels Linux >  >> Linux

Mauvais réglage Chmod / 777. Des problèmes ?

J'essayais d'exécuter chmod -R 777 ./ mais a fini par taper chmod -R 777 / et définissez 777 sur toute ma machine. Qu'est-ce qui peut mal tourner ? Comment puis-je résoudre ce problème ?

Réponse acceptée :

Problèmes? Oui beaucoup. Peut-il être réparé? Bien sûr. Plus rapide que de réinstaller ? Probablement pas.

Ma recommandation est de réinstaller. Conservez une sauvegarde du système existant et restaurez la liste des packages et le contenu des fichiers dans /etc et /var . Pour /usr/local , vous pouvez probablement restaurer les autorisations manuellement. Pour /home et /srv , vous devrez restaurer les autorisations à partir des sauvegardes.

S'il s'agit d'un système avec plusieurs utilisateurs locaux, notez que rendre certains fichiers lisibles par le monde a révélé certaines choses qui auraient dû rester confidentielles.

  • Votre liste de mots de passe est maintenant compromise :les utilisateurs locaux ont eu accès à la liste de mots de passe hachés et pourraient essayer de les forcer brutalement. Informez-en vos utilisateurs.
  • Toutes les données utilisateur privées (clés SSH, mots de passe stockés, e-mail, tout ce que les utilisateurs pourraient considérer comme confidentiel) ont été exposées à tous les utilisateurs locaux. Informez-en vos utilisateurs.

Si vous voulez vraiment essayer de réparer (plus un exercice d'apprentissage qu'un itinéraire de récupération pratique), restaurez d'abord les autorisations de quelques fichiers. Notez que si la plupart des fichiers sont désormais trop ouverts, il manque à quelques-uns les bits setuid nécessaires. Voici les étapes à suivre avant toute autre chose. Notez qu'il ne s'agit pas d'une liste exhaustive, juste une tentative de rendre le système à peine fonctionnel.

chmod -R go-w /
chmod 440 /etc/sudoers
chmod 640 /etc/shadow /etc/gshadow
chmod 600 /etc/ssh/*_key /etc/ssh*key   # whichever matches
chmod 710 /etc/ssl/private /etc/cups/ssl
chmod 1777 /tmp /var/tmp /var/lock
chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit
chmod 2755 /var/mail /var/spool/mail

Ensuite, vous devrez restaurer toutes les autorisations partout. Pour les fichiers sous /usr , vous pouvez réinstaller les packages avec l'une des commandes suivantes, en fonction de votre distribution :

  • Si vous utilisez Debian, Ubuntu ou une autre distribution basée sur APT, vous pouvez exécuter apt-get --reinstall install
  • Si vous utilisez Arch Linux, vous pouvez exécuter pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman , en supposant que vous êtes dans un Live CD et que votre installation Arch est montée sur /newarch .

Pour les fichiers sous /etc et /var , cela ne fonctionnera pas, car beaucoup d'entre eux resteront tels quels :vous devrez répliquer les autorisations sur une installation fonctionnelle. Pour les fichiers sous /srv et /home , vous devrez de toute façon restaurer à partir des sauvegardes. Comme vous pouvez le voir, autant réinstaller.

En relation:Comment tuer tous les processus appartenant à `user` sur Centos 7 ??
Linux
  1. Comment utiliser Chmod sans /usr/bin/chmod ?

  2. Définir Umask pour le système de fichiers monté sur Sshfs ?

  3. Configurer CORS sur Cloud Files

  4. Comment définir le mot de passe des fichiers Zip avec la commande dans tous les systèmes d'exploitation ?

  5. Fichiers .o vs fichiers .a

Comment modifier récursivement les autorisations de fichiers sous Linux

Que signifie chmod 777

Dropbox configuré pour un serveur cloud Linux

Chmod 777 vers un dossier et tout son contenu

Comment chmod et chown fichiers cachés sous Linux?

trouver des fichiers avec des listes de contrôle d'accès définies