En essayant de changer de compte sur mon compte nouvellement créé, un écran noir s’affiche, puis il me ramène à l’écran principal de connexion après avoir entré le bon mot de passe.
En me connectant à mon compte précédent, je reçois:
"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'essaye de su
su -l penner
Je reçois:
No directory, logging in with HOME=/
J'ai créé manuellement le répertoire personnel et cette erreur disparaît mais toujours pas de chance avec la connexion. Vous semblez avoir un problème avec la création de l'utilisateur? Comment puis-je corriger cela?
Si vous avez créé le compte d'utilisateur avec useradd
, vous devez tout configurer 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, ainsi que d'autres systèmes basés sur Debian). Vous voudrez peut-être simplement supprimer l'utilisateur avec userdel
ou deluser
et le recréer avec adduser
. Autrement...
Si vous souhaitez conserver le compte d'utilisateur et résoudre le problème, vous devez examiner:
Ceux-ci doivent être exactement les mêmes. Le message d'erreur que vous obtenez avec su -l penner
vous indique qu'ils ne sont pas identiques.
Pour vérifier le répertoire de base pour lequel le compte d'utilisateur a été 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 ceci:
penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash
Autrement dit, le sixième champ :
- séparé (après le cinquième :
) contient le répertoire de base. Si ce n'est pas /home/penner
, ça devrait l'ê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 que ni l'un ni l'autre n'est /home/penner
, alors cela pourrait fonctionner en théorie, mais vous devriez leur attribuer la valeur /home/penner
car de nombreux logiciels supposent que tous les répertoires de départ des utilisateurs non -root
sont /home/username
.
Vous pouvez modifier le répertoire de base de penner
en /home/penner
en exécutant la commande suivante:
Sudo usermod -d /home/penner penner
man usermod
pour plus d'informations.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 de base. Courir:
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
, 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 de la première penner
, vous avez autre chose, l'utilisateur ne possède pas son répertoire personnel, donc indiquez-le:
Sudo chown penner /home/penner
man chown
pour plus d'informations.Si, au lieu de drwxr-xr-x
, il y a des tirets dans les trois caractères suivants après le d
, alors l'utilisateur n'aura pas un accès complet à cet endroit. Corrigez cela comme suit:
Sudo chmod u+rwx /home/penner
man chmod
pour plus d'informations.(penner
est capable d'exécuter cette commande s'il possède son répertoire personnel. Si vous préférez, vous pouvez l'exécuter en tant que: Sudo -u penner u+rwx /home/penner
)
Si, au lieu de drwxr-xr-x
, il y a w
s au lieu de -
s dans les six dernières lettres, alors les utilisateurs autres que penner
peuvent avoir un accès en écriture au répertoire personnel de penner
. C’est dangereux (à moins que vous vraiment sachiez ce que vous faites et que vous le vouliez de cette façon et que vous avez tout mis en place pour que cela ne pose pas de problème). Réparer:
Sudo chmod -R go-w /home/penner
Vous voudrez peut-être apporter d'autres modifications. Par défaut sous Ubuntu (c'est-à-dire si vous créez un compte utilisateur avec adduser
ou avec un outil graphique, ce que vous n'avez pas fait):
Les répertoires de base ont des autorisations de lecture et d'écriture pour tout le monde, pas seulement pour l'utilisateur qui les possède. Les utilisateurs peuvent changer cela, que ce soit pour tout le répertoire de base ou pour tous les fichiers et sous-répertoires qu'il contient. Mais si vous voulez cette valeur par défaut et que vous n'avez pas les deuxième et troisième r
et x
dans 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. Si vous préférez, vous pouvez l'exécuter en tant que: Sudo -u penner chmod 755 /home/penner
)
Chaque utilisateur a son propre groupe, portant 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 le sens de la deuxième penner
dans drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
. C'est bien de rompre avec ce 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 groupe primaire possibles pour un utilisateur, ou des propriétaires de groupe dans le répertoire de base de l'utilisateur, pourraient conduire à des problèmes de sécurité.
Exécutez groups penner
. (Voir man groups
pour plus d'informations.) Vous devriez voir quelque chose comme ceci:
penner : penner adm dialout cdrom plugdev lpadmin sambashare
Ne vous inquiétez pas si ce n'est pas tout à fait comme ça. J'y viendrai 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 que ce soit penner
, assurez-vous de l’être. 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 réexécuter la commande ci-dessus):
Sudo addgroup penner
man addgroup
pour plus d'informations. (Si vous préférez, vous pouvez également utiliser la commande groupadd
pour créer des groupes.)Lorsque vous avez exécuté groups penner
, vous avez peut-être reçu une liste de groupes considérablement plus courte que mon penner : penner adm dialout cdrom plugdev lpadmin sambashare
. Pour les utilisateurs d'ordinateurs de bureau, les options adm
, dialout
, cdrom
, plugdev
, lpadmin
et sambashare
devraient généralement être appropriées. Par conséquent, sauf si vous avez une raison de faire autrement, penner
devrait faire partie de ces groupes. Ce sont pas groupes primaires, cependant, ils sont donc configurés différemment. En supposant que penner
ne figure dans aucun de ces groupes et que vous souhaitiez que penner
soit dans chacun d'entre eux, 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:
adm
utilisateurs peut afficher la plupart des fichiers journaux du système dans /var/log
.dialout
utilisateurs peut utiliser modems d'accès à distance.plugdev
utilisateurs peut monter et utiliser périphériques de stockage externes.lpadmin
utilisateurs peut configurer et gérer imprimantes.sambashare
utilisateurs peut partager (via Samba ) avec d’autres ordinateurs sur un réseau.(Source: Privileges , dans le wiki de la documentation Ubuntu.)
Si vous ne voulez pas que penner
soit administrateur, vous n'avez probablement rien d'autre à faire. 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
à l’un de ces groupes. (Vous pouvez également ajouter penner
aux deux, s'ils existent.) Vous pouvez y parvenir en exécutant ces deux commandes séparément. Si l'une des deux réussit, vous avez fait de penner
un administrateur:
Sudo usermod -a -G admin penner
Sudo usermod -a -G Sudo penner
admin
. À partir de Ubuntu 12.04 LTS, les administrateurs appartiennent au groupe Sudo
. Mais si votre système 12.04 LTS est mis à niveau à partir d’une version précédente (et cela devrait s’appliquer aux versions ultérieures d’Ubuntu, telles que 12.10 à sa sortie, qui sont mises à niveau à partir d’Ubuntu 11.10 ou d’une version antérieure), 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. Par conséquent, exécuter les deux commandes ci-dessus (séparément, pas en tant que Sudo usermod -a -G admin,Sudo penner
) est généralement un moyen sûr et efficace de transformer penner
en administrateur.Cela se produit généralement lorsque vous créez l'utilisateur sans créer de répertoire de base pour l'utilisateur. Cela peut être résolu en utilisant cette commande lors de la création de l'utilisateur
useradd -m the_username
L'indicateur -m est ce qui crée le répertoire de base pour l'utilisateur. Après avoir créé l’utilisateur, vérifiez si le répertoire de départ existe pour cet utilisateur en effectuant
ls /home
Si vous pouvez voir que le nom d'utilisateur y est indiqué, la dernière chose à faire est d'attribuer un mot de passe à cet utilisateur.
passwd the_username
Vous pouvez maintenant vous connecter avec ce nom d'utilisateur et mot de passe