# Je ne comprends pas - PB de droits avec root

**URL:** <https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333>\
**Category:** Support Debian\
**Tags:** installation\
**Created:** [Juin 15, 2020, 8:38 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333 "2020-06-15T08:38:21Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ric](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/c77e96/32.png) [@Ric](https://www.debian-fr.org/u/Ric)\
**Post date:** [Juin 15, 2020, 8:38 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/1 "2020-06-15T08:38:21Z")

</div>

1/ Après une nième installation (cette fois c’est la version 10), en console s/root je n’arrive pas à lancer fdisk (commande introuvable). Je suis obligé de passer en mode recovery pour pouvoir exécuter cette commande. Qu’est-ce que j’ai pas bien fait au cours de l’installation.

2/Comme je me lasse de réinstaller ce portable, je voudrai prendre une image du disque existant et la réinstaller sur un nouveau disque SSD neuf (sans avoir à tout réinstaller of course).

Merci d’avance

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Juin 15, 2020, 9:14 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/2 "2020-06-15T09:14:49Z")

</div>

Bonjour [**Ric**](https://www.debian-fr.org/u/Ric)

On ne voit pas du tout comment tu fais pour essayer de passer sous le compte **`root`**  
La prochaine fois, donne nous un copié/collé complet du prompt avec la ligne de commande et avec le retour de la commande et le prompt de retour.

C’est souvent en nous transmettant tous ces détails qui peuvent te sembler sans importance qu’on arrivera plus rapidement à trouver une solution.  
Et c’est peut-être aussi parce que tu les trouves sans importance que tu as du mal à trouver une solution au problème que tu rencontre.  
Mais je comprends qu’il n’est pas évident de savoir ce qui est important ou pas.

* * *

Le copié/collé aurait pu ressembler à ça :

```nohighlight
ric@nommachine:~$ su
root@nommachine:/home/ric#

```

Rien qu’avec ça, le prompt de retour  
nous aurait indiqué que tu étais bien sous le compte **`root`**  
mais que tu n’étais pas dans le répertoire personnel du compte **`root`**

Et c’est parce que tu as oublié d’utiliser l’option **`login`** de la commande **`su`**  
ce qui fait qu’il n’y a pas dans la variable **`PATH`** les chemins qui auraient permis  
d’accéder aux commandes de maintenance prévues pour être utilisées depuis le compte **`root`**

Regarde l’option **`login`** dans la page **`man`** de la commande **`su`**

```nohighlight
man su

```

* * *

Alors que si tu avais fait :

```nohighlight
ric@nommachine:~$ su --login
root@nommachine:~#

```

Là, le prompt de retour est différent, il nous aurait montré que le répertoire courant est bien le répertoire personnel du compte utilisateur **`root`**

L’option **`login`** permet de faire en sorte qu’après avoir changé de compte utilisateur,  
les variables d’environnement soient celles du compte utilisateur que l’on veux utiliser.

Dans les variables d’environnement, il y a la variable **`PATH`**  
La variable **`PATH`** d’un compte utilisateur non privilégiée est :

```nohighlight
ric@nommachine:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
ric@nommachine:~$ 

```

Il n’y a pas le chemin **`/usr/sbin`** dans cette variable d’environnement  
ce qui fait que la commande **`/usr/sbin/fdisk`** est inaccessible  
(ou alors il faudrait donner son chemin absolu pour pouvoir l’utiliser)

Mais celle utilisée dans l’environnement du compte **`root`** est :

```nohighlight
root@nommachine:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@nommachine:~#

```

et donc, la commande **`fdisk`** est bien accessible au compte **`root`**  
puisque le chemin **`/usr/bin`** est bien dans la liste des chemins de la variable **`PATH`**

---

<div class="post-metadata">

**Author:** ![Ric](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/c77e96/32.png) [@Ric](https://www.debian-fr.org/u/Ric)\
**Post date:** [Juin 15, 2020, 9:41 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/3 "2020-06-15T09:41:58Z")

</div>

Merci MicP pour ce point bien didactique.  
Donc, après login en root, la réponse est :

```nohighlight
richard@debian-10:~$ su
Mot de passe : 
root@debian-10:/home/richard# fdisk -l
bash: fdisk : commande introuvable
root@debian-10:/home/richard# 

```

```nohighlight
root@debian-10:/home/richard# $PATH
bash: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games: Aucun fichier ou dossier de ce type
root@debian-10:/home/richard# 

```

```nohighlight
root@debian-10:/usr/bin# cd /usr/bin/fdisk
bash: cd: /usr/bin/fdisk: Aucun fichier ou dossier de ce type
root@debian-10:/usr/bin#

```

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Juin 15, 2020, 10:50 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/4 "2020-06-15T10:50:44Z")

</div>

Merci, les copiés/collés (que tu nous donnes dans ton message)  
des commandes et leur retour respectifs qui sont complet et bien séparés.  
C’est parfait. 👍

* * *

Si tu veux passer sous le compte **root**  
et avoir l’environnement du compte **root**  
pour pouvoir accéder aux commandes de maintenance,  
entre la ligne de commande :

```nohighlight
su --login

```

ou bien :

```nohighlight
su -l

```

ou bien

```nohighlight
su -

```

C’est ce qui est proposé dans la page **man** de la commande **su**

Et ça va donner sur ta machine :

```nohighlight
richard@debian-10:~$ su -
Mot de passe : 
root@debian-10:~#

```

Et là, tu auras accès à la commande **fdisk**

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Juin 15, 2020, 12:47 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/5 "2020-06-15T12:47:22Z")

</div>

que donne  
echo $PATH  
autrement dit est-ce que  
/sbin/fdisk  
marche?

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Juin 15, 2020, 1:11 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/6 "2020-06-15T13:11:16Z")

</div>

@dindoun

La commande **`fdisk`** est dans le répertoire **`/usr/sbin/`** (qui est lié au répertoire **`/sbin`** )  
et effectivement, on peut très bien la lancer depuis un compte utilisateur non privilégié,  
mais un utilisateur non privilégié n’aura pas accès aux fichiers de périphériques disques :

```nohighlight
richard@debian-10:~$ /usr/sbin/fdisk -l
fdisk: impossible d'ouvrir /dev/sdb: Permission non accordée
fdisk: impossible d'ouvrir /dev/sda: Permission non accordée
richard@debian-10:~$ 

```

---

<div class="post-metadata">

**Author:** ![Ric](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/c77e96/32.png) [@Ric](https://www.debian-fr.org/u/Ric)\
**Post date:** [Juin 15, 2020, 2:10 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/7 "2020-06-15T14:10:06Z")

</div>

MicP,  
Avec la commande **`su -l`** , ça marche bien. Je peux lancer fdisk normalement.  
Super. Merci encore,  
Richard

---

<div class="post-metadata">

**Author:** ![Ric](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/c77e96/32.png) [@Ric](https://www.debian-fr.org/u/Ric)\
**Post date:** [Juin 15, 2020, 3:30 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/8 "2020-06-15T15:30:44Z")

</div>

```nohighlight
richard@debian-10:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
richard@debian-10:~$ 

```

lancé depuis un compte utilisateur lambda.  
Depuis root,

```nohighlight
richard@debian-10:~$ su -l
Mot de passe : 
root@debian-10:~# fdisk -l
Disque /dev/sda : 232,9 GiB, 250059350016 octets, 488397168 secteurs
Modèle de disque : TOSHIBA MK2556GS
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xeaedb0e7

Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sda1 * 2048 58593279 58591232 28G 83 Linux
/dev/sda2 58595326 488396799 429801474 205G 5 Étendue
/dev/sda5 58595328 62556159 3960832 1,9G 82 partition d'échange
/dev/sda6 62558208 488396799 425838592 203,1G 83 Linux

root@debian-10:~# 

```

Merci à vous

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Juin 17, 2020, 7:32 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/9 "2020-06-17T07:32:55Z")

</div>

> [@anon29980398](#):
>
> La commande **`fdisk`** est dans le répertoire **`/usr/sbin/`**

Pas forcément. Le paquet fdisk l’installe dans /sbin. Mais sur une installation fraîche de buster ou une installation d’une version plus ancienne mise à jour sur laquelle le paquet usrmerge a été installé, /sbin est remplacé par un lien symbolique et son contenu est fusionné dans /usr/sbin. La commande `fdisk` est donc accessible indifféremment dans /sbin et /usr/sbin qui sont équivalents. Dans ce cas c’est peut-être la sortie de `which fdisk` ou `type fdisk` (ou équivalent) qui t’a induit en erreur : comme le shell, elles recherchent en suivant l’ordre des chemins définis dans $PATH, et /usr/sbin placé est avant /sbin.

Edit : cette fusion dans /usr peut avoir un effet de bord ennuyeux quand on recherche à quel paquet appartient un programme avec une commande du genre :

```
dpkg -S $(which fdisk)

```

`which` va retourner le chemin dans /usr puisque c’est la première correspondance, mais `dpkg` ne trouvera pas ce chemin dans sa base de données puisque le programme a été installé dans /sbin.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Juin 17, 2020, 9:28 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/10 "2020-06-17T09:28:07Z")

</div>

Merci pour cette précision  
qui m’évitera de me poser des questions pendant un bon moment, au cas où.

```nohighlight
root@debT450:~# dpkg -S $(which fdisk)
dpkg-query: aucun chemin ne correspond à /usr/sbin/fdisk
root@debT450:~# 

```

```nohighlight
root@debT450:~# ls -l /usr/sbin/fdisk
-rwxr-xr-x 1 root root 145536 janv. 10 2019 /usr/sbin/fdisk
root@debT450:~# 

```

```nohighlight
root@debT450:~# ls -ld /sbin
lrwxrwxrwx 1 root root 8 juin 3 03:50 /sbin -> usr/sbin
root@debT450:~# 

```

```nohighlight
root@debT450:~# ls -l /sbin/fdisk
-rwxr-xr-x 1 root root 145536 janv. 10 2019 /sbin/fdisk
root@debT450:~# 

```

```nohighlight
root@debT450:~# dpkg -S /sbin/fdisk
fdisk: /sbin/fdisk
root@debT450:~# 

```

```nohighlight
root@debT450:~# dpkg -L fdisk
/.
/sbin
/sbin/cfdisk
/sbin/fdisk
/sbin/sfdisk
/usr
/usr/share
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/cfdisk
/usr/share/bash-completion/completions/fdisk
/usr/share/bash-completion/completions/sfdisk
/usr/share/doc
/usr/share/doc/fdisk
/usr/share/doc/fdisk/changelog.Debian.gz
/usr/share/doc/fdisk/changelog.gz
/usr/share/doc/fdisk/copyright
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/cfdisk.8.gz
/usr/share/man/man8/fdisk.8.gz
/usr/share/man/man8/sfdisk.8.gz
root@debT450:~# 

```

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Juin 17, 2020, 9:35 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/11 "2020-06-17T09:35:08Z")

</div>

Je viens de trouver un contournement : `which -a` affiche tous les chemins correspondants et pas seulement le premier.

Note : La commande `readlink` avec l’option -e, -f ou -m affiche le chemin canonique d’un fichier ou répertoire en remplaçant tous les liens symboliques du chemin.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Juin 17, 2020, 9:39 UTC](https://www.debian-fr.org/t/je-ne-comprends-pas-pb-de-droits-avec-root/82333/12 "2020-06-17T09:39:46Z")

</div>

Impec 👍  
ça fonctionne très bien avec l’option **a**

```nohighlight
root@debT450:~# dpkg -S $(which -a fdisk)
dpkg-query: aucun chemin ne correspond à /usr/sbin/fdisk
fdisk: /sbin/fdisk
root@debT450:~# 

```
