Problème de fonctionnement sur les utilisateurs créé manuellement

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.

3 J'aime

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.