119 votes

Le répertoire d'accueil n'est pas créé

J'essaie de comprendre l'administration du système sur Ubuntu. Donc, à titre d'exemple, je crée un utilisateur fictif en utilisant

sudo useradd -d /home/linda linda

y passwd pour créer le mot de passe. Je vérifie qu'une entrée a été faite en utilisant cat /etc/passwd

linda:x:1004:1004::/home/linda:/bin/sh

Cependant, quand je su - linda j'obtiens

No directory, logging in with HOME=/

et en effet, aucun répertoire personnel n'a été créé. Qu'est-ce que je rate ?

Merci.

128voto

gniourf_gniourf Points 5285

man useradd États :

useradd is a low level utility for adding users. On Debian,
administrators should usually use adduser(8) instead.

Notez le utilité à bas niveau

Pour ajouter un utilisateur, utilisez adduser à la place. C'est un utilitaire de plus haut niveau.


De plus, en regardant le -d option :

   -d, --home HOME_DIR
       The new user will be created using HOME_DIR as the value for the
       user's login directory. The default is to append the LOGIN name to
       BASE_DIR and use that as the login directory name. The directory
       HOME_DIR does not have to exist but will not be created if it is
       missing.

Le répertoire ne sera pas créé s'il est absent.

En général, ne vous approchez pas de useradd utiliser adduser ではなく

45voto

OmPS Points 669

Vous pouvez résoudre ce problème en créant simplement le répertoire d'origine.

mkdir /home/linda
chown linda:linda /home/linda

Essayez de vous reconnecter et cela devrait fonctionner.

23voto

Radu Rădeanu Points 156862

Selon man useradd , -d /home/linda ne créera pas le répertoire /home/linda si elle est manquante. Vous devez donc le créer manuellement. Pour ce faire, exécutez les commandes suivantes dans le terminal :

sudo -i                            #to get root privileges
mkdir /home/linda                  #to create the directory /home/linda
cp -rT /etc/skel /home/linda         #to populate /home/linda with default files and folders
chown -R linda:linda /home/linda   #to change the owner of /home/linda to user linda

Voir aussi : Comment créer le dossier personnel de l'utilisateur après la création du compte ?

12voto

beanhead Points 121

Regardez /etc/defaults/useradd si vous souhaitez modifier les valeurs par défaut. Utilisez :

useradd -m -d /home/joe -s /bin/bash .

8voto

p1100i Points 181

Utilisez -m 代わりに -d Le répertoire sera donc créé pour vous :

sudo useradd -m linda

En outre, si linda est un utilisateur normal, vous pourriez vouloir qu'elle utilise /bin/bash par défaut shell :

sudo useradd -m linda -s /bin/bash

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X