IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BSD Discussion :

Comment passer super-utilisateur sur PC-BSD


Sujet :

BSD

  1. #21
    Membre du Club Avatar de hipokamp
    Homme Profil pro
    Webdesigner
    Inscrit en
    Décembre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Décembre 2015
    Messages : 143
    Points : 67
    Points
    67
    Par défaut
    Par contre j'ai un problème de commande pour télécharger le bash ?

    Nom : Capture.PNG
Affichages : 293
Taille : 76,6 Ko

  2. #22
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 276
    Points : 13 553
    Points
    13 553
    Par défaut
    Première question bête: Est-il déjà installé ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ whereis bash
    bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
    $ which bash
    /bin/bash
    $
    Deuxième question: quel est ton système d'installation des logiciels ? Bizarre que tu n'aies pas "pkg_add"

  3. #23
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par hipokamp Voir le message
    Par contre j'ai un problème de commande pour télécharger le bash ?
    Ok, pkg_add n'est pas installé. Pas de problème, tu peux utiliser la nouvelle méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pkg install bash
    echo /bin/bash >> /etc/shells
    chsh -s /bin/bash hipokamp

  4. #24
    Membre du Club Avatar de hipokamp
    Homme Profil pro
    Webdesigner
    Inscrit en
    Décembre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Décembre 2015
    Messages : 143
    Points : 67
    Points
    67
    Par défaut
    Donc voilà, des captures mieux que des mots :

    D'abord je suis l'indication de Flodelarab :

    Nom : 1.PNG
Affichages : 159
Taille : 21,2 Ko


    Ensuite j'installe bash selon jlliagre et ça marche avec un message final :

    Nom : dsfsdf.PNG
Affichages : 177
Taille : 16,0 Ko
    donc j’exécute la commande " mount -t fdescfs fdesc /dev/fd "
    et
    avec ee j'écris la ligne dite dans le fichier /etc/fstab.


    Et ensuite je cherche bash, je le trouve et j'adapte mais y'a un problème je crois :

    Nom : 2.PNG
Affichages : 156
Taille : 22,9 Ko

    ?

  5. #25
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Quel problème ? "echo $0" affiche le nom du programme exécuté, qui est bien "su" ici.

    Essaie plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    su - hipokamp
    echo $SHELL

  6. #26
    Membre du Club Avatar de hipokamp
    Homme Profil pro
    Webdesigner
    Inscrit en
    Décembre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Décembre 2015
    Messages : 143
    Points : 67
    Points
    67
    Par défaut
    Ah bon !
    En voyant su je pensais à " switch user " .
    Je comprenais pas.

    Alors je vais voir ça "echo $SHELL".

  7. #27
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    switch user est un nom qui corresponds bien à ce que fait la commande su, même si à l'origine, elle ne permettait que de passer root (d'où su = super-user).

    Ce qui est important, c'est le l'option - (su - username), qui change le comportement de su en effectuant un login complet.

  8. #28
    Membre du Club Avatar de hipokamp
    Homme Profil pro
    Webdesigner
    Inscrit en
    Décembre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Décembre 2015
    Messages : 143
    Points : 67
    Points
    67
    Par défaut
    D'accord, donc la nouvelle présentation de l'invite en bash ( posix ) ce présente entre crochets et le $ remplace le % de csh, comme ceci ?
    [hipokamp@FREEBSD /bin]$

    Par contre quand je boot hipokamp pour faire un echo $0 qui répond -bash, et
    qu'ensuite je switch root pour revenir hipokamp
    là, l'echo $0 ne répond plus -bash mais su à la place.

    Nom : fffffffff.PNG
Affichages : 165
Taille : 18,9 Ko


    C'est normal ? c'est ce su là qui m'intrigue...


    Ps: Alors que echo $SHELL lui reste invariable, avec usr/local/bin/bash.

  9. #29
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Attention, il faut mettre le chemin complet et correct vers le shell souhaité avec la commande chsh, "chsh -s bash root" rends ton système inutilisable.

    "chsh" ne doit être exécuté qu'une fois, il change de manière persistante le shell d'un compte utilisateur.

    Dans les commandes que tu exécutes, je ne vois pas de "su - xxx".

  10. #30
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 276
    Points : 13 553
    Points
    13 553
    Par défaut
    su est une commande pour laquelle un utilisateur se fait passer pour un autre utilisateur.

    Il est tout a fait normal que "echo $0" renvoie "su" car c'est le programme qui est en train d'être exécuté.
    De même que par défaut, ton interpréteur de commande (bash ou csh) est celui qui attend une commande.

    Si tu écris un script qui affiche $0, il affichera le nom de ton script. Ni su, ni bash, ni csh.

    On a parfois des internautes qui ne comprennent pas pourquoi leurs script bloque alors qu'il font un "su". Ils n'ont pas compris que la commande s'exécute jusqu'à ce qu'on sorte de cette commande "su". Et comme dans un script, s'ils ne l'ont pas prévu, la commande su ne finit jamais, le script ne reprend jamais la main.

    Comme tu es dans une console qui s'est ouverte avec csh, je ne vois pas de raison que l'interpréteur change. donc $SHELL reste "csh".

    PS: Préfère copier/coller le texte dans une balise "code" plutôt que faire des images.

  11. #31
    Membre du Club Avatar de hipokamp
    Homme Profil pro
    Webdesigner
    Inscrit en
    Décembre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Décembre 2015
    Messages : 143
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    Attention, il faut mettre le chemin complet et correct vers le shell souhaité avec la commande chsh, "chsh -s bash root" rends ton système inutilisable.

    "chsh" ne doit être exécuté qu'une fois, il change de manière persistante le shell d'un compte utilisateur.... ".
    Aie ! et je n'ai pas moyen de rattraper ça ?
    Pourtant j'ai l'installé Xorg derrière sans problème apparent ?

    Voilà je switch entre root et hipokamp et encore root et soudain des su apparaissent :

    Nom : aaaaa.PNG
Affichages : 164
Taille : 10,6 Ko


    Ps: je ne sais pas copier le texte shell dans mon presse papier pour le coller dans des balises code ?

  12. #32
    Membre du Club Avatar de hipokamp
    Homme Profil pro
    Webdesigner
    Inscrit en
    Décembre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Décembre 2015
    Messages : 143
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    "chsh" ne doit être exécuté qu'une fois, il change de manière persistante le shell d'un compte utilisateur.
    C'est pour ça que je l'avais fait d'abord d'une manière générale avec -s /usr/local/bin/bash
    puis pour le root avec -s /usr/local/bin/bash root
    et pour hipokamp avec -s /usr/local/bin/bash hipokamp

    Je pensais qu'au pire c'était pas grave.

    Mais alors sur quel compte appliqué la commande pour que bash soit effectif sur tous les comptes en même temps ?

  13. #33
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par hipokamp Voir le message
    C'est pour ça que je l'avais fait d'abord d'une manière générale avec -s /usr/local/bin/bash
    puis pour le root avec -s /usr/local/bin/bash root
    et pour hipokamp avec -s /usr/local/bin/bash hipokamp

    Je pensais qu'au pire c'était pas grave.
    Comme je l'ai déjà écrit, ma remarque ne concerne les commandes où tu met un chemin incomplet (chsh bash) au lieu de (chsh /usr/local/bin/bash), cependant, il est possible que le chsh de freebsd soit tolérant et corrige de lui même, mais je n'en mettrait pas ma main au feu. Comme tu as corrigé le coup après en mettant le bon chemin, tu n'a pas cassé ton système.

    Mais alors sur quel compte appliqué la commande pour que bash soit effectif sur tous les comptes en même temps ?
    Il n'y a pas de commande pour ça, c'est un choix individuel. Il y a des comptes dont le shell est explicitement invalide et une commande globale devrait les gérer, c'est bien compliqué pour pas grand chose.

    PS : on t'a déjà demandé de ne pas poster des copies d'écran graphiques mais plutôt un copier/coller des lignes de commandes et de leur résultat avec des balises code, essayer d'y penser la prochaine fois.

  14. #34
    Membre du Club Avatar de hipokamp
    Homme Profil pro
    Webdesigner
    Inscrit en
    Décembre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Décembre 2015
    Messages : 143
    Points : 67
    Points
    67
    Par défaut
    PS : on t'a déjà demandé de ne pas poster des copies d'écran graphiques mais plutôt un copier/coller des lignes de commandes et de leur résultat avec des balises code, essayer d'y penser la prochaine fois.
    Oui j'ai bien vu ( et demandé ) quel raccourci pour copier depuis ma console dans le presse-papier ?

    Comme tu as corrigé le coup après en mettant le bon chemin, tu n'a pas cassé ton système.
    Et comment savoir quand le système est cassé, plus rien ne fonctionne ?

  15. #35
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 276
    Points : 13 553
    Points
    13 553
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    Il n'y a pas de commande pour ça, c'est un choix individuel.
    Je nourris quelques doutes.
    Le shell de chaque utilisateur vient du fichier /etc/passwd. Cette information a été donnée lors de la création du compte et doit bien venir de quelque part. Il y a donc bien un shell par défaut. Question: Comment changer ce shell par défaut à la création de compte ?



    Après une courte recherche, j'ai trouvé une solution. Voici un copier/coller sauvage d'une méthode pour passer de bash à zsh:
    2.4. Shell par défaut pour les nouveaux utilisateurs

    Pour changer le shell par défaut pour les nouveaux utilisateurs, il faut modifier le fichier de configuration de la commande adduser qui sert à ajouter un utilisateur au système. En root, éditez le fichier /etc/adduser.conf avec vim :


    # vim /etc/adduser.conf

    Changez la ligne :

    DSHELL=/bin/bash

    par la ligne :

    DSHELL=/bin/zsh

    Enregistrez et quittez. Comme ça, quand le root rajoutera un nouvel utilisateur avec la commande :


    # adduser toto

    ce nouvel utilisateur aura un shell zsh bien configuré.

  16. #36
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Je nourris quelques doutes.
    Oui, c'est surtout qu'on n'a pas compris la question de la même manière.

    Tous les utilisateurs en même temps, ça veut dire pour moi tous les utilisateurs existants. Pour les utilisateurs futurs, il y a bien sûr un shell par défaut que l'on peut modifier à l'aide du fichier adduser.conf.

    Attention à la syntaxe que tu donnes qui est celle de Linux, sous FreeBSD, ce serait plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    defaultshell=/usr/local/bin/bash
    Pareil pour vim, qui est le vi de Linux, sous FreeBSD, c'est le "vrai" vi qui est installé en standard, celui de Bill Joy, et il s'appelle simplement vi.

  17. #37
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 276
    Points : 13 553
    Points
    13 553
    Par défaut
    Tous les utilisateurs en même temps, ça veut dire pour moi tous les utilisateurs existants.
    [mode="crado"]
    Oserais-je proposer un script sed ou awk qui modifie toutes les fins de lignes du fichier /etc/passwd ?
    [/mode]

  18. #38
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    C'est très risqué.

    Il faut être très prudent en changeant le shell de root car si le package contenant le shell alternatif est supprimé sans y faire attention, root aura du mal à se loguer.

    Il faut éviter de modifier les comptes techniques, surtout s'ils ont un shell du style /bin/false ou /sbin/nologin

    Si tu modifie le shell d'un compte utilisateur sans son accord, il risque de ne pas apprécier, surtout s'il a un .cshrc qui définit son environnement et qui ne sera plus pris en compte.

    Ceci-dit, il ne doit y avoir qu'un "vrai" compte utilisateur plus celui de root sur la machine d'hypocamp, ce qui simplifie le problème.

  19. #39
    Membre du Club Avatar de hipokamp
    Homme Profil pro
    Webdesigner
    Inscrit en
    Décembre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Décembre 2015
    Messages : 143
    Points : 67
    Points
    67
    Par défaut
    Juste pour comprendre ( voir ma dernière capture écran, et oui désolé j'en ferais plus c'est promis )

    Pourquoi alors que root qui répond -bash à echo $0 dans un 1er temps.
    Me répond dans un 2ème temps -su à echo $0, après un switch root > hipokamp> root.

    Quelle différence entre -bash et su dans ce cas, alors que ma requête echo $0 reste identique ?

  20. #40
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    $0 est une variable qui affiche le nom de la commande ayant été lancée pour produire le shell courant. Ce n'est pas étonnant qu'il lui arrive de changer de valeur.

    La première fois que tu l'affiches, elle montre que le programme exécuté est bash, le tiret en préfixe indique que c'est un shell interactif.

    La deuxième fois, c'est la commande su qui a été exécutée et qui est affichée.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. etre un super utilisateur sur Linux
    Par thouraya24 dans le forum Linux
    Réponses: 12
    Dernier message: 26/10/2009, 12h04
  2. Comment passer un CString sur un pipe ?
    Par masterx_goldman dans le forum Windows
    Réponses: 2
    Dernier message: 16/09/2009, 21h22
  3. Comment passer une map sur un named pipe windows ?
    Par masterx_goldman dans le forum Windows
    Réponses: 10
    Dernier message: 16/09/2009, 20h04
  4. comment creer nouveaux utilisateur sur oracle
    Par nerser dans le forum Oracle
    Réponses: 1
    Dernier message: 04/07/2007, 18h12
  5. Réponses: 15
    Dernier message: 25/06/2007, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo