Récupération de catastrophe droitesque

Allo la gang,

J’ai un pote à moi qui s’est monté un petit serveur pour son projet perso de dev. Ce soir, un peu malade de son état, il a fait un beau find . -type d -exec chmod 4775 {} ; en root dans /var… Résultat, ça allait plus bien fort son affaire. Plus aucun service ne pouvait accéder à ses données en gros (Apache, Mysql, svn…). J’ai un peu remboîté la situation (en gros avec du scotch et la même commande mais avec un 0 à la place du 4 histoire que déjà on puisse un minimum accéder aux fichiers…) mais c’est toujours pas ça.

Alors la question est de savoir si il y aurait une méthode pour retrouver les droits par défaut des paquets fraîchement installés. J’ai pensé faire un peu comme explique fran.b ici :

viewtopic.php?f=8&t=19511

Récupérer la liste des paquets installés et en forcer la re-installation en gros. Est-ce que ça peut marcher ? Quid des risques ? Je me doute que pour ce qui est des fichiers hors-paquets il n’y aura point de salut mais ils devraient être assez faciles à retrouver par la suite et à remettre dans le droit chemin avec les bons chmods qu’il faudra. Et tant pis si c’est pas les droits originels genre 744 ou 754 mais qu’ils seretrouvent en 755 ou autre, ça je peux gérer. C’est surtout pour tous les répertoires “système” que j’aimerais retrouver un état clean.

Voila, si quelqu’un a un avis et/ou une idée, qu’il parle maintenant ou qu’il… Enfin vous avez compris le truc hein :laughing:

Bonjour,

Il te faudra trouver quelqu’un avec une configuration proche (version et paquets) et lui faire faire ceci:

Sur ta machine, il te suffira d’exécuter dans un script le fichier raz.var pour tout remettre d’aplomb.

Tu as ici une sauveagrde des droits etch et http://boisson.homeip.net/debian/make_sauvegarde_droit un utilitaire pour faire cette sauvegarde.

Merci pour vos réponses. Et c’est là que je me rend compte que j’ai oublié de préciser une chose : c’est une lenny. Je vais donc me débrouiller pour récupérer les droits de base d’une lenny et appliquer ça.

Par contre vos solutions ne modifient pas les sticky bits j’ai l’impression. Quand je regarde le fichier de fran.b les chmods sont du genre 744 655 etc etc. Et après avoir fait un test rapide sur le serveur de mon collègue, faire un chmod 775 n’enlève pas le bit SUID, la seule solution pour cela est de faire un chmod -s (en tout cas, de ce que j’ai vu à date).

Donc, avec toutes ces infos, la méthode pour retrouver quelque chose de “correct” serait :

1 - install d’une lenny vierge quelque part
2 - sur le serveur, faire un dpkg --get-selection
3 - installer les paquets du serveur sur la lenny du 1
4 - récupérer les droits de /var
5 - sur le serveur faire un find /var -type d -exec chmod -s {} ;
5 - remettre les droits de 4 sur le serveur

Vos avis ?