Forum Linux.débutant Switch entre Super User et User normal

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
7
oct.
2019

Bonjour, je suis novice, j'essaye de comprendre le terminal. Lorsque j'ouvre le terminal, j'ai nomd'utilisateur@nomdupc :~$ . Est-ce le SU ou simple utilisateur? J'ai compris que pour passer en SU il faut faire sudo + commande, mais comment repasser en simple utilisateur, et comment savoir si on est en Super User ou en Simple user?
De plus, parfois en bricolant, je n'ai même plus nomd'utilisateur@nomdupc :~$. Pourquoi? Et comment y revenir?

Merci :)

  • # facile

    Posté par  . Évalué à 4.

    Lorsque j'ouvre le terminal, j'ai nomd'utilisateur@nomdupc :~$ . Est-ce le SU ou simple utilisateur?

    ca te dit que tu es connecté en tant que nomd'utilisateur sur la machine nomdupc et que tu es dans le dossier ~ (soit le /home/nomd'utilisateur)

    et le $ t'indique que tu n'es pas root (enfin par défaut, car on peut changer le prompt d'un terminal).

    quand tu fais sudo commande tu passes root le temps de faire la commande et tu en ressors juste après, donc tu restes simple utilisateur avec pouvoir sudo.

    enfin si tu passes root pour une durée plus longue avec sudo -i (il faut connaitre le mot de passe de l'utilisateur courant, et qu'il soit autorisé à être sudo ou avec su - (il faut connaitre le mot de passe de root)

    ton prompt devient root@nomdupc: ~# (là encore le # par défaut, mais cela peut être configuré différemment sur ta distro)

    et tu en sors avec le mot magique exit

    • [^] # Re: facile

      Posté par  . Évalué à 1.

      root@Canelle:~# exit
      déconnexion
      Il y a des tâches stoppées.
      root@Canelle:~# exit
      déconnexion
      Réception de SIGHUP ou SIGTERM
      Réception de SIGHUP ou SIGTERM
      Réception de SIGHUP ou SIGTERM
      
      Espace écrit dans /etc/bash.bashrc.save
      hisokhash@Canelle:~$ man sighup
      

      Pourquoi j'ai dû faire exit plusieurs fois?

      • [^] # Re: facile

        Posté par  . Évalué à 3.

        Parce que tu as du demander plusieurs fois de suite à être root. Il faut voir cela comme des poupées russes.
        Quand tu fais un "su", tu peux voir cela comme mettre en pause la session courante pour en ouvrir une nouvelle en tant que root. Et dans cette nouvelle session où tu es root, tu peux encore faire "su" pour ouvrir une "nouvelle session" root. Tu auras donc 3 sessions imbriquées, et il faudra donc faire 2 fois exit pour revenir à la première session où il y a l'utilisateur normal.
        Sache également que la commande "su" permet de changer pour n'importe quel utilisateur. Par défaut, si tu tapes "su" sans rien, ca sera pour devenir root. Mais tu peux très bien mettre "su toto" pour devenir l'utilisateur toto (s'il existe sur ton ordi).

  • # Explications

    Posté par  . Évalué à 2.

    nomd'utilisateur@nomdupc :~$
    C'est ce qu'on appelle le prompt. Pour faire simple, si à la fin du prompt tu as un $ tu es un simple utilisateur, si tu as un # tu es Super Utilisateur (à peu près l'équivalent d'administrateur sous Windows).
    Quand tu fais sudo + commande, tu restes utilisateur mais tu exécutes la commande en tant que SU.

  • # Plusieurs choses

    Posté par  (Mastodon) . Évalué à 3.

    Bonjour, et bienvenue :)

    Dans le terminal, le nomd'utilisateur@nomdupc :~$ s'appelle le prompt. C'est un simple affichage qu'on peut bidouiller à loisir. En général, les distributions Linux mettent une valeur assez pratique, comme celle que tu cites qui a l'avantage de dire clairement "qui on est" et où (pense aux gens qui administrant des dizaines ou centaines de PC par réseau). Pour info, tu peux y mettre l'heure, la température de ton CP ou n'importe quelle idée à la con qui te passe par la tête (météo, prochain coffre à Clash Royale…).

    Revenons à ton cas, c'est donc ton nom d'utilisateur. Sur Linux (et les Unix en général) on sépare les rôles. Grosso-modo l'utilisateur de base est là pour exécuter les programmes, modifier le contenu de son répertoire /home/utilisateur et c'est à peu près tout. Ça évite qu'il fasse des bêtises, en tous cas des bêtises limitées à son propre environnement : il peut par mégarde supprimer tous ses fichiers, mais pas les fichiers des autres utilisateurs ni du système lui-même.

    Si tu veux faire des tâches d'administration de l'ordinateur (par exemple installer un nouveau programme), il te faut prendre les droits root, ou autrement dit Super Utilisateur. La commande sudo te permet d'exécuter une tâche avec ces droits. Si tu tapes sudo <commande> la commande est en effet exécutée avec les droits root, mais tu reviens utilisateur normal dès la fin de la commande.

    Si tu as pas mal de choses à faire en tant qu'administrateur ça peut être pénible de mettre des sudo partout, alors tu demandes carrément à changer d'utilisateur (avec su). La distribution Linux a été sympa et a changé le prompt pour te dire clairement que tu as d'autres droits (et donc que tu peux faire des bêtises plus graves).

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Plusieurs choses

      Posté par  . Évalué à 1.

      Et sais tu pourquoi parfois, après quelques manip hasardeuses, je n'ai plus aucun prompt?

      • [^] # Re: Plusieurs choses

        Posté par  (Mastodon) . Évalué à 2.

        Il faudrait que tu décrives tes manips hasardeuses… de quel type ?

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: Plusieurs choses

          Posté par  . Évalué à 1.

          Je sais plus trop, je traine depuis hier sur les forums pour essayer d'apprendre, et je test. Je crois que ça m'as fait ça quand j'ai essayé de mettre le wifi sur mon pc ou de changer la couleur du mode super user. Je sais plus en réalité…

          • [^] # Re: Plusieurs choses

            Posté par  . Évalué à 5.

            avant de copier des manips trouvées sur le Web, essaie de comprendre ce qu'elles font par exemple en interrogeant la page du manuel ou l'aide intégrée de la commande. Ça te permettra d'éviter de faire des bétises tout en apprenant un peu mieux les outils de ton système.

          • [^] # Re: Plusieurs choses

            Posté par  (site web personnel) . Évalué à 5.

            Comme le dit xev, avant de copié-collé une commande dans ton terminal mieux vaut comprendre ce que ça va faire. Pour deux raisons : 1/ tu vas petit à petit progresser en rencontrant souvent les mêmes commandes ; 2/ ça peut être dangereux.

            Tu peux te servir en plus des pages de man (regarde si tu trouves un paquet manpages-fr dans la logithèque) d'explainshell qui te décortique la ligne de commande que tu t’apprête à taper (dans certains cas un peu tordus ça ne marche pas très bien).

            Comme on dit « la voie est libre mais la route est longue ».

            « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

            • [^] # Re: Plusieurs choses

              Posté par  . Évalué à 1.

              Merci pour vos réponses,vous m'avez donnez une des clefs importantes de Linux je crois. Vous êtes des boss :)

      • [^] # Re: Plusieurs choses

        Posté par  . Évalué à 4.

        Le plus probable est que tu ais modifié la variable PS1 qui est celle qui s’affiche dans le prompt.
        Quelques exemple :

        # on commence avec PS1="$ "
        $ PS1="\u@\h : $ "
        capello@machine : $ 
        # \u donne le nom de l’utilisateur
        # \h le nom de la machine
        # Je mets des " pour pouvoir avoir un espace à la fin.
        capello@machine : $ PS1="Hello \u tu es sur \h et dans le répertoire \w. Que veux tu ? "
        Hello capello tu es sur machine et dans le répertoire ~/travail. Que veux tu ? ls
        …
        # J’ai ajouté \w qui donne le répertoire courant.

        J’espère que c’est plus clair.

        • [^] # Re: Plusieurs choses

          Posté par  . Évalué à 1.

          Ok merci ! Je crois avoir compris. Juste, je te vois beaucoup utiliser la touche "$", à quoi sert-elle, je ne trouve pas?

          • [^] # Re: Plusieurs choses

            Posté par  (site web personnel) . Évalué à 4.

            Il ne se sert pas de la touche dollar, c'est juste pour te montrer ce que tu dois voir dans ton terminal. À moins que tu n'ai configuré l'invite de commande autrement (via la variable PS1), le dollar t'indique que tu es simple utilisateur. Si par contre tu passe en root (sudo -i, su, ou encore su -) un dièse sera mis à la place. Ainsi quand j'ouvre mon terminal, il m'accueille comme ceci :

            deuzene@probook: $

            probook c'est le nom de ma machine (mon ordi quoi) que j'ai configuré lors de l'install, mais on peut le modifier avec la commande hostnamectl. Ça peut se lire deuzene chez probook. Ensuite il y a le signe dollar, qui veut dire que je suis simple utilisateur. Maintenant si je tape sudo -i pour passer en super utilisateur c.à.d root :

            deuzene@probook: $ sudo -i
            [sudo] Mot de passe de deuzene :
            root@probook: #

            après avoir entré mon mot de passe, l'utilisateur a changé, et maintenant l'invite me dit que :

            • c'est root chez probook
            • le signe dièse à remplacé le dollar pour indiquer que l'utilisateur a les droits de super utilisateur

            Ce qu'il faut bien comprendre c'est que l'invite de commande indique quel est l'utilisateur logué, c.à.d connecté et s'il est ou non super utilisateur. Enfin par défaut puisqu'en modifiant la variable PS1, comme expliqué dans un autre post, on peut lui demander d'afficher autre chose. Mais par défaut c'est utilisateur@machine $ ou root@machine $.

            « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

  • # Merci

    Posté par  . Évalué à 2.

    Merci pour vos réponses :)

  • # Qui suis je ?

    Posté par  (site web personnel) . Évalué à 1.

    Si tu veux savoir sous quel utilisateur tu es connecté, tu peux taper whoami dans le terminal

    • [^] # Re: Qui suis je ?

      Posté par  . Évalué à 2.

      Ou id pour obtenir plus de précisions, sur ses groupes donc sur ses droits.


      Sachant que whoami n'est qu'un alias de id -un.

      • [^] # Re: Qui suis je ?

        Posté par  . Évalué à 3.

        Sachant que whoami n'est qu'un alias de id -un.

        Heu ce n’est pas un alias…

        $ which whoami
        /usr/bin/whoami
        $

        Ça fait la même chose, mais ce n’est pas un alias. Je ne sais pas quand id est apparu, mais whoami existait dans les UNIX pre-Linux en 1992.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.