Impossible de se connecter au compte utilisateur nouvellement créé

21

Essayer de changer de compte pour mon compte nouvellement créé J'obtiens un écran noir puis cela me ramène à l'écran de connexion principal après avoir entré le mot de passe correct.

Lors de la connexion à mon compte existant, j'obtiens:

"System Program Problem Detected"

Details:

Executable path /usr/bin/Xorg

Package: xserver-xorg-core 2:1.11.4-0ubuntu10.1

Details: Crash
... (tons more, but no way to copy paste or save)

Quand j'essaie de su

su -l penner

Je reçois:

No directory, logging in with HOME=/

J'ai créé manuellement le répertoire de base et cette erreur disparaît mais n’a toujours pas de chance avec le login. Semble que quelque chose a mal tourné avec la création de l'utilisateur? Comment puis-je corriger cela?

    
posée penner 05.07.2012 - 10:38
la source

2 réponses

24

Si vous avez créé le compte d'utilisateur avec useradd , vous avez pour tout mettre en place manuellement. C'est pourquoi, lors de la création de comptes d'utilisateurs à partir de la ligne de commande, il est recommandé d'utiliser adduser dans Ubuntu (et Debian, et autres systèmes basés sur Debian) à la place. Vous pouvez simplement supprimer l'utilisateur avec userdel ou deluser et recréez-le avec adduser . Sinon ...

Fixer l’emplacement du répertoire personnel

Si vous souhaitez conserver le compte d'utilisateur et résoudre le problème, vous devez consulter:

  • le nom du répertoire personnel pour lequel le compte utilisateur est configuré pour
  • le nom du répertoire que vous avez réellement créé

Celles-ci doivent être exactement les mêmes. Le message d'erreur que vous obtenez avec su -l penner vous dit qu'ils ne sont pas les mêmes.

Pour vérifier le répertoire d’accueil pour lequel le compte utilisateur est configuré, exécutez cette commande (voir man 5 passwd et man grep pour plus d'informations) :

grep penner /etc/passwd

Vous devriez voir une ligne comme celle-ci:

penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash

C'est-à-dire que le sixième champ : -separated (après le cinquième : ) contient le répertoire de base. Si ce n'est pas /home/penner , cela devrait être. Si le répertoire que vous avez créé pour l'utilisateur n'est pas /home/penner , il devrait l'être également. Si les deux répertoires sont identiques mais qu'aucun n'est /home/penner , alors cela pourrait théoriquement fonctionner, mais vous devriez les rendre tous les deux /home/penner , car beaucoup de logiciels supposent que tous les répertoires personnels de root users sont /home/username .

Vous pouvez modifier le répertoire de base de penner en /home/penner en exécutant cette commande:

sudo usermod -d /home/penner penner

S'assurer qu'il s'agit d'un répertoire et que l'utilisateur a accès

Si (ou une fois) les noms sont tous les deux /home/penner , vous devez également vous assurer que l'utilisateur a accès à son propre répertoire personnel. Exécuter:

ls -ld /home/penner

Vous devriez voir quelque chose qui ressemble à ceci (bien que la date et l’heure soient différentes):

drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner

Si au lieu de drwxr-xr-x , vous avez quelque chose qui commence par - plutôt que d , alors vous avez créé un fichier plutôt qu'un répertoire. Supprimez le fichier et créez un répertoire à la place.

Si au lieu du premier penner vous avez autre chose, alors l’utilisateur ne possède pas son répertoire personnel, alors faites-le posséder:

sudo chown penner /home/penner

Si au lieu de drwxr-xr-x , il y a des tirets dans les trois caractères suivants après d , l'utilisateur n'y a pas pleinement accès. Corrige cela comme suit:

sudo chmod u+rwx /home/penner

( penner est capable d'exécuter cette commande s'il possède son répertoire personnel, donc si vous préférez, vous pouvez l'exécuter comme suit: sudo -u penner u+rwx /home/penner )

S'assurer que les autres utilisateurs ne disposent pas d'un accès en écriture sur les couvertures

Si au lieu de drwxr-xr-x , il y a w s au lieu de - s dans les six dernières lettres, les utilisateurs autres que penner peuvent avoir accès en écriture au répertoire de base de penner . C'est dangereux (à moins que vous vraiment sachiez ce que vous faites et que vous le souhaitiez de cette façon et que vous ayez mis les choses en place pour que cela ne pose pas de problème). Pour le réparer:

sudo chmod -R go-w /home/penner

Autres valeurs par défaut

Vous pouvez apporter d’autres modifications. Par défaut dans Ubuntu (c'est-à-dire si vous créez un compte utilisateur avec adduser ou avec un outil graphique que vous n'avez pas):

  1. Les répertoires d’accueil disposent d’autorisations en lecture et en écriture pour tout le monde, pas seulement pour l’utilisateur qui les possède. Les utilisateurs peuvent modifier ceci, soit pour tout le répertoire personnel, soit pour tous les fichiers et sous-répertoires qu'il contient. Mais si vous souhaitez utiliser cette valeur par défaut et que vous n'avez ni le deuxième ni le troisième r et x in drwxr-xr-x , exécutez:

    sudo chmod 755 /home/penner
    

    ( penner est capable d'exécuter cette commande s'il possède son répertoire personnel, donc si vous préférez, vous pouvez l'exécuter comme suit: sudo -u penner chmod 755 /home/penner )

  2. Chaque utilisateur a son propre groupe, avec le même nom que l'utilisateur, et il s'agit du groupe principal de l'utilisateur. Leur répertoire personnel appartient à ce groupe. C'est la signification du second penner en drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner . C'est OK de rompre avec cette valeur par défaut, si vous savez ce que vous faites .Mais si ce n'est pas votre intention de faire les choses différemment, vous devez vous assurer que penner est configuré de cette façon, car certaines identités de groupes primaires possibles pour un utilisateur ou des propriétaires de groupes sur le répertoire personnel de l'utilisateur / p>

    Exécutez groups penner . (Voir man groups pour plus d'informations.) Vous devriez voir quelque chose comme ça :

    penner : penner adm dialout cdrom plugdev lpadmin sambashare
    

    Ne vous inquiétez pas si ce n'est pas tout à fait comme ça. J'y arriverai bientôt. Au lieu de cela, regardez le premier mot après le : . C'est le nom du groupe principal de l'utilisateur. En supposant que vous souhaitiez qu'il soit penner , assurez-vous que c'est le cas. Si ce n'est pas le cas, changez-le:

    sudo usermod -g penner penner
    

    Si vous obtenez une erreur indiquant que le groupe penner n’existe pas, vous devrez le créer avec cette commande (puis relancer la commande ci-dessus):

    sudo addgroup penner
    
    • Pour plus d'informations, consultez man addgroup . (Si vous préférez, vous pouvez également utiliser la commande groupadd pour créer groupes.)
  3. Lorsque vous avez exécuté groups penner , vous avez peut-être obtenu une liste de groupes considérablement plus courte que mon penner : penner adm dialout cdrom plugdev lpadmin sambashare . Pour les utilisateurs de postes de travail, adm , dialout , cdrom , plugdev , lpadmin et sambashare fournissent des capacités que les utilisateurs de bureau doivent généralement posséder. Par conséquent, sauf si vous avez une raison de faire autrement, penner devrait être dans ces groupes. Ce sont des groupes principaux pas , donc ils sont définis différemment. En supposant que penner ne soit dans aucun de ces groupes et que vous souhaitiez que penner soit présent dans tous ces groupes, exécutez cette commande:

    sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
    

    Si cela vous intéresse, voici ce que tous ces groupes veulent dire:

    (Source: Privilèges , dans le wiki de la documentation Ubuntu.)

Rendre l'utilisateur un administrateur

Si vous ne voulez pas que penner soit administrateur, vous n'avez probablement pas besoin de faire autre chose. Vous pouvez vérifier si penner est un administrateur avec groups penner . Si ni admin ni sudo ne sont répertoriés, alors penner n'est pas un administrateur.

Si vous souhaitez que penner soit un administrateur, ajoutez penner à celui de ces groupes. (Vous pouvez aussi ajouter penner aux deux, s'ils existent tous les deux.) Vous pouvez accomplir cela en exécutant ces deux commandes séparément - si l'un des deux réussit, vous avez fait de penner un administrateur:

sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
  • La raison pour laquelle il y a deux groupes est que, avant Ubuntu 12.04 LTS, les administrateurs étaient dans le groupe admin . Depuis Ubuntu 12.04 LTS, les administrateurs sont dans le groupe sudo . Mais si votre système 12.04 LTS est mis à niveau depuis une version précédente (et cela devrait s'appliquer aux versions ultérieures d'Ubuntu, telles que 12.10 lors de sa sortie, à partir d'Ubuntu 11.10 ou antérieur), les administrateurs sont membres des deux sudo et admin . Généralement, si l'un de ces groupes ne confère pas de capacités administratives, il n'existe tout simplement pas, donc exécuter les deux commandes ci-dessus (séparément, pas comme sudo usermod -a -G admin,sudo penner ) est généralement un moyen sûr et efficace de rendre penner an administrateur.
réponse donnée Eliah Kagan 05.07.2012 - 11:48
la source
-1

ctrl + alt + f1 et connectez-vous là-bas et lancez

sudo chown -R $ USER: $ USER $ HOME

puis appuyez sur ctrl + alt + f7 et essayez de vous connecter

Ca va marcher

    
réponse donnée Shameer Theen H 04.06.2013 - 09:18
la source

Lire d'autres questions sur les étiquettes