(resolu) SUDO : can't open /etc/sudoers: Permission denied

Si tu as fais ce que je t’ai dit tu as les droits avant et après la modif. Donc tu refais

cd /

find . -printf “chmod %m %p\n” > /tmp/droits_qui_marchent

puis

diff /tmp/droits_origine /tmp/droits_qui_marchent

et on verra enfin ce qui se passait. :slightly_smiling:

[edit: dis moi que tu n’as pas foutu le fichier en l’air :confused: ]

et si j’ai foutu en l’air le fichier. je l’ai laissé dans /tmp et au reboot : disparu
mais je pense qu’il est intéressant de savoir pourquoi ça a planté. j’ai récupéré le fichier en plusieurs morceaux. j’espère pouvoir en tirer quelque chose.
mais bon l’analyse avec diff pas pratique

j’ai récupéré mes fichiers perdus en espérant qu’il n’y a pas trop de données perdues
aprés avoir fait des diff uniq et grep pour éliminer les fichiers qu’il me semblait pas utiles, il me reste encore 5905 fichiers de différents .
il est encore difficile de pouvoir comparer. j’ai juste noté que dans un cas /tmp était en 777 et dans l’autre cas en 1777. j’ai changé l’un part l’autre : sudo marche
pour pouvoir comparer, il faudrait encore que j’élimine les fichiers qui sont inutiles. Mais je ne suis loin d’être un expert debian et je ne sais plus trop quoi éliminer. par exemple les fichiers dans /proc ou les fichiers dans /usr/src ou je ne sais lesquels encore ???
pouvez-vous m’aider à faire le tri. merci

Il faudrait m’envoyer les 2 fichiers, mon adresse est sur mon site (http://boisson.homeip.net/)

/proc est un pseudo filesystem qui fait l’interface avec le noyau: ce ne sont pas vraiment des fichiers.
le contenu de /usr/src n’a aucune influence sur le fonctionnement du systême.
A priori, le contenu de /var est individualisé suivant les machines, donc tu ne peux pas vraiment les comparer (sauf les droits de ceux que tu as en commun).
Sinon, tu peux apt-get install --reinstall tous les paquets: ça devrait rétablir tous les droits (et les fichiers de config ne seront pas modifiés).

j’ai essayé sudo aptitude reinstall * : marche pas
si je dois réinstaller tous les paquets en entrant leur nom c’est pas une petite affaire. à moins qu’il existe un autre moyen ??

pour info, fran.b a proposé de faire

[quote]Je te suggère pour être sur de faire la chose suivante:

  1. Sur la machine qui marche

cd /

find . -printf “chmod %m %p\n” > /tmp/sauvegarde_droit

  1. Sur la machine qui ne marche pas

cd /

find . -printf “chmod %m %p\n” > /tmp/droits_origine

sh sauvegarde_droit

Cela met rigoureusement les mêmes droits aux fichiers correspondants.

Les droits d’origine sont dans /tmp/droits_origine. Ça peut permettre de les remettre.
Je suis curieux de voir si ça marche…[/quote]

et sudo marche
bon maintenant on essait de comprendre ce qui n’allait pas

dpkg --get-selections | grep install | grep -v deinstall | awk ‘{print $1}’ devrait te donner la liste des paquets installés.
Je ne te conseille pas de le piper dans xargs apt-get install --reinstall parceque ça fait une ligne de commande trop longue qui ne passe pas, mais aprés, tu peux les réinstaller par lots, une fois que tu as la liste.

dpkg --get-selections | grep install | grep -v deinstall | awk ‘{print $1}’ | xargs -n 1 apt-get install --reinstall

fonctionnera. Je vais filtrer tes fichiers mais là j’ai des copies et j’ai perdu du temps sur cette clef (cf http://forum.debian-fr.org/viewtopic.php?f=8&t=4469&start=25)

merci pour

j’ai tellement bidouillé mon système avec cette histoire que je vais tout reinstallé (par lot)

[quote=“fran.b”]dpkg --get-selections | grep install | grep -v deinstall | awk ‘{print $1}’ | xargs -n 1 apt-get install --reinstall

fonctionnera. (…)[/quote] Oui, mais non: par exemple, il faut filtrer les modules externes compilés, ou les noyaux qu’on a compilé soi même et qui n’existent que sous forme de source dans les dépots, et je me souviens qu’il y a aussi des paquets qui ne passent pas, je ne sais plus pourquoi, donc impossible, même en resolvant le pb de ligne trop longue de le faire comme ça, il faut le faire petit à petit (mais ça va assez vite).

tu veux dire les modules qu’on aurait installé avec module-assistant par exemple ?

je suis en APT::Default-Release “stable”;

pour les paquets provenant d’une autre version il faut peut-être aussi précisé la version genre aptitude reinstall -t…

Sinon, la modifcation des droits n’est pas une bidouille, elle te remet les droits conformément à ce qu’ils auraient dus être. Ce n’est pas forcément la peine de réinstaller…

[quote=“Bernard Victor”]tu veux dire les modules qu’on aurait installé avec module-assistant par exemple ?[/quote]Oui.[quote=“Bernard Victor”]je suis en APT::Default-Release “stable”;
pour les paquets provenant d’une autre version il faut peut-être aussi précisé la version genre aptitude reinstall -t…[/quote] Non: le reinstall réinstalle la version installée, pas une autre. C’est d’ailleurs ça, les autres paquets qui peuvent ne pas passer dont je ne me souvenais plus: si la version à réinstaller n’existe plus dans le cache ni dans les dépots, ça râle, normal.
Par contre, il faut penser que ça va charger le cache d’apt en retéléchargeant si nécessaire les paquets à réinstaller, donc si tu es court de place, il faut penser à faire des apt-get clean de temps en temps.

ce n’est pas de cette manip quand je parle de bidouille. c’est quand jai mis mon système qui marche sur la partition avec le système HS : j’ai oublié de sauvegarder /lib

en ce qui concerne la gestion des paquets avec plusieurs versions, j’ai bien lu sur ce site les topics sur apt-get préférences et sources.lst . il y a des trucs que je ne pige pas complètement.
ce sera l’affaire peut-être d’un autre topic. en tout cas merci pour tous ces renseignements

dans la continuation du tri : je pense que les fichiers dans /usr/include n’influencent pas le système, ils servent lors de la compilation me semble t’il !
peut-on en dire autant pour ce qui sont dans /usr/share ?
y-a-t’il d’autres contenus de répertoire que je peux virer ? merci

Je n’ai rien vu de flagrant: j’ai fait

cat compil-sort | grep -v "./proc" | grep -v "./sys" | grep -v "./usr/share" | grep -v "./dev" | grep -v "./home" | grep -v "./root" | grep -v "./usr/src" | grep -v "./lib/modules" | grep -v "./usr/include"| grep -v "./usr-v3" | grep -v "./mnt"| sort -u > compil-v1 cat sauvegarde_droit-sort1 | grep -v "./proc" | grep -v "./sys" | grep -v "./usr/share" | grep -v "./dev" | grep -v "./home" | grep -v "./root" | grep -v "./usr/src" | grep -v "./lib/modules" | grep -v "./usr/include" | grep -v "./usr-v3" | grep -v "./mnt" |sort -u > compil-v2
et un diff -urN de ces fichiers mais rien de notable saute aux yeux.

je vois rien non plus
bon je crois que nous n’aurons pas d’explications à part que c’était un un problème d’accès aux fichiers
mon système aujourd’hui marche grâce à vous et je vous en remercie