Bonjour,
J’ai installé « Debian » avec 1 user + root.
puis
j’ai créé 2 utilisateurs par script :
useradd -m -p user2 user2
useradd -m -p user3 user3
Si je me connecte avec user1 ou root : pas de problème.
Mais pour user2 et user3 :
- La touche [TAB] : Ne réalise pas l’autocomplétion
- La touche [flèche du haut] : n’affiche pas les anciennes commandes
- [ctrl]-r, [ctrl]-… : fonctionne
Pouvez-vous m’indiquer l’erreur faite ?
Pouvez-vous m’aider à corriger ?
L’interpréteur de commande (shell) défini pour ces deux utilisateurs n’est probablement pas /bin/bash mais /bin/dash ou /bin/sh (qui pointe vers dash par défaut).
On peut vérifier le shell par défaut appliqué par useradd dans le fichier /etc/default/useradd ou avec la commande
useradd -D
On peut modifier le shell par défaut appliqué par useradd avec la commande
useradd -D -s /bin/bash
Mais ce n’est pas forcément une bonne idée, ça risque de changer le shell des utilisateurs système qui devraient avoir sh/dash au lieu de bash. Il vaudrait mieux spécifier le shell lors de la création des utilisateurs avec l’option -s. En fait il vaudrait mieux carrément créer les nouveaux utilisateurs avec adduser.
Pour modifier le shell de ces utilisateurs, on peut utiliser la commande usermod avec l’option -s ou la commande chsh.
Consulter les pages de manuel de ces commandes pour les détails.
Merci beaucoup, c’était si simple.
On a apprends tous les jours.
Bêtement, je pensait que bash était le shell par défaut.
Debian a remplacé bash par dash comme shell par défaut (/bin/sh) depuis un certain nombre de versions. En effet dash est plus adapté que bash comme shell non interactif (pour l’exécution des scripts), plus léger et moins susceptible d’avoir des failles de sécurité. bash reste le shell interactif par défaut des utilisateurs normaux créés avec adduser.