sortir d'une erreur avec chsh

chsh est une commande assez basique, qui a pour but de changer le shell par défaut pour un utilisateur.

Je ne vais pas vous parler de chsh dans son comportement mais plutôt de ce que l'on peut faire quand on l'emploi mal...

j'ai lus sur le net, et j'ai discuté avec quelques personnes sur jabber, et je voulais tester et peut être remplacer bash par zsh.
je l'installe donc sur mon vieux laptop sous arch, sorte de plateforme de test, et effectivement, je trouve très attractives les possibilités de zsh.
Je l'installe donc en shell par défaut avec la commande :

chsh /bin/zsh

Jusque là, aucun soucis! c'est quand je vais sur mon serveur (heureusement accessible physiquement) pour mettre cette fonction en place que je dérape! Déjà, je fais la commande en root, alors que j'aurais dû la tester en user normal avant, ensuite je me plante sur la commande et je fais un :

chsh -s 'which zsh'
au lieu d'un :
chsh -s `which zsh`

Vous imaginez bien le résultat: un beau :

root:wich zsh
dans mon fichier /etc/passwd qui me donne un tout aussi beau
Couldn't find shell "which zsh"
quand je me log en root. Et alors là, vu que je n'ai pas installé sudo, je n'ai que la solution de démarrer sur un live CD.

J'ai donc sortie ma clé UBUNTU netbook Remix Edition, je démarre dessus, il me trouve une erreur au démarrage: un problème de driver ©Ubuntu, bref... Je passe en console, j'install openssh-server, je change le mot de passe pour l'utilisateur ubuntu (enfin, je le créer) et je me connecte avec kitty depuis un poste qui ne se trouve pas sous un placard avec un écran planqué dans un coin et un clavier assez peu accessible...

De là, je fais un :

sudo mkdir /mnt/disk && sudo mount /dev/sda2 /mnt/disk 
qui échoue lamentablement, vu que ma partition /dev/sda2 est chiffrée avec LUCKS et LVM.
LUCKS étant installé, j'install lvm2:
sudo apt-get install lvm2
sudo modprobe dm-mod
avec des erreurs de paramétrage vu que je suis sur une live-USB mais qui marche quand même.

Je déchiffre donc ma partition :

sudo cryptsetup luksOpen /dev/sda2 test
puis je tente un :
sudo mount /dev/mapper/test /mnt/disk
qui m'envoie un beau :
système de fichier "LVM_Member" inconnu
et du coup, j'envoie les commandes pour monter mes partitions virtuelles; enfin, au moins la partition root.

sudo vgscan
pour récupérer le nom du volume,
sudo vgchange -ay VolGroup00
pour l'activer,
sudo lvs
pour le scanner,
sudo mount /dev/VolGroup00/root /mnt/disk
pour, enfin, le monter!

Après ça, un petit :

sudo nano /mnt/disk/etc/passwd
, on démonte le disque, on reboot, et ça roule!

J'ai pû ensuite lancer tranquillement mon :

scp geek85@geek85-laptop:~/.zshrc . && source .zshrc
en root!





ressources:
http://www.linux-sxs.org/storage/fedora2ubuntu.html
http://doc.ubuntu-fr.org/cryptsetup