Journal Aide mémoire : Truc à pas faire n°42

Posté par  .
Étiquettes : aucune
0
25
sept.
2007
Changer le nom de login de l'utilisateur principal sous Ubuntu

foo@localhost:~$ sudo vi /etc/passwd
Password:
Remplacer "foo" par "bar"

foo@localhost:~$ sudo /etc/shadow
Password:
Sorry, try again.

WTF... Ouuups !
Et évidement, pas d'accès root en dehors de sudo :-/
  • # solution

    Posté par  . Évalué à 7.

    sudo sudo su
    et te voilà root
    • [^] # Re: solution

      Posté par  . Évalué à 1.

      oui, oui encore
      $ sudo bash
      ou
      $ sudo -s
    • [^] # Re: solution

      Posté par  . Évalué à 6.

      Heu dans le cas cité ce n'est pas sudo qui marche plus justement ?
    • [^] # Re: solution

      Posté par  . Évalué à 3.

      moi j'ai compris la blague et j'ai plussé d'un bon rire :D
      • [^] # Re: solution

        Posté par  . Évalué à -1.

        J'ai fait a peu près la même connerie avec une Ubuntu Dapper sur un vmware server. J'ai toujours pas trouvé le moyen de booter en single, et j'arrive pas non plus à déclencher le boot par l'image du CD.
  • # forum

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

    • [^] # Re: forum

      Posté par  . Évalué à 10.

      Oula, javais pas du tout pensé que mon journal puisse être pris pour un appel a l'aide !

      Vosu inquiétez pas, j'ai bien su me débrouiller tout seul pour réparer ma connerie... c'est pas la première (depuis 1999) et ça sera certainement pas la dernière... C'était juste pour vous faire partager un grand moment de solitude face à ma bourde de tout à l'heure..
      • [^] # Re: forum

        Posté par  . Évalué à 10.

        Dans le genre ça me rappel une fois avec un collegue on bidouillait la
        config iptables d'une machine en ssh, on se dit que c'est bon, on efface
        les règles pour charger les nouvelles, argh plus de connexion... et... et la
        machine est a LONDRES !!!
        • [^] # Re: forum

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

          cela s'appelle "se tirer une balle dans le pied" dans le milieu :)

          le truc pour "tester" un pare feu :

          # screen -R
          # ./iptables_on.sh ; sleep 60 ; ./iptables_off.sh

          et iptables_off.sh contient un truc du genre
          iptables -F
          iptables -P ACCEPT

          (de tête)

          comme cela vous avez 1 minute pour voir si le script ne vous tire pas une balle dans le pied :)
          • [^] # Re: forum

            Posté par  . Évalué à 1.

            ouais mais on avait gagné un surnom; on nous appelait:

            Vla les gruïk admin système :)
        • [^] # Re: forum

          Posté par  . Évalué à 3.

          J'en ai fait une dans le genre hier, en voulant stopper inetd... sans taper sur le "i" en question...

          sudo /etc/init.d/net TAB stop..... forcement ca a fait /etc/init.d/networking..
  • # Mais si y a toujours moyen

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

    Si t'as une config de base suffit de mettre init=/bin/bash au grub, c'est vite fait.
    Sinon bon faudra peut être penser à démonter le dur.
    • [^] # Re: Mais si y a toujours moyen

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

      Sinon bon faudra peut être penser à démonter le dur.


      Avant de tenter de modifier les fichiers en promenant un aimant à la surface du disque :-) il est toujours possible de booter sur un LiveCD, une clé USB, une carte SD puis de monter le disque local.
    • [^] # Re: Mais si y a toujours moyen

      Posté par  . Évalué à 3.

      Le coup du init= marche vraiment bien.
      Faut juste penser à remonter / en écriture, sinon passwd donne une erreur bizarre :
      mount -o remount,rw /
  • # Commentaire supprimé

    Posté par  . Évalué à 3.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: single

      Posté par  . Évalué à 6.

      tu ajoute "signel" à la cmdline du noyau

      Pour ceux qui auraient du mal à remettre les lettres dans le bon ordre bien que ce soit le titre du commentaire, il faut lire single
      • [^] # Commentaire supprimé

        Posté par  . Évalué à 2.

        Ce commentaire a été supprimé par l’équipe de modération.

  • # et le n°43 c'est

    Posté par  . Évalué à -10.

    ne pas prendre la rubrique journaux de linuxfr pour un forum ubuntu.

    pour que tu ne perdes pas trop de temps, voici ce que tu dois pouvoir faire : il me semble que avec ubuntu (ou peut-être debian) chaque entrée dans grub pour un noyau est doublée d'une entrée init 1 juste en dessous, appellée peut-être "safe-mode" ou que sais-je. Démarre sur ce mode et tu trouveras un accés root. À partir de là, tu peux modifier ton /etc/passwd, ou ton /etc/group selon si tu veux finir le boulot ou revenir en arrière.
  • # Pareil

    Posté par  . Évalué à 4.

    Sous Ubuntu, j'ai fait le même genre de gaffe :
    $ sudo /etc/sudoers
    [... quelque modification du fichier plus tard ...]
    $ sudo /etc/passwd
    bash: /etc/sudoers is broken....

    heuu... Plus de compte root sur ma machine... Merde... (Et ouais, y'a pas de compte root par defaut sous buntu).
    Hop, petit redémarrage avec un livecd, quelque modif, et c'est reparti !!! Depuis, j'ai mis un vrai mot de passe au compte root, au cas où...
    • [^] # Re: Pareil

      Posté par  . Évalué à 7.

      on peut également utiliser une vraie distribution Linux qui a un vrai compte root dès le début de l'installation...

      Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

      • [^] # Re: Pareil

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

        Et faire un 'userdel root' pour tester. (remarque : le compte root existe sur une ubuntu, il se trouve qu'il n'a pas de mot de passe, donc il n'est pas possible de se connecter directement en tant que root)
    • [^] # Re: Pareil

      Posté par  . Évalué à 8.

      il faut utiliser visudo !
      Qui te laisse pas enregistrer si ton sudoers est broken =)
  • # visudo

    Posté par  . Évalué à 9.

    man visudo

    Evidemment, personne ne l'utilise (à commencer par moi).
    • [^] # Re: visudo

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

      Ainsi que vipw et vigr pour éditer passwd, group, shadow ou gshadow.
      • [^] # Re: visudo

        Posté par  . Évalué à 2.

        Ce qui m'amène à une question existentielle pour la vie de la moule trolleuse moyenne : est-ce qu'il existe des variantes emacssudo, emacspw, emacsgr ?


        {
        Door maPorte=new Door();
        maPorte.open();
        this.step_in(maPorte);
        maPorte.close();
        }
        • [^] # Re: visudo

          Posté par  . Évalué à 4.

          Si t'étais vraiment adepte d'emacs, ton message finirait par

          (close (step_in (open (door)))
        • [^] # Re: visudo

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

          $ cat /usr/bin/emacssudo
          #!/bin/bash
          EDITOR=emacs visudo
          $
          • [^] # Re: visudo

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

            Ou encore ajouter export EDITOR=emacs dans ~/.bashrc (ou ~/.XXXrc en fonction de son shell) pour un effet permanent.
  • # la mienne :

    Posté par  . Évalué à 2.

    en ssh (400 km)
    cd /usr/bin/
    rm * .old
    (oui oui, il n'y a un espace en trops .....)

    Solution :
    - prière pour que le lien ssh ne coupe pas
    - installer le même serveur dans un qemu
    - scp /usr/bin/* root@tropsbidonladmin:/usr/bin
    - patience ....
    • [^] # Re: la mienne :

      Posté par  . Évalué à 3.

      Hm, j'ai déjà fait ça dans mon home... heureusement qu'il n'y a pas grand chose d'important au niveau racine du home !

      De même il y a un coup à prendre avec les rm -rf : toujours écrire "rm *toto -rf" plutôt que "rm -rf *toto", puisque le second peut s'avérer désastreux en cas d'appui prématuré sur la touche entrée (ce qui arrive tout de même de temps en temps si on ne regarde pas son clavier quand on tape !).
      • [^] # Re: la mienne :

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

        $ rm *toto -rf
        No such file -rf


        Ben oui, ce n'est pas dans la norme les options après les noms de fichiers, donc ça ne marchera pas sur une machine avec un rm qui implémente exactement la norme... Et en plus, c'est quand même dangereux d'accepter des options à n'importe quel endroit de la ligne de commande, si je te crée des fichiers -fr un peu partout dans ton arborescence, tu vas prendre de gros risques en faisant des rm *...
        • [^] # Re: la mienne :

          Posté par  . Évalué à 2.

          Certes...
          En même temps, je parle de ce que je fais sur ma machine à moi avec mon shell qui accepte les options en fin de ligne (un shell carrément rare portant le nom de bash, si éventuellement quelqu'un en avait déjà entendu parler par ici... ), et avec mes fichiers à moi qui ne portent pas des noms ridicules comme "-rf" ou "*" ou que sais-je.

          Si un jour je veux écrire et distribuer un script portable partout, la problématique sera différente, je suis d'accord.

          C'est quand-même dingue comme on a tendance ici-bas à vouloir te dire ce qui est bien pour toi alors que tu as une solution ad hoc efficace... (et j'insiste bien sur le ad hoc !).
          • [^] # Re: la mienne :

            Posté par  . Évalué à 4.

            L'acceptation ou non des options en fin de ligne ne vient pas du shell, mais des outils à qui tu passes ces options.

            Si sur certains systèmes la commande rm (par exemple) n'accepte pas d'options après la liste des arguments, c'est le choix des développeurs de rm, pas de ceux de bash (ou autre shell, même combat).
            • [^] # Re: la mienne :

              Posté par  . Évalué à 3.

              Ouch, il me semblait que rm était une commande du shell, alors qu'il s'agit du programme /bin/rm.

              Cela dit, le rm de GNU est encore plus "rare" que le shell bash, bien entendu, donc cela ne change rien à mon argument !
              • [^] # Re: la mienne :

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

                oui, le rm de GNU est plus rare que bash : les BSD ont un autre rm.

                Et pour ce qui est de ton post précédent, tu ne disais pas qu'il s'agissait d'une solution ad-hoc mais "d'un coup à prendre : il faut toujours [écrire rm arguments options]", ce qui est 1) contraire à ce qu'indique la page de man, 2) possible sur ton système super rare (comment ça on est sur linuxfr ici) mais pas toujours possible.

                Mais où sont passés mes quarts de cheveux ?
                • [^] # Re: la mienne :

                  Posté par  . Évalué à 2.

                  Ah mais non, continuons la tétracapilotomie !
                  Nombre de linuxiens utilisent tcsh ou zsh, par exemple, et pourtant quasiment tous utilisent GNU rm ! De plus, effectivement, ici c'est gnoulinusquefr.org, pas BSDfr.org, et pas non plus OS-avec-un-rm-rigide-fr.org ! Non mais !
                  • [^] # Re: la mienne :

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

                    C'est grace a des gens comme nous (*BSD) que nombre de logiciels libres sont portables, hein.
                    Les scripts shells qui reposent sur la version 3.2.15-alpha-mdk de bash avec le GNU/rm-1.0.1.0.1.0-p3.rh-dev et qu'on trouve sur le net (ou dans des logiciels libres parfois celebres) sont assez nombreux pour qu'on rappelle a l'ordre les gens qui ecrivent du code de merde. Non mais !
                    • [^] # Re: la mienne :

                      Posté par  . Évalué à 3.

                      C'est grace a des gens comme nous (*BSD) que nombre de logiciels libres sont portables, hein.
                      C'est quoi ce (grand) n'importe quoi ?

                      En fait y'a un truc completement con où c'est très sympa : tu fout un fichier "-i" dans un répertoire que tu soit protéger (solution d'ultime recours certe, mais toujours intéressant).

                      Et si tu veux pas prendre en compte les options après les paramètres, il suffit de passer '--' avant de mettre ses paramètres

                      (par ex rm -r -f -- -i va supprimer le fichier -i).
                      On peut constater donc que les outils GNU laisse le choix :P
    • [^] # Re: la mienne :

      Posté par  . Évalué à 2.

      Je l'ai déjà fait le coup de l'espace en trop, c'est une pauvre Debian qui c'est fait supprimer :D

      Sinon le ">" qui vient ce glisser avant une commande c'est sympa aussi
      >./monscript.sh au lieu de ./monscript.sh
      Et hop un grep sur une partition de 77go pour retrouver le disparu.

Suivre le flux des commentaires

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