J'essaie de créer un nouvel utilisateur dans Ubuntu 14.04 LTS à partir de la ligne de commande bash. J'utilise les commandes suivantes:
sudo useradd -c "Samwise the Brave" sam
sudo passwd sam
Enter new UNIX password: hello-1234
Retype new UNIX password: hello-1234
passwd: password updated successfully
Après avoir créé ce nouvel utilisateur, j'ai rencontré 3 problèmes:
Je ne peux pas me connecter à Ubuntu en utilisant l'utilisateur sam. Chaque fois que je me connecte, je suis renvoyé à l'écran de connexion.
Quand je regarde dans le
/etc/passwd
fichier, je peux voir qu'il n'y a pas de shell par défaut défini pour l'utilisateur sam:cat /etc/passwd | grep sam sam:x:1003:1003:Samwise the Brave:/home/sam:
Le dossier personnel de Sam n'a pas été créé, c'est
/home/sam
-à- dire qu'il n'existe pas.
Des indices sur ce qui pourrait causer tous ces problèmes?
Je dois noter ici que lorsque je crée un utilisateur à l'aide du Unity Control Center, ces problèmes ne se produisent pas. Mais j'aimerais pouvoir utiliser la ligne de commande car j'ai des dizaines d'utilisateurs à créer.
la source
Créer un utilisateur
Créer le répertoire personnel de l'utilisateur
Définir le shell de connexion
Supprimer l'utilisateur
Répertoire personnel de Deleter
la source
Bien que vous manquiez d'indicateurs et que les autres réponses ne soient pas nécessairement fausses, envisagez d'exécuter adduser si vous souhaitez qu'il soit plus complet à l'avenir. C'est une version plus jolie de useradd. À savoir, cela fera un répertoire personnel par défaut contrairement à useradd. Notez également quand il demande une tonne de choses, il stocke cela en ligne dans le fichier / etc / passwd et vous n'avez pas à en remplir.
la source
Merci tout le monde. Avec vos réponses, j'ai pu résoudre le problème en utilisant les lignes de commande suivantes.
Le mot de passe est défini avec
passwd
donc il est déjà crypté (sinon "hello-1234" n'apparaîtrait pas crypté dans / etc / passwd).la source
Il manque des indicateurs dans la commande useradd. '-m' pour créer le répertoire utilisateur, '-s / bin / bash' pour ajouter le shell bash. La valeur par défaut est de ne pas créer de répertoire utilisateur et d'attribuer le shell par défaut. Mon système a fait la même chose lorsque je l'ai testé, il semble donc que Ubuntu 14.04 utilise blank comme shell par défaut. Vous ne pouvez pas vous connecter car vous n'avez pas de shell.
Créer un répertoire personnel par défaut pour l'utilisateur existant dans le terminal (question 335961, 3e réponse)
Depuis la page de manuel d'Ubuntu pour useradd
Comment changez-vous le shell par défaut pour TOUS LES UTILISATEURS en bash? Question 335961
la source