Sabcat

Le danger d'utiliser SU (ou SUDO) en ligne de commandes.

Si comme moi vous êtes un gros barbu qui ne connait pas Synaptic, que la console est votre amie... faisez gaffe.

L'autre jour, je faisais les mises à jour hébdomadaires de ma Debian, tranquille. J'ouvre URxvt, mon terminal préféré, je me loggue en root avec "su" (non, je n'utilise pas sudo), comme d'hab. Je tape ensuite mon mot de passe dans la foulée... rien ne se passe. C'est ballot.
Qu'est-ce que j'ai encore fait comme connerie ? Ben, j'étais en majuscules. La commande n'a évidement pas été reconnue et mon mot de passe est apparu en clair à l'écran, du genre:

sabcat@debian: SU -
bash: SU : commande introuvable
sabcat@debian: m0nSupErmoTdePasseEnClaIr

Pas cool. Si quelqu'un passe derrière vous et jette un coup d'oeil par dessus votre épaule, il peut y avoir un soucis de sécurité. Bon, en l'occurence c'était ma femme, donc, aucun danger (elle ne sait pas ce qu'est une console et pour elle, un ordinateur est aussi répulsif qu'un fer à repasser.)
Mais, pourquoi donc puisque d'habitude mon shell me demande de corriger en cas de fautes de frappe ? Hé ben c'est parce-que j'ai pas le bon shell. Normalement j'utilise Zsh, sauf que pour les besoin particulier d'un script, j'ai du repasser sur Bash et je n'ai pas rechangé ensuite. Donc, on utilise la commande chsh et on corrige ça. Une fois sous Zsh, tout est rentré dans l'ordre. La correction syntaxique fait bien son boulot, contrairement à Bash, qui n'a pour seul avantage d'être installé par défaut sur toutes les distros Linux. Si, pour diverses raisons vous devez utiliser Bash (ou si vous voulez le garder comme un gros boulet), vous pouvez placer un alias dans votre .bashrc:

alias SU='su'
alias SUDO='sudo'

Ca peut vous peut-être vous éviter quelques aventures. Voilou :)