J'utilise 12.04 sur mon serveur.
J'ai créé un nouvel utilisateur à l'aide de adduser me
et passwd me
et je l'ai ajouté à Sudo.
Quand je me connecte, c'est ce que je vois.
Could not chdir to home directory /home/me: No such file or directory
$
Je tape bash
et ça commence à avoir l'air "normal"
$ bash
me@server:/$
Comment puis-je éviter de saisir bash
chaque fois que je me connecte?
adduser
est trop basique et ne définit pas les valeurs par défaut correctement. Il est recommandé d'utiliser useradd
chaque fois que cela est possible. Vous pouvez supprimer le nouvel utilisateur et le recréer avec useradd -D me
ou le réparer vous-même:
Sudo mkdir /home/me
Sudo usermod --Shell /bin/bash --home /home/me me
Sudo chown -R me:me /home/me
cp /etc/skel/.* /home/me/
Si vous aviez utilisé getent passwd me
comme suggéré par Florian, vous devriez avoir vu quelque chose comme ceci:
Sudo getent passwd me
boggus:x:1002:1002::/home/me:/bin/sh
Et ls /home
n'aurait pas montré le répertoire de l'utilisateur comme erreur:
Could not chdir to home directory /home/me: No such file or directory
Vous pouvez définir le répertoire de base de l'utilisateur avec la commande usermod -d _homedir_ username
.
Par exemple:
usermod -d / sudouser
définit le répertoire racine de sudouser
dans le répertoire racine.
Cependant, le répertoire racine n’est pas un bon choix ici, surtout si vous vous connectez avec l’utilisateur à un shell interactif. Les shells peuvent créer leurs propres fichiers lorsque vous vous connectez et tout fichier supplémentaire au niveau racine n’est pas une bonne chose.