#1 Le 19/07/2021, à 14:01
- Alain256
Droits de /usr/bin
Bonjour
Actuellement mes dossiers /usr et /usr/bin sont la propriété d'un utilisateur (alain) comme montré ici:
drwxrwxrwt 25 root root 68K juil. 19 13:50 tmp
drwxr-xr-x 12 alain alain 4,0K juil. 15 11:58 usr
drwxr-xr-x 14 root root 4,0K févr. 10 2019 var
lrwxrwxrwx 1 root root 29 juin 24 07:42 vmlinuz -> boot/vmlinuz-5.4.0-77-generic
lrwxrwxrwx 1 root root 31 juin 24 07:42 vmlinuz.old -> boot/vmlinuz-4.15.0-147-generic
(base) alain@grobuntu:/$ cd usr
(base) alain@grobuntu:/usr$ ls -lha
total 164K
drwxr-xr-x 12 alain alain 4,0K juil. 15 11:58 .
drwxr-xr-x 25 root root 4,0K juil. 15 11:58 ..
drwxr-xr-x 2 alain alain 76K juil. 17 09:11 bin
drwxr-xr-x 2 root root 4,0K juil. 7 11:27 games
drwxr-xr-x 82 root root 20K juil. 15 11:10 include
drwxr-xr-x 137 root root 12K juil. 15 13:40 lib
drwxr-xr-x 3 root root 4,0K juil. 15 11:58 lib32
drwxr-xr-x 13 root root 4,0K juil. 7 12:05 libexec
drwxr-xr-x 10 root root 4,0K févr. 10 2019 local
drwxr-xr-x 2 root root 12K juil. 8 09:41 sbin
drwxr-xr-x 338 alain alain 12K juil. 15 11:46 share
drwxr-xr-x 9 root root 4,0K juil. 7 12:06 src
(base) alain@grobuntu:/usr$
Je n'ai aucune idée du pourquoi et du comment. Je constate juste que ma machine est comme ça.
Pour installer son application, mon prestataire de VPN me demande de modifier /usr/bin pour que le propriétaire devienne root. Pas de problème pour le faire, mais je n'ai aucune idée des conséquences sur les autres utilisations de la machine.
Auriez vous un commentaire, un avis, une recommandation...
Merci
Hors ligne
#2 Le 19/07/2021, à 14:21
- MicP
Re : Droits de /usr/bin
Bonjour
Effectivement, le compte utilisateur alain ne devrait pas être le propriétaire des répertoire /usr et /usr/bin
et ces répertoires ne devraient pas non plus être la propriété du groupe alain
Le répertoire /usr et toute l'arborescence qu'il contient (fichiers et répertoires) devraient êtres la propriété du compte root et du groupe root
Il faudrait donc lancer la ligne de commandes suivante :
sudo chown -R root:root /usr/
Dernière modification par MicP (Le 19/07/2021, à 14:24)
Hors ligne
#3 Le 19/07/2021, à 14:25
- abelthorne
Re : Droits de /usr/bin
/usr/bin devrait appartenir à root de base. Plus généralement, rien en dehors de /home/alain ne devrait appartenir à alain (EDIT : hormis /media/alain qui est utilisé pour les montages de périphériques à la volée). Tu as dû faire une fausse manip en utilisant chown avec sudo.
A priori, tout /usr devrait appartenir à root. Certains fichiers doivent appartenir à des services spécifiques mais je ne pense pas qu'il y en ait dans /usr, ils sont plutôt dans /var. Dans le doute, on va quand même essayer de limiter les risques :
sudo chown root:root /usr
sudo chown -R root:root /usr/bin
sudo chown -R root:root /usr/share
Une fois que c'est fait, lance la commande suivante :
sudo ls -lR /usr | grep "alain alain"
En théorie, elle ne devrait rien renvoyer, c'est bien le cas ?
Dernière modification par abelthorne (Le 19/07/2021, à 14:46)
Hors ligne
#4 Le 19/07/2021, à 15:00
- Alain256
Re : Droits de /usr/bin
Merci pour vos réponses.
(base) alain@grobuntu:/usr$ sudo chown root:root /usr
[sudo] Mot de passe de alain :
(base) alain@grobuntu:/usr$ sudo chown -R root:root /usr/bin
(base) alain@grobuntu:/usr$ sudo chown -R root:root /usr/share
sudo: /usr/bin/sudo doit être la propriété du uid 0 et avoir le bit setuid mis
(base) alain@grobuntu:/usr$ sudo ls -lR /usr | grep "alain alain"
sudo: /usr/bin/sudo doit être la propriété du uid 0 et avoir le bit setuid mis
(base) alain@grobuntu:/usr$
Hors ligne
#5 Le 19/07/2021, à 15:28
- abelthorne
Re : Droits de /usr/bin
En théorie, c'était soit la commande de MicP, soit les miennes mais au final, ça ne change pas grand chose (tu les as juste remis les droits deux fois).
La modif sur sudo, c'était imprévu et c'est très problématique. Donne le retour de :
ls -l /usr/bin | grep sudo
Il faudra peut-être passer par une session live pour corriger le problème (il faudrait faire un chmod 4755 dessus pour remettre le bit s apparemment).
Dernière modification par abelthorne (Le 19/07/2021, à 15:30)
Hors ligne
#6 Le 19/07/2021, à 15:29
- Alain256
Re : Droits de /usr/bin
(base) alain@grobuntu:/usr/bin$ ls -l /usr/bin | grep sudo
-rwxr-xr-x 1 root root 273096 janv. 19 15:21 cvtsudoers
-rwxr-xr-x 1 root root 166056 janv. 19 15:21 sudo
lrwxrwxrwx 1 root root 4 janv. 19 15:21 sudoedit -> sudo
-rwxr-xr-x 1 root root 64512 janv. 19 15:21 sudoreplay
(base) alain@grobuntu:/usr/bin$
Hors ligne
#7 Le 19/07/2021, à 15:31
- abelthorne
Re : Droits de /usr/bin
C'est bien ça : il faudrait que sudo ait comme permissions rwsr-xr-x (note le s au lieu du x en troisième position). Et le truc, c'est que tu ne peux pas remettre ça sans avoir accès à sudo (à moins d'avoir un compte root). Est-ce que tu as un LiveCD/LiveUSB sous la main ?
EDIT : en fait, il y a d'autres commandes qui doivent être réglées comme ça aussi :
-rwsr-xr-x 1 root root 85064 janv. 7 2021 chfn
-rwsr-xr-x 1 root root 53040 janv. 7 2021 chsh
-rwsr-xr-x 1 root root 39144 mars 23 15:21 fusermount
-rwsr-xr-x 1 root root 88496 janv. 7 2021 gpasswd
-rwsr-xr-x 1 root root 55680 févr. 26 08:18 mount
-rwsr-xr-x 1 root root 44784 janv. 7 2021 newgrp
-rwsr-xr-x 1 root root 72304 janv. 7 2021 passwd
-rwsr-xr-x 1 root root 31032 mai 26 13:46 pkexec
-rwsr-xr-x 1 root root 72072 févr. 26 08:18 su
-rwsr-xr-x 1 root root 190952 févr. 18 01:03 sudo
-rwsr-xr-x 1 root root 39296 févr. 26 08:18 umount
EDIT 2 : et en-dehors de /usr/bin, j'en vois pas mal d'autres de mon côté...
-rwsr-xr-- 1 root messagebus 51496 févr. 26 20:43 dbus-daemon-launch-helper
-rwsr-xr-x 1 root root 301512 mars 23 15:27 ssh-keysign
-rwsr-xr-x 1 root root 126024 mars 30 10:29 snap-confine
-rwsr-sr-x 1 root root 166208 avril 8 20:43 VBoxHeadless
-rwsr-sr-x 1 root root 31208 avril 8 20:43 VBoxNetAdpCtl
-rwsr-sr-x 1 root root 166208 avril 8 20:43 VBoxNetDHCP
-rwsr-sr-x 1 root root 166208 avril 8 20:43 VBoxNetNAT
-rwsr-sr-x 1 root root 166208 avril 8 20:43 VBoxSDL
-rwsr-sr-x 1 root root 166208 avril 8 20:43 VirtualBoxVM
-rwsr-sr-x 1 root root 14488 juil. 6 12:17 Xorg.wrap
-rwsr-xr-x 1 root root 22840 mai 26 13:46 polkit-agent-helper-1
drwxrwsr-x 4 root staff 4096 mai 13 15:15 python2.7
drwxrwsr-x 2 root staff 4096 oct. 12 2016 dist-packages
drwxrwsr-x 2 root staff 4096 mai 13 15:15 site-packages
drwxrwsr-x 2 root staff 4096 oct. 12 2016 fonts
-rwsr-xr-x 1 root root 52296 janv. 7 2021 mount.cifs
-rwsr-xr-x 1 root root 121688 mai 24 22:57 mount.nfs
-rwsr-xr-- 1 root dip 395144 févr. 25 06:59 pppd
drwxrwsr-t 2 root lpadmin 4096 sept. 21 2016 custom
On notera au passage qu'il y a plusieurs fichiers/dossiers quelque part dans /usr qui ont un groupe spécifique (messagebus, staff, dip, lpadmin...) et ça, c'est seulement en faisant une vérification des fichiers qui doivent avoir un bit s, il doit y en avoir des tas d'autres. Il y a de fortes chances que tu doives faire une réinstallation d'Ubuntu...
Dernière modification par abelthorne (Le 19/07/2021, à 15:37)
Hors ligne
#8 Le 19/07/2021, à 15:34
- Alain256
Re : Droits de /usr/bin
je ne sais pas ce que sont les livesUSB
Initialement j'ai installé ubuntu 18 à partir de la clef usb vendue sur le site, le passage en 20 s'étant fait en ligne.
Hors ligne
#9 Le 19/07/2021, à 15:39
- abelthorne
Re : Droits de /usr/bin
J'ai rajouté des EDIT à mon message : la situation est très mal barrée (elle l'était déjà avec alain comme proprio), il faudrait à mon avis envisager une réinstallation complète d'Ubuntu.
Un LiveUSB, c'est une clé USB d'installation/session live, comme celle que tu as en version 18. Un LiveCD c'est pareil mais avec un CD/DVD.
Hors ligne
#10 Le 19/07/2021, à 15:41
- Alain256
Re : Droits de /usr/bin
tu veux dire qu'il faut que je commande une clef ubuntu20 de toute urgence ? et puis...
Hors ligne
#11 Le 19/07/2021, à 15:45
- abelthorne
Re : Droits de /usr/bin
Si tu as une clé USB vide sous la main (> 4 Go), tu peux créer un LiveUSB 20.04 facilement. Avec celle que tu as, on peut facilement réparer le problème des permissions sur les fichiers qui sont dans /usr/bin, mais pour identifier tous les fichiers/dossiers qui devraient avoir un proprio/groupe différent de root − la deuxième partie du problème − ça va être ingérable.
Et bien sûr, avant une réinstallation, il va falloir sauvegarder tes données perso importantes.
Hors ligne
#12 Le 19/07/2021, à 15:55
- Alain256
Re : Droits de /usr/bin
j'ai une clef 32G que je peux formater.
Ma dernière sauvegarde date de trois jours, mais si le problème de sudo n'empèche pas la sauvegarde, je peux en lancer une autre (je n'ai jamais utiliser la fonction de recover!)
Donc, que faut il faire ensuite
Hors ligne
#13 Le 19/07/2021, à 16:06
- Alain256
Re : Droits de /usr/bin
question: pour faire cette réinstallation, faut il être branché par RJ45 à la box internet ou va t il retrouver tout seul la wifi.
La configuration: station tour avec un interface wifi sur usb
Hors ligne
#14 Le 19/07/2021, à 16:11
- MicP
Re : Droits de /usr/bin
Tu peux accéder aux privilèges du compte root sur ton système
en démarrant ton système Ubuntu en mode recovery
https://doc.ubuntu-fr.org/recovery_mode … _depannage
Une fois démarré en mode recovery (et donc depuis le compte root),
il te suffira de lancer la ligne de commande suivante :
chmod u+s /usr/bin/sudo
Dernière modification par MicP (Le 19/07/2021, à 16:15)
Hors ligne
#15 Le 19/07/2021, à 16:11
- abelthorne
Re : Droits de /usr/bin
Récupère l'image ISO de la version d'Ubuntu que tu veux installer.
Si c'est la version principale, c'est là : https://ubuntu.com/#download (prends la 20.04 LTS).
Si c'est une autre variante, pour Kubuntu c'est sur kubuntu.org, pour Xubuntu c'est sur xubuntu.org, pour Ubuntu MATE c'est sur ubuntu-mate.org, etc.
Une fois que tu as téléchargé l'ISO (ça va prendre un peu de temps, elle fait plusieurs Go), récupère Etcher là. Descend un peu dans la page pour télécharger la version "Etcher for Linux x64 (64-bit) (AppImage)", ce sera la plus simple à utiliser. Extrais l'archive zip téléchargée pour obtenir un fichier en .AppImage, fais un clic droit dessus pour afficher ses propriétés va dans l'onglet pour les permissions et clique sur la case pour le rendre exécutable ("Autoriser l'exécution comme un programme" ou similaire) si elle n'est pas déjà cochée.
Une fois que c'est fait, ça va lancer Etcher. Dans l'interface, tu choisiras "Flash from file", il va te demander de sélectionner l'ISO d'Ubuntu, puis avec "Select target" tu pourras choisir ta clé USB. Clique sur Flash pour commencer la "gravure". Attends qu'il ait fini et tu auras une clé LiveUSB prête à l'emploi.
Pour la connexion à Internet, ça dépend : si tu n'as pas du matos trop exotique qui nécessite d'installer un pilote, l'installeur devrait te permettre de te connecter en wi-fi. Sinon ce sera en ethernet.
Avant de lancer l'installation, on est bien d'accord que tu as une sauvegarde de toutes tes données importantes, y-compris les choses auxquelles on ne pense pas forcément du style profil Firefox & Thunderbird, contenu du dossier du bureau... ?
Tu peux accéder aux privilèges du compte root sur ton système
en démarrant ton système Ubuntu en mode recovery
Là, même en root, pour retrouver tous les fichiers/dossiers qui doivent avoir un groupe spécifique et qui sont répartis quelque part dans /usr, ça va être ingérable. Cf mon message plus haut pour quelques exemples de ce que j'ai de mon côté.
Dernière modification par abelthorne (Le 19/07/2021, à 16:14)
Hors ligne
#16 Le 19/07/2021, à 16:16
- Alain256
Re : Droits de /usr/bin
OK merci de ton aide. Je balise un peu... (pas mal en fait)
Je fais ça ce soir car maintenant je dois m'absenter. Je te dis dès que la clef est prête.
Hors ligne
#17 Le 19/07/2021, à 16:39
- abelthorne
Re : Droits de /usr/bin
À vérifier aussi avant : tu n'as pas de données qui sont gérées au niveau système ? Par exemple des bases SQL... le genre de trucs qui sont au-delà des fichiers de config tout en n'étant pas des données utilisateurs.
Hors ligne
#18 Le 19/07/2021, à 17:00
- MicP
Re : Droits de /usr/bin
… Là, même en root, pour retrouver tous les fichiers/dossiers qui doivent avoir un groupe spécifique et qui sont répartis quelque part dans /usr, ça va être ingérable. …
J'en ai fait afficher la liste par une recherche avec find
et finalement, il n'y en a pas tant que ça :
michel@ubults:~$ ls -ld $(sudo find /usr \( -perm /5000 -o ! -group root \) -printf "%p ")
[sudo] Mot de passe de michel :
-rwxr-sr-x 1 root tty 14488 mars 30 2020 /usr/bin/bsd-write
-rwxr-sr-x 1 root shadow 84512 mai 28 2020 /usr/bin/chage
-rwsr-xr-x 1 root root 85064 mai 28 2020 /usr/bin/chfn
-rwsr-xr-x 1 root root 53040 mai 28 2020 /usr/bin/chsh
-rwxr-sr-x 1 root crontab 43720 févr. 13 2020 /usr/bin/crontab
-rwxr-sr-x 1 root shadow 31312 mai 28 2020 /usr/bin/expiry
-rwsr-xr-x 1 root root 39144 mars 7 2020 /usr/bin/fusermount
-rwsr-xr-x 1 root root 88464 mai 28 2020 /usr/bin/gpasswd
-rwsr-xr-x 1 root root 55528 juil. 21 2020 /usr/bin/mount
-rwsr-xr-x 1 root root 44784 mai 28 2020 /usr/bin/newgrp
-rwsr-xr-x 1 root root 68208 mai 28 2020 /usr/bin/passwd
-rwsr-xr-x 1 root root 31032 mai 26 13:50 /usr/bin/pkexec
-rwxr-sr-x 1 root ssh 350504 mars 9 15:17 /usr/bin/ssh-agent
-rwsr-xr-x 1 root root 67816 juil. 21 2020 /usr/bin/su
-rwsr-xr-x 1 root root 166056 janv. 19 15:21 /usr/bin/sudo
-rwsr-xr-x 1 root root 39144 juil. 21 2020 /usr/bin/umount
-rwxr-sr-x 1 root tty 35048 juil. 21 2020 /usr/bin/wall
-rwsr-xr-- 1 root messagebus 51344 juin 11 2020 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
-rwsr-xr-x 1 root root 14488 juil. 8 2019 /usr/lib/eject/dmcrypt-get-device
-rwxr-sr-x 1 root mail 22856 avril 7 20:27 /usr/libexec/camel-lock-helper-1.2
-rwxr-sr-x 1 root tty 14640 janv. 29 2020 /usr/lib/mc/cons.saver
-rwsr-xr-x 1 root root 473576 mars 9 15:17 /usr/lib/openssh/ssh-keysign
-rwsr-xr-x 1 root root 22840 mai 26 13:50 /usr/lib/policykit-1/polkit-agent-helper-1
-rwsr-xr-x 1 root root 130408 mars 26 16:49 /usr/lib/snapd/snap-confine
-rwsr-sr-x 1 root root 14488 avril 8 14:29 /usr/lib/xorg/Xorg.wrap
drwxrwsr-x 3 root staff 4096 févr. 9 19:47 /usr/local/lib/python3.8
drwxrwsr-x 2 root staff 4096 févr. 9 19:47 /usr/local/lib/python3.8/dist-packages
drwxrwsr-x 2 root staff 4096 févr. 9 19:51 /usr/local/share/fonts
-rw-r--r-- 1 root staff 36 févr. 9 19:51 /usr/local/share/fonts/.uuid
-rwxr-sr-x 1 root shadow 43168 avril 8 13:06 /usr/sbin/pam_extrausers_chkpwd
-rwsr-xr-- 1 root dip 395144 juil. 23 2020 /usr/sbin/pppd
-rwxr-sr-x 1 root shadow 43160 avril 8 13:06 /usr/sbin/unix_chkpwd
drwxrwsr-t 2 root lpadmin 4096 avril 24 2020 /usr/share/ppd/custom
michel@ubults:~$
Mais comme on peut le voir, il y aura aussi des attributs à modifier …
EDIT : J'ai modifié la ligne de commande afin qu'elle liste aussi les fichiers et répertoires
qui auraient les attributs SUID, ou/et SGID, ou/et Sticky-bit
Dernière modification par MicP (Le 19/07/2021, à 18:40)
Hors ligne
#19 Le 19/07/2021, à 17:23
- abelthorne
Re : Droits de /usr/bin
Effectivement, on pourrait essayer de gérer ça depuis une session live plutôt que tout réinstaller. Sachant que c'est possible qu'Alain256 ait d'autres softs avec ce genre de config (bits de permissions et/ou groupes spécifiques) qu'on n'a pas.
Hors ligne
#20 Le 19/07/2021, à 18:43
- MicP
Re : Droits de /usr/bin
J'ai modifié la ligne de commande que j'avais proposée
pour qu'elle prenne aussi en compte les fichiers et répertoires ayant des attributs spécifiques,
et finalement, entre les propriétés + les attributs + le fait qu'il risque fort d'y avoir aussi des applications installées que je n'ai pas pu prendre en compte
ça fait beaucoup de risque d'avoir un système "bancal"
Dernière modification par MicP (Le 19/07/2021, à 18:49)
Hors ligne
#21 Le 19/07/2021, à 19:03
- abelthorne
Re : Droits de /usr/bin
Oui, il vaudrait mieux refaire une installation propre de toute façon.
Hors ligne
#22 Le 19/07/2021, à 19:53
- Alain256
Re : Droits de /usr/bin
Merci à vous deux.
Je prépare tout ce qu'il faut, y compris le déménagement de la box pour avoir un RJ45 et ça devrait être bon demain matin.
Hors ligne
#23 Le 19/07/2021, à 20:46
- MicP
Re : Droits de /usr/bin
Tu sais que si ton smartphone accède à la box (par WiFi)
il suffira de connecter le smartphone au PC par un câble USB
pour que l'installation d'un système Linux puisse se faire sur le PC
comme si le PC était lui même connecté à la Box
Sur le smartphone il suffira d'activer le Partage de connexion par USB <=> Via USB
Si le smartphone est connecté par USB à un PC et que ce PC est allumé, cette option est activable sur le smartphone.
Le PC détecte la connexion du smarphone comme s'il y avait un nouveau périphérique réseau USB
et il n'a besoin d'aucun pilote.
=======
Bien sûr ça marche aussi si le smartphone est connecté à internet par 3G 4G 5G,
mais là, ça dépends aussi de ce que te coûte ton abonnement téléphonique pour l'accès à internet
Dernière modification par MicP (Le 19/07/2021, à 21:04)
Hors ligne
#24 Le 20/07/2021, à 09:54
- Alain256
Re : Droits de /usr/bin
Bonjour
je crois que je suis prêt.
J'ai fait une sauvegarde de tout l'espace utilisateur sur un disque dur, ajouter des copies de divers fichiers spécifiques, noté diverses configurations (le montage du disque dur sauvegarde m'avait posé des problèmes).
J'ai eu du mal à flasher la clef usb (en fait je n'y suis pas arrivé sur ubuntu) et je l'ai finalement fait sur une autre machine. Cela semble bon.
La liaison filaire à partir de l'iphone est incroyablement rapide et finalement je vais l’adopter.. J'avais eu du mal à installer les drivers pour le wifi USB et je ne sens pas la mise en route spontanée...
Donc pret.
Hors ligne
#25 Le 20/07/2021, à 10:02
- abelthorne
Re : Droits de /usr/bin
Démarre sur la clé USB et lance l'installation. Là, soit tu supprimes la version existante d'Ubuntu (attention à choisir le bon disque) et tu le réinstalles dans l'espace libéré, soit il y a une option pour le réinstaller à la place de l'ancien sans toucher au dossier perso. Ça fait un bout de temps que je n'ai pas utilisé l'installeur, je n'ai pas vraiment plus de détails.
Hors ligne