Commande "chmod -R 777
RésoluJ'ai lancé dans le terminal la commande suivante: chmod -R 777 /usr/share/libreoffice/share, afin de me donner les droits administrateurs pour y installer un nouveau thème pour libre office.
Résultat des courses, je n'ai pas obtenu les droits nécessaires pour y installer mon thème et en plus chaque fois que j'ouvre le terminal et que j'essaie de faire un sudo j'ai ce message
sudo: /usr/bin/sudo doit être la propriété du uid 0 et avoir le bit setuid mis
Malheureusement je suis incapable de revenir en arrière
Connaissez-vous une commande qui me permettrait de revenir en arrière
Merci d'avance
--
Sécuriser, sauver, tenir, protéger, maîtriser.
95% des problèmes informatiques se situent entre le clavier et la chaise
14 réponses
Modifier récursivement les permissions sur des répertoires système avec chmod -R 777 pour installer un thème peut bloquer sudo et rendre le système instable. Pour réparer, les conseils préconisent d'utiliser un live USB pour accéder à la partition racine et restaurer les droits corrects de sudo, en remettant /usr/bin/sudo à root:root et le bit setuid. En parallèle, d'autres conseils rappellent qu'il faut éviter toute modification des droits des fichiers système et privilégier des solutions non invasives, ou une réinstallation si l'intégrité est altérée. D'autres précisent enfin qu'il faut limiter les modifications à l'espace utilisateur et éviter les outils qui exportent des permissions sur des répertoires système, afin d'éviter des risques similaires à l'avenir.
-
Bonsoir tous le monde,
Enfin de retour ...
Je viens de repasser le script que tu m'as fait et j'aimerai si c'est possible une petite précision
#!/bin/sh
laSource=/usr;
find $laSource -name "*" -exec sh -c '\
Mon nom utilisateur; \
laDest=/tmp/mount; \
badUtilisateur=ubuntu; \
fileUser=$(stat -c "%U" "$0"); \
fileGroup=$(stat -c "%G" "$0"); \
filePerm=$(stat -c "%a" "$0"); \
if [ $fileUser=$badUtilisateur ]; then fileUser=$utilisateur; fi; \
if [ $fileGroup=$badUtilisateur ]; then fileGroup=$utilisateur; fi; \
if [ -f "$laDest$0" ]||[ -d "$laDest$0/" ]; then \
chown -v "$fileUser:$fileGroup" "$laDest$0" && chmod -v $filePerm "$laDest$0"; \
fi;
' {} \;
Ou j'ai marqué en gras ok pour mon nom mais j'ai surligné je laisse tel quel ou je change
Merci encore de ta disponibilité-
Bonsoir Bonsoir;
laisse tel quel :
#!/bin/sh #On choisi le répértoire sur lequel on veut réparer les permissions laSource=/usr; #On execute la commande find, qui va récursivement lister les fichiers / dossier du répértoire 'laSource' et pour chaque fichiers / dossiers va executer grace au exec les commandes qui suivent. find $laSource -name "*" -exec sh -c '\ #On défini l'utilisateur unix du systeme vérolé, ici, exileur. utilisateur=exileur; \ #On défini le point de montage du systeme vérolé laDest=/tmp/mount; \ #On défini l'utilisateur du liveCD / du systeme qui fonctionne badUtilisateur=ubuntu; \ #On récupére le proprio, le groupe et la permission du fichier sur lequel le find est en train de bosser fileUser=$(stat -c "%U" "$0"); \ fileGroup=$(stat -c "%G" "$0"); \ filePerm=$(stat -c "%a" "$0"); \ #On vérifie que le proprio de ce fichier n'est pas l'utilisateur du systeme qui fonctionne, si c'est le cas, on met notre utilisateur unix du syteme vérolé a la place ; de même pour le groupe. if [ $fileUser=$badUtilisateur ]; then fileUser=$utilisateur; fi; \ if [ $fileGroup=$badUtilisateur ]; then fileGroup=$utilisateur; fi; \ #On vérifie que le fichier ou le dossier existe sur le systeme vérolé if [ -f "$laDest$0" ]||[ -d "$laDest$0/" ]; then \ # SI c'est le cas, on change l'utilisateur/groupe et la permission chown -v "$fileUser:$fileGroup" "$laDest$0" && chmod -v $filePerm "$laDest$0"; \ fi; ' {} \;
Les commandes chown et chmod sont en verbose. Ce qui va te permettre de savoir sur quel fichier on a ou pas modifier le proprio, le groupe ou la permission.
C'est plus clair ? :)
copie pas ce code avec les commentaires, le code est pas formaté et ça va s'arréter au premier retour a la ligne.
execute le script en sauvegardant les logs :
sudo sh lenom.sh |tee repair_perm.log
En cas de bug/problme c'est toujours usefull des logs :)
A plus tard -
@ExileurC'est reparti :-)
-
@Lulu69En faisant mes conneries, j'ai vraiment attaqué mon système jusqu'à la moelle car l'OS est vraiment instable :-(
-
@Lulu69C'est terminé mais je ne peux pas ressortir les log avec la commande "cat repair_perm.log |grep 77* "
-
-