L'administrateur a donné à votre shell une valeur interdite!

Résolu/Fermé
Boby_Craft Messages postés 15 Statut Membre -  
_Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, depuis une semaine je m'intéresse au Terminal de Mac OSX et quand j'essaye de l'ouvrir sa me dit "Peut pas ouvrir cette application car l'administrateur (MOI) a donné a votre shell une valeur interdite.

J'ai essayé de réparer les permission
Je suis allé dans Préférences Système pour donner a mon Shell d'accès qui avant était /bin/false mais maintenant il /bin/bash

En plus je n'ai pas de shell~orig et le contenu de mon shell est bon SVP AIDEZ-MOI!!!!!!!

6 réponses

  1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
     
    Salut,

    "mon école on bloqué tous ce qui est shell et ils on mit un bin/false ":
    Même si cette phrase n'est pas française, j'ai saisi l'information clé de cette phrase et tu aurais dû en parler de cela dès le début !

    Ce qui te bloque aujourd'hui n'est donc pas arrivé par accident ou méconnaissance du Terminal et du shell: ce n'est qu'une conséquence de la mise en place de la politique de sécurité informatique voulue par ton école.

    Alors, nous allons arrêter là nos tentatives pour remettre le shell en place car je ne veux pas être la source d'une violation du règlement interne à ton école, règlement que tu as du lire et signer en guise d'acceptation.

    Ritchi
    2
  2. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
     
    Bonjour,

    Tu as joué à l'apprenti magicien et tu as cassé ton jouet.
    Voici alors une solution pour t'en sortir:
    - ouvre le dossier "Petite Maison -> Bibliothèque -> Preferences"
    - mets à la corbeille le fichier "com.apple.Terminal.plist"
    - redémarre Terminal

    D'autre part sache qu'un shell "/bin/false" n'a jamais existé. Voici les différents types de shell:
    - sh (Bourne shell)
    - bash (Bourne Again Shell)
    - csh (C Shell)
    - tcsh (Tenex C shell, version moderne du csh
    - ksh (Korn shell)
    - zsh

    Et enfin voici de quoi augmenter ta culture shell:
    Site du Zéro: Introduction aux scripts shell

    Ritchi
    0
  3. Boby_Craft Messages postés 15 Statut Membre
     
    Le truc c'est que j'ai tout fait ca et comment on redémarre le terminal?
    0
    1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
       
      quitte l'appli et relance là
      0
    2. Boby_Craft Messages postés 15 Statut Membre
       
      Je l'ai fait et toujours rien sa dit toujours la meme chose
      0
    3. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
       
      Crée un autre compte et vérifie le fonctionnement du Terminal.
      Si il marche correctement, alors c'es une histoire de préférences qui est à l'origine de ton problème.
      Comme tu as modifié le shell dans les préférences du Terminal, c'est forcément le fichier com.apple.Terminal.plist qui a mémorisé cela.
      D'ailleurs, si tu ouvres ce fichier (clic-droit puis ouvrir avec "Property List Editor"), tu trouveras le champ "shell": quelle valeur contient-il ?
      0
    4. Boby_Craft Messages postés 15 Statut Membre
       
      ok mais je l'ai supprimé alors comment je fait pour le remettre le com.apple.Terminal.plist
      0
    5. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
       
      Bonjour,

      Il ne faut pas remettre un fichier .plist dont on doute de son contenu à sa place: au lancement de l'application, si ce fichier n'existe pas, alors l'application le recrée avec les valeurs par défaut (celles qui marchent).

      Maintenant, je ne sais pas si tu as remarqué, mais tu n'as pas répondu à ma question et tu ne m'as rien dit sur les manipulations demandées...
      donc:
      Est-ce que le Terminal marche dans une autre sessions utilisateur (test demandé précédemment) ?
      Dans ton compte normal, ouvre le fichier com.apple.Terminal.plist: quelle valeur contient le champ "shell" ?

      Ritchi
      0
  4. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
     
    Bonsoir,

    Avec Snow Leopard, il l'était.
    Avec Lion, cela a changé (désolé je n'étais pas au courant de cela) et voici comment l'installer avec Lion.

    Sinon ouvre le fichier /etc/shells.
    Il doit contenir la liste des shells autorisés:
    # List of acceptable shells for chpass(1).
    # Ftpd will not allow users to connect who are not using
    # one of these shells.
    
    /bin/bash
    /bin/csh
    /bin/ksh
    /bin/sh
    /bin/tcsh
    /bin/zsh


    Si ce fichier n'existe pas ou est vide ou ... alors cela produit le problème que tu décris.
    Suggestion: créer (si il n'existe pas) remplir (si il est vide) ou vérifier (si il existe) ce fichier.
    Manipulation:
    Depuis le Finder: menu "Aller -> Aller au dossier"
    Une fenêtre s'ouvre: taper /private
    Le dossier /private s'ouvre.
    Clique sur le bouton bleu "Lire les infos"
    Tout en bas de la fenêtre "Infos sur private" déverrouille le cadenas
    Modifie les autorisations pour mettre "wheel" et "everyone" en 'lecture et écriture'
    Referme le cadenas
    Modifie de la même façon les autorisations pour le dossier etc dans /private
    Modifie de la même façon les autorisations pour le fichier shells dans /private/etc
    Maintenant modifie comme ci-dessus le contenu du fichier shells: ctrl-clic puis "Ouvrir avec..." choisir Textedit.
    Il se peut qu'à un moment on te signale que shells est verrouillé mais tu devrais avoir un bouton pour le déverrouiller.

    Relance le Terminal: il devrait marcher.

    Recommence maintenant la manip pour remettre les autorisations à leurs valeurs initiales, à savoir mettre "wheel" et "everyone" à 'lecture' pour les dossiers /private et /private/etc et pour le fichier /private/etc/shells

    Ritchi
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Boby_Craft Messages postés 15 Statut Membre
     
    Ok je vais essayer mais le truc de dévérouiller le cadenas et tout j'ai déjà essayé mais les autre trucs je vais essayer.

    Boby.
    0
    1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
       
      Applique la recette comme indiquée
      Le but de cette recette est de te donner les droits pour modifier le fichier /private/etc/shells
      Pour cela il faut changer les droits sur toute l'arborescence (heureusement qu'il n'y a que deux niveaux)
      Une fois ces droits acquis, tu peux modifier/créer le fichiers shells afin qu'il contienne ce que je t'ai indiqué à savoir ceci:
      # List of acceptable shells for chpass(1).
      # Ftpd will not allow users to connect who are not using
      # one of these shells.
      
      /bin/bash
      /bin/csh
      /bin/ksh
      /bin/sh
      /bin/tcsh
      /bin/zsh


      Une fois que c'est fait, relance le Terminal et remet les droits sur lecture en commençant par shells puis etc puis private
      0
    2. Boby_Craft Messages postés 15 Statut Membre
       
      Dans mon mon fichier shell il y a déjà tout ce que tu a écrit et sa marche toujours pas

      SVP AIDEZ MOI!!!
      0
    3. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
       
      Le fichier à vérifier s'appelle shells et non pas shell.
      0
    4. Boby_Craft Messages postés 15 Statut Membre
       
      je sais jai juste fait une faute
      0
    5. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 136
       
      ok alors je n'ai plus d'autre idée à te proposer... mis à part une réinstallation complète de ton Mac, mais c'est peut-être utiliser un canon pour tuer une mouche.
      0
  7. Boby_Craft Messages postés 15 Statut Membre
     
    La mise a jour je ne pense pas la faire pcq je me ferai tapper sur les doigts et j'ai démarré en cmd+r et j'ai réparer les permissions mais sa ne marche toujours pas j'ai toujours la meme erreur et le truc c'est que mon école on bloqué tous ce qui est shell et ils on mit un bin/false (C'EST BIZARRE) mais le truc c'est que je peux utiliser iTerm2 mais j'aimerais avoir le terminal de mac SVP AIDEZ MOI
    0