# Su parle anglais alors que su - reste français! et autres différences

**URL:** <https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620>\
**Category:** Support Debian\
**Created:** [Décembre 28, 2022, 11:11 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620 "2022-12-28T11:11:08Z")\
**Posts on this page:** 15\
**Page:** 2

<div class="post-metadata">

**Author:** ![jpp45](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jpp45/32/7665_2.png) [@jpp45](https://www.debian-fr.org/u/jpp45)\
**Post date:** [Décembre 31, 2022, 7:07 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/21 "2022-12-31T07:07:57Z")

</div>

```auto
mm@Xfce:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

mm@Xfce:~$ su 
Mot de passe : 
root@Xfce:/home/mm# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

```

- par contre si j’utilise **su -** la valeur $PATH est différente et correspond à un vrai **root** ( je suppose du moins )

```auto
mm@Xfce:~$ su -
Mot de passe : 
root@Xfce:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

```

j’espère ne pas dire trop de bêtises .

C’est bon, c’est ça zao, tu ne dis pas de bêtises. 😉

---

<div class="post-metadata">

**Author:** ![jpp45](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jpp45/32/7665_2.png) [@jpp45](https://www.debian-fr.org/u/jpp45)\
**Post date:** [Décembre 31, 2022, 7:37 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/22 "2022-12-31T07:37:54Z")

</div>

Sur Debian 9 un simple

su

mettait `/sbin` dans cette variable, mais plus sous Debian 10 où il faut faire :

su -

ou

su -l

---

<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:** [Janvier 1, 2023, 8:29 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/23 "2023-01-01T08:29:04Z")

</div>

Bonjour

**Attention :** les manuels proposés sur certains sites web n’ont pas toujours été mis à jour.

Ci-dessous, une traduction en français du manuel de la commande `su`  
dans la version utilisée sur un système debian 11 :

```nohighlight
SU(1) Commandes de l'utilisateur SU(1)

NOM
       su - exécuter une commande avec un UID et un GID de substitution

SYNOPSIS
       su [options] [-] [utilisateur [argument...]]

DESCRIPTION
       su permet l'exécution de commandes avec un identifiant utilisateur (UID) et un identifiant de groupe (GID) de substitution.

       S'il est appelé sans spécifier d'utilisateur, su exécute par défaut un interpréteur de commande interactif en tant que superutilisateur (root).
       Lorsqu'un utilisateur est indiqué, des arguments supplémentaires peuvent-être fournis, auquel cas ils sont passés à l'interpréteur.

       Pour assurer la rétrocompatibilité, su ne change pas, par défaut, le répertoire actuel et ne définit que les variables d'environnement HOME et SHELL (ainsi que USER et LOGNAME si l'utilisateur cible n'est pas le superutilisateur).
       Il est recommandé de toujours utiliser l'option --login (au lieu de son raccourci -) pour éviter les effets secondaires causés par un mélange d'environnements.

       Cette version de su utilise PAM pour l'authentification, le compte et la gestion de session.
       Quelques options de configuration trouvées dans d'autres implémentations de su, telles que la prise en charge d'un groupe wheel, doivent être configurées à l'aide de PAM.

       su est surtout fait pour les utilisateurs non privilégiés, la solution recommandée pour les utilisateurs privilégiés (par exemple, les scripts exécutés par le superutilisateur) est d'utiliser la commande sans set-user-ID runuser(1) qui ne nécessite pas d'authentification et qui fournit une configuration PAM distincte.
       Si la session PAM n'est pas du tout indispensable, alors la solution recommandée consiste à utiliser la commande setpriv(1)

       Remarquez que su utilise dans tous les cas PAM (pam_getenvlist(3)) pour effectuer la modification finale d'environnement.
       Les options de ligne de commandes comme --login et --preserve-environment affectent l'environnement avant qu'il ne soit modifié par PAM.

       Depuis la version 2.38, su réinitialise les limites de ressource des RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS et RLIMIT_NOFILE.

OPTIONS
       -c, --command=commande
           Passer une commande à l’interpréteur de commandes avec l'option -c.

       -f, --fast
           Passer -f à l’interpréteur de commandes, ce qui pourrait être utile ou non suivant l’interpréteur de commandes.

       -g, --group=groupe
           Indiquer le groupe primaire. Cette option n'est disponible que pour le superutilisateur.

       -G, --supp-group=groupe
           Indiquer un groupe supplémentaire.
           Cette option est réservée au superutilisateur.
           Le premier groupe supplémentaire spécifié est également utilisé comme groupe primaire si l'option --group n'est pas spécifiée.

       -, -l, --login
           Démarrer l’interpréteur de commandes comme un interpréteur de connexion avec un environnement similaire à une connexion réelle :

           • efface toutes les variables d'environnement, à l'exception de TERM et des variables indiquées dans --whitelist-environment ;

           • initialise les variables d'environnement HOME, SHELL, USER, LOGNAME et PATH ;

           • se place dans le répertoire personnel de l'utilisateur cible ;

           • définit argv[0] pour l’interpréteur de commandes à « - » pour faire de l’interpréteur de commandes un interpréteur de connexion.

       -m, -p, --preserve-environment
           Préserver la totalité de l'environnement, c'est à dire ne pas définir HOME, SHELL, USER ou LOGNAME. Cette option est ignorée si l'option --login est indiquée.

       -P, --pty
           Créer un pseudo-terminal pour la session.
           Le terminal indépendant assure une meilleure sécurité, car l'utilisateur ne partage pas le terminal avec la session d'origine.
           Cela permet d'éviter une injection d’ioctl TIOCSTI de terminal et d'autres attaques de sécurité à l'encontre des descripteurs de fichier du terminal.
           Il est également possible de mettre la session entière en arrière-plan (par exemple, su --pty - nom_utilisateur -c application &).
           Si le pseudo-terminal est activé, alors su fonctionne comme un serveur mandataire entre les sessions (avec une copie de l'entrée et de la sortie standards).

           La plupart du temps, cette fonctionnalité est conçue pour des sessions interactives.
           Si l'entrée standard n'est pas un terminal, mais une redirection (« pipe ») (par exemple, echo "date" | su --pty), alors le drapeau ECHO du pseudo-terminal est désactivé pour éviter une sortie désordonnée.

       -s, --shell=shell
           Exécuter l’interpréteur de commandes shell indiqué au lieu de celui par défaut.
           L’interpréteur de commandes à exécuter est sélectionné d’après les règles suivantes dans cet ordre :

           • l'interpréteur de commandes indiqué avec --shell ;

           • l'interpréteur de commandes indiqué dans la variable d'environnement SHELL, si l'option --preserve-environment est utilisée ;

           • l'interpréteur de commandes listé dans l'entrée passwd de l'utilisateur cible.

           • /bin/sh

       Si l'utilisateur cible a un interpréteur de commandes restreint (c’est-à-dire non listé dans /etc/shells), l'option --shell et la variable d'environnement SHELL est ignorée sauf si l'utilisateur appelant estle superutilisateur.

       --session-command=commande
           Comme -c, mais sans créer de nouvelle session (déconseillé).

       -w, --whitelist-environment=liste
           Ne pas réinitialiser les variables d'environnement spécifiées dans la liste séparées par des virgules lors du nettoyage de l'environnement pour --login (une connexion).
           La liste blanche est ignorée pour les variables d'environnement HOME, SHELL, USER, LOGNAME et PATH.

       -h, --help
           Afficher l’aide-mémoire puis quitter.

       -V, --version
           Afficher la version puis quitter.

SIGNAUX
       Dès la réception de SIGINT, SIGQUIT ou de SIGTERM, su termine son processus enfant et puis se termine lui-même avec le signal reçu.
       Le processus enfant est terminé par SIGTERM, après un essai infructueux et deux secondes de délai, le processus enfant est tué par SIGKILL.

FICHIERS DE CONFIGURATION
       su lit les fichiers de configuration /etc/default/su et /etc/login.defs.
       Les éléments de configuration suivants sont significatifs pour su :

       FAIL_DELAY (nombre)
           Délai en secondes en cas d'échec d'authentification.
           Le nombre doit être un entier non-négatif.

       ENV_PATH (chaîne)
           Définit la variable d'environnement PATH pour un utilisateur ordinaire.
           La valeur par défaut est /usr/local/bin:/bin:/usr/bin.

       ENV_ROOTPATH (chaîne), ENV_SUPATH (chaîne)
           Définit la variable d'environnement PATH pour le superutilisateur.
           ENV_SUPATH est prioritaire.
           La valeur par défaut est /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

       ALWAYS_SET_PATH (booléen)
           Si définie à yes et que ni --login, ni --preserve-environment n’étaient indiquées, su initialise PATH.

           La variable d'environnement PATH peut être différente sur des systèmes où /bin et /sbin sont fusionnés dans /usr ;
            cette variable est aussi affectée par l'option --login de la ligne de commandes et le paramétrage du système PAM (c'est-à-dire, pam_env(8)).

CODE DE RETOUR
       su renvoie normalement le code de retour de la commande exécutée.
       Si lacommande a été tuée par un signal, su renvoie le numéro du signal plus 128.

       Le code de retour généré par su lui-même est un des suivants :

       1
           Erreur générique avant l'exécution de la commande demandée

       126
           La commande demandée n'a pas pu être exécutée

       127
           La commande demandée n'a pas été trouvée

FICHIERS
       /etc/pam.d/su
           fichier de configuration de PAM par défaut

       /etc/pam.d/su-l
           fichier de configuration de PAM si --login est spécifié

       /etc/default/su
           fichier de configuration logindef spécifique à la commande

       /etc/login.defs
           fichier de configuration logindef général

NOTES
       Pour des raisons de sécurité, su enregistre toujours les tentatives de connexion échouées dans le fichier btmp, mais n'écrit pas du tout dans le fichier lastlog.
       Cette solution peut être utilisée pour contrôler le comportement de su avec la configuration de PAM.
       Si vous voulez utiliser le module pam_lastlog(8) pour afficher des messages d'avertissement sur les échecs de connexions, alors pam_lastlog(8) doit être configuré pour mettre aussi à jour le fichier lastlog.
         Par exemple avec :
           session required pam_lastlog.so nowtmp

HISTORIQUE
       Cette version de la commande su est dérivée de su de coreutils, qui était basée sur une implémentation de David MacKenzie.
       La version util-linux a été remaniée par Karel Zak.

VOIR AUSSI
       setpriv(1), login.defs(5), shells(5), pam(8), runuser(1)

SIGNALER DES BOGUES
       Pour envoyer un rapport de bogue, utilisez le système de gestion des problèmes à l'adresse https://github.com/util-linux/util-linux/issues.

DISPONIBILITÉ
       La commande su fait partie du paquet util-linux qui peut être téléchargé depuis Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

TRADUCTION
       La traduction française de cette page de manuel a été créée par Christophe Blaess <ccb@club-internet.fr> et bubu <bubub@no-log.org>

       Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les conditions de copie et de distribution.
       Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

```

* * *

Pour pouvoir comprendre l’utilité de l’option `login` de la commande `su`  
il sera peut-être nécessaire d’aller lire les pages du manuel de la commande `login`  
en lançant la ligne de commande suivante :

```nohighlight
man login

```

* * *

Pour le _ **tilde** _ ( **~** ) utilisé avec l’interpréteur de commandes `bash`  
voir la page concernée dans le manuel  
en lançant la ligne de commande suivante :

```nohighlight
man --pager='less -p "Développement du tilde"' bash

```

---

<div class="post-metadata">

**Author:** ![zao](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/ce7236/32.png) [@zao](https://www.debian-fr.org/u/zao)\
**Post date:** [Janvier 1, 2023, 12:27 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/24 "2023-01-01T12:27:06Z")

</div>

> [@anon29980398](#):
>
> Pour le _ **tilde** _ ( **~** ) utilisé avec l’interpréteur de commandes `bash`

cette fois-ci j’ai pigé le truc , qui n’est vraiment pas compliqué mais bon , le temps que ça arrive près des neurones concernés … un bon trimestre++ quand même ! . Du coup je viens de tester l’auto-complétion avec **su** et **su -** histoire d’nfoncer le clou .

merci pour ces info que je vais relire car cf ci-dessous .

ps : une fois encore j’ai parlé trop vite . Toujours curieux , voici une séquence que je n’avais pas prévue :

```plaintext
mm@Xfce:~/Documents$ cd casio_photo/
mm@Xfce:~/Documents/casio_photo$ cd
mm@Xfce:~$ echo ~
/home/mm
mm@Xfce:~$ su 
Mot de passe : 
root@Xfce:/home/mm# cd Documents/casio_photo/
root@Xfce:/home/mm/Documents/casio_photo# cd
root@Xfce:~# echo ~
/root
root@Xfce:~# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

```

Je m’explique :

- le 1er **cd** à partir de **/home/mm** me ramène bien à mon répertoire personnel
- le 2ème **cd** , effectué à partir d’une console ouverte par **su** , ne me ramène pas à mon répertoire personnel mais me conduit à **/root** tout en restant avec un $PATH de l’utilisateur **mm**. D’ailleurs l’auto-complétion relative à **Documents/casio\_photo** ne fonctionne plus après ce changement de répertoire , ce qui me semble normal .

Par contre :

```plaintext
mm@Xfce:~$ su
Mot de passe : 
root@Xfce:/home/mm# cd Documents/casio_photo/
root@Xfce:/home/mm/Documents/casio_photo# cd ..
root@Xfce:/home/mm/Documents# cd ..
root@Xfce:/home/mm# 

```

j’arrête là car je ne pense pas que tout ça ça présente un grand intérêt .

---

<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:** [Janvier 1, 2023, 1:30 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/25 "2023-01-01T13:30:45Z")

</div>

> [@zao](#):
>
> …
> 
> - le 2ème **cd** , effectué à partir d’une console ouverte par **su** , ne me ramène pas à mon répertoire personnel mais me conduit à **/root** …

Oui, quand tu es sous le compte `root` le compte utilisateur courant est `root`  
alors la commande `echo ~` retourne le chemin absolu du répertoire personnel du compte `root` qui est : `/root`

Et si, comme ci-dessous, le compte utilisateur courant est `mic`,  
alors la commande `echo ~` retournera le chemin absolu du répertoire personnel du compte utilisateur `mic` qui est `/home/mic`

```plaintext
mic@deb1156:~$ echo ~
/home/mic
mic@deb1156:~$ 

```

Et ce, quel que soit le répertoire courant :  
Ci-dessous, pour cet exemple,  
j’utilise la commande `cd` pour changer le répertoire courant par le répertoire `/usr/bin`  
et ensuite je lance la commande `echo ~`

```plaintext
mic@deb1156:~$ cd /usr/bin
mic@deb1156:/usr/bin$ echo ~
/home/mic
mic@deb1156:/usr/bin$ 

```

---

<div class="post-metadata">

**Author:** ![zao](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/ce7236/32.png) [@zao](https://www.debian-fr.org/u/zao)\
**Post date:** [Janvier 1, 2023, 1:42 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/26 "2023-01-01T13:42:44Z")

</div>

> [@anon29980398](#):
>
> alors la commande `echo ~` retourne le chemin absolu du répertoire personnel du compte `root` qui est : `/root`

ok ! avec **su** la valeur de **~** me ramène au répertoire courant et non pas au répertoire personnel que je vois d’affiché sous la forme **/home/mm**. Comme quoi j’ai encore du boulot pour que ce soit clair .

merci pour l’explication .

---

<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:** [Janvier 1, 2023, 2:01 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/27 "2023-01-01T14:01:27Z")

</div>

> [@zao](#):
>
> avec **su** la valeur de **~** me ramène au répertoire courant et non pas au répertoire personnel .

Non : Après que la commande `su` a été exécutée :

```plaintext
mm@Xfce:~$ su 
Mot de passe : 
root@Xfce:/home/mm#

```

on voit dans le prompt que le compte utilisateur courant (qui était `mm` )est maintenant : `root`  
(et on voit aussi dans le prompt que le répertoire courant n’a pas changé).

Mais après que la commande `su` a été exécutée,  
le compte utilisateur courant a changé : c’est maintenant `root` (alors qu’avant c’était `mm` )  
alors, comme le répertoire personnel du compte utilisateur `root` est `/root`  
le `tilde` sera maintenant remplacé dans les lignes de commandes par `/root`

* * *

**Un truc :**  
Si tu as un doute, quand tu as tapé un _ **tilde** _ dans une ligne de commande(s)  
juste `après` avoir tapé ta ligne de commande(s) ( et avant de taper sur Entrée)  
déplace le curseur sur le caractère _ **tilde** _,  
et appuie sur la touche Échap et de suite après, appuie sur la touche &

* * *

D’autre part :

La valeur assignée à la variable d’environnement nommée **USER**  
est le nom du **compte utilisateur courant**.  
Pour faire s’afficher la valeur de cette variable :

```plaintext
echo $USER

```

* * *

La valeur assignée à la variable d’environnement nommée **HOME**  
est le chemin absolu du **répertoire personnel du compte utilisateur courant**.  
Pour faire s’afficher la valeur de cette variable :

```plaintext
echo $HOME

```

* * *

La valeur assignée à la variable d’environnement nommée **PWD**  
est le chemin absolu du **répertoire courant**.  
Pour faire s’afficher la valeur de cette variable :

```plaintext
echo $PWD

```

---

<div class="post-metadata">

**Author:** ![zao](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/ce7236/32.png) [@zao](https://www.debian-fr.org/u/zao)\
**Post date:** [Janvier 1, 2023, 2:12 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/28 "2023-01-01T14:12:47Z")

</div>

> [@anon29980398](#):
>
> alors la commande `echo ~` retournera le chemin absolu du répertoire personnel du compte utilisateur `mic` qui est `/home/mic`

j’aurais dû lire ceci avec un peu plus d’attention et je n’aurais pas affecté au _tilde_ la valeur qu’il remplaçait «&nbsp;géographiquement&nbsp;» en quelque sorte . Et donc la commande **cd** utilisée seule fait bien le même travail dans les deux cas ci-dessus : elle conduit au répertoire personnel de l’utilisateur courant .

---

<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:** [Janvier 1, 2023, 2:18 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/29 "2023-01-01T14:18:31Z")

</div>

> [@zao](#):
>
> la commande **cd** utilisée seule fait bien le même travail dans les deux cas ci-dessus : elle conduit au répertoire personnel de l’utilisateur courant .

OUI, c’est tout à fait ça :

Si la commande `cd` est lancée seule, alors la commande `cd` va changer de **répertoire courant**  
pour aller dans le **répertoire personnel du compte utilisateur courant**

---

<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:** [Janvier 3, 2023, 12:16 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/30 "2023-01-03T00:16:49Z")

</div>

salut  
tant qu’on y est :  
quelle est la différence entre sudo -s et su - ? ( Evidemment quand l’utilisateur est du groupe sudo )  
je n’en voit qu’une :  
après sudo -s on reste dans le dossier où on est ; avec su - on va dans /root

---

<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:** [Janvier 3, 2023, 2:06 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/31 "2023-01-03T02:06:12Z")

</div>

Bonjour

Avec la commande `su`  
l’option `-` (tiret moins) est une des options courtes équivalentes à l’option longue `--login`  
Voir :

```auto
man --pager='less -p "--login$"' su

```

* * *

Avec la commande `sudo`  
l’option longue `--login` fait la même chose qu’avec la commande `su`  
mais l’option courte équivalente est l’option `-i`  
Voir :

```auto
man --pager='less -p "--login$"' sudo

```

* * *

Ce n’est pas seulement et simplement une histoire de valeur de `PATH` et de répertoire courant,  
c’est **surtout** que l’option `--login` de ces deux commandes permet d’obtenir un [**login shell**](https://unix.stackexchange.com/questions/38175/difference-between-login-shell-and-non-login-shell)  
(sous le compte utilisateur `root` si aucun autre nom de compte utilisateur n’a été spécifié).

* * *

Avec la commande `sudo`  
l’option `-s` est l’option courte équivalente à l’option longue `--shell`  
Cette option permet de spécifier le shell qui sera utilisé.  
Voir :

```auto
man --pager='less -p "--shell$"' sudo

```

---

<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:** [Janvier 3, 2023, 11:07 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/32 "2023-01-03T11:07:40Z")

</div>

> [@anon29980398](#):
>
> l’option `-s` est l’option courte équivalente à l’option longue `--shell`  
> Cette option permet de spécifier le shell qui sera utilisé.

«&nbsp;sudo -s&nbsp;» lance un shell mais ne permet pas directement de spécifier lequel. La différence avec «&nbsp;sudo -i&nbsp;» est que le shell n’est pas lancé en tant que shell de connexion (login shell).

---

<div class="post-metadata">

**Author:** ![littlejohn75](https://www.debian-fr.org/user_avatar/www.debian-fr.org/littlejohn75/32/3840_2.png) [@littlejohn75](https://www.debian-fr.org/u/littlejohn75)\
**Post date:** [Janvier 4, 2023, 12:18 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/33 "2023-01-04T00:18:35Z")

</div>

> [@anon29980398](#):
>
> Avec la commande `sudo`  
> l’option longue `--login` fait la même chose qu’avec la commande `su`

Fort intéressant. Ceci étant il se trouve que `sudo` est pratiquement utilisé dans 9 cas sur 10 sous la forme sudo commande a exécuter …  
Personnellement je n’utilise jamais `su`, presque toujours `sudo` mais il m’arrive aussi d’utiliser `ssh` si je n’ai pas envie de taper de mot de passe.

```auto
fp2@debpacha:~/.local/share/applications$ ssh root@localhost pwd
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:UN6vSlmphWYOvtU3Gr+JDiPro6FNTofHzG4Z7dB45rM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
/root
fp2@debpacha:~/.local/share/applications$ ssh root@localhost id
uid=0(root) gid=0(root) groupes=0(root)
fp2@debpacha:~/.local/share/applications$
fp2@debpacha:~/.local/share/applications$ ssh root@localhost
Linux debpacha 5.10.0-20-amd64 #1 SMP Debian 5.10.158-2 (2022-12-13) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Apr 1 20:53:43 2021 from ::1
root@debpacha:~#
déconnexion
Connection to localhost closed.
fp2@debpacha:~/.local/share/applications$

```

S’il n’y a pas de commande à exécuter, on arrive sur un shell de connexion très explicite avec le rappel de la date de la dernière connexion 🙂

Bonne année 2023 à tous.

Cordialement,  
Regards,  
Mit freundlichen Grüßen,  
مع تحياتي الخالصة

* * *

F. Petitjean  
Ingénieur civil du Génie Maritime.

« Il est souvent trop tôt pour savoir s’il n’est pas trop tard. »  
Pierre Dac

« Rien ne sert de penser, faut réfléchir avant. »  
Pierre Dac

---

<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:** [Janvier 4, 2023, 1:08 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/34 "2023-01-04T01:08:42Z")

</div>

Par défaut, et pour des raisons de sécurité, dans le fichier de configuration du serveur `openssh` :  
`/etc/ssh/sshd_config`  
la valeur `prohibit-password` est assignée à la directive `PermitRootLogin`

Par défaut, il n’est donc pas possible d’utiliser le serveur `ssh` pour se connecter sous le compte `root`

Voir :

```auto
man --pager='less -p "PermitRootLogin$"' sshd_config

```

* * *

Pour ouvrir un _login-shell_ sous le compte `root` :

- Si au cours de l’installation de ton système debian tu n’as pas créé un mot de passe pour le compte `root` alors, le premier compte utilisateur non privilégié qui aura été créé ensuite fera partie de la liste des comptes utilisateurs du groupe `sudo` ce qui permet à ce compte utilisateur d’accéder aux privilèges du compte `root` en utilisant la commande `sudo`  
Donc, depuis ce compte utilisateur, tu pourras utiliser la ligne de commande suivante :

```nohighlight
sudo --login

```

- Mais si au cours de l’installation de ton système debian tu as donné un mot de passe au compte `root`  
utilises la ligne de commande suivante :

```nohighlight
su --login

```

---

<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:** [Janvier 4, 2023, 7:27 UTC](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620/35 "2023-01-04T07:27:18Z")

</div>

> [@littlejohn75](#):
>
> je n’utilise jamais `su` , presque toujours `sudo` mais il m’arrive aussi d’utiliser `ssh` si je n’ai pas envie de taper de mot de passe.

sudo peut être configuré pour ne pas demande de mot de passe.

> [@anon29980398](#):
>
> Par défaut, il n’est donc pas possible d’utiliser le serveur `ssh` pour se connecter sous le compte `root`

«&nbsp;`PermitRootLogin prohibit-password`&nbsp;» interdit seulement l’authentification par mot de passe, pas par clé. Or l’objectif de @littlejohn75 est justement de ne pas devoir taper de mot de passe.

[Page précédente](https://www.debian-fr.org/t/su-parle-anglais-alors-que-su-reste-francais-et-autres-differences/87620.md?page=1)
