En essayant de basculer les comptes vers mon compte nouvellement créé, j'obtiens un écran noir, puis il me ramène à l'écran de connexion principal après avoir entré le mot de passe correct.
En me connectant à 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'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. Semble que quelque chose a mal tourné avec la création de l'utilisateur? Comment puis-je corriger cela?
useradd
switch-user
penner
la source
la source
Réponses:
Si vous avez créé le compte 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 à la placeadduser
dans Ubuntu (et Debian, et d'autres systèmes basés sur Debian). Vous pouvez simplement supprimer l'utilisateur avecuserdel
oudeluser
et le recréer avecadduser
. Autrement...Fixer l'emplacement du répertoire personnel
Si vous souhaitez conserver le compte utilisateur et résoudre le problème, vous devez regarder:
Celles-ci doivent être exactement les mêmes. Le message d'erreur que vous obtenez vous indique
su -l penner
qu'ils ne sont pas identiques.Pour vérifier le répertoire personnel pour lequel le compte d'utilisateur est réellement configuré, exécutez cette commande (voir
man 5 passwd
etman grep
pour plus d'informations):Vous devriez voir une ligne comme celle-ci:
C'est-à-dire que le sixième
:
champ séparé (après le cinquième:
) contient le répertoire personnel. Si ce n'est pas le cas/home/penner
, ça devrait l'être. Si le répertoire que vous avez créé pour l'utilisateur ne l'est pas/home/penner
, il devrait l'être également. Si les deux répertoires sont identiques mais qu'aucun ne l'est/home/penner
, alors cela pourrait théoriquement fonctionner, mais vous devriez les créer tous les deux/home/penner
, car beaucoup de logiciels supposent que tousroot
les répertoires personnels des non- utilisateurs le sont ./home/username
Vous pouvez changer
penner
le répertoire personnel de/home/penner
en en exécutant cette commande:man usermod
pour plus d'informations.S'assurer qu'il s'agit d'un répertoire et que l'utilisateur a accès
Si (ou une fois) les noms sont les deux
/home/penner
, vous devez également vous assurer que l'utilisateur a accès à son propre répertoire personnel. Courir:Vous devriez voir quelque chose qui ressemble à ceci (bien que la date et l'heure soient différentes):
Si au lieu de
drwxr-xr-x
, vous avez quelque chose qui commence par-
plutôt qued
, 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 quelque chose d'autre, alors l'utilisateur ne possède pas son répertoire personnel, alors faites-le lui appartenir: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èsd
, alors l'utilisateur n'y a pas un accès complet. Corrigez cela comme suit:man chmod
pour plus d'informations.(
penner
Est capable d'exécuter cette commande si elles sont propriétaires de leur répertoire, donc si vous préférez, vous pouvez exécuter ce que:sudo -u penner u+rwx /home/penner
)Veiller à ce que les autres utilisateurs n'aient pas accès en écriture à une couverture
Si au lieu de
drwxr-xr-x
, il y aw
s au lieu de-
s dans les six dernières lettres, les utilisateurspenner
peuvent en outre avoir accès en écriture aupenner
répertoire personnel de. C'est dangereux (à moins que vous ne sachiez vraiment ce que vous faites et que vous le vouliez de cette façon et que vous ayez configuré les choses pour que ce ne soit pas un problème). Réparer:Autres valeurs par défaut
Vous voudrez peut-être 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, ce que vous n'avez pas fait):Les répertoires personnels 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, soit pour l'ensemble du répertoire personnel, soit 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
etx
dansdrwxr-xr-x
, exécutez:(
penner
Est capable d'exécuter cette commande si elles sont propriétaires de leur répertoire, donc si vous préférez, vous pouvez exécuter ce que:sudo -u penner chmod 755 /home/penner
)Chaque utilisateur a son propre groupe, avec le même nom que l'utilisateur, et c'est le groupe principal de l'utilisateur. Leur répertoire personnel appartient à ce groupe. C'est le sens du second
penner
dansdrwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
. Vous pouvez 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 quepenner
c'est configuré de cette façon, car certaines identités de groupe principal possibles pour un utilisateur, ou les propriétaires de groupe sur le répertoire personnel de l'utilisateur, pourraient entraîner des problèmes de sécurité.Courez
groups penner
. (Voirman groups
pour plus d'informations.) Vous devriez voir quelque chose comme ceci:Ne vous inquiétez pas si ce n'est pas tout à fait ça. J'y reviendrai bientôt. Regardez plutôt le premier mot après le
:
. C'est le nom du groupe principal de l'utilisateur. En supposant que vous le vouliezpenner
, assurez-vous qu'il l'est. Si ce n'est pas le cas, changez-le: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):man addgroup
pour plus d'informations. (Si vous préférez, vous pouvez également utiliser lagroupadd
commande pour créer des groupes.)Lorsque vous avez couru
groups penner
, vous avez peut-être obtenu une liste de groupes considérablement plus courte que la miennepenner : penner adm dialout cdrom plugdev lpadmin sambashare
. Pour les utilisateurs de bureau, leadm
,dialout
,cdrom
,plugdev
,lpadmin
etsambashare
fournir des capacités que les utilisateurs de bureau devraient généralement avoir. Par conséquent, sauf si vous avez une raison de faire autrement, vouspenner
devriez faire partie de ces groupes. Ce ne sont pas des groupes principaux, cependant, ils sont donc définis différemment. Supposons qu'ilpenner
n'appartienne à aucun de ces groupes et que vous souhaitiezpenner
faire partie de chacun d'eux, exécutez cette commande:Si vous êtes intéressé, voici ce que signifient tous ces groupes:
adm
les utilisateurs peuvent afficher la plupart des fichiers journaux du système dans/var/log
.dialout
les utilisateurs peuvent utiliser des modems commutés.plugdev
les utilisateurs peuvent monter et utiliser des périphériques de stockage externes.lpadmin
les utilisateurs peuvent configurer et gérer des imprimantes.sambashare
les utilisateurs peuvent partager des fichiers (via Samba ) avec d'autres ordinateurs sur un réseau.(Source: Privileges , dans le wiki de documentation d'Ubuntu.)
Faire de l'utilisateur un administrateur
Si vous ne voulez
penner
pas être administrateur, vous n'avez probablement pas besoin de faire autre chose. Vous pouvez vérifier sipenner
est un administrateur avecgroups penner
. Si niadmin
nisudo
n'est répertorié, cepenner
n'est pas un administrateur.Si vous souhaitez
penner
être administrateur, ajoutezpenner
à l'un de ces groupes. (Vous pouvez aussi bien ajouterpenner
aux deux, s'ils existent tous les deux.) Vous pouvez accomplir cela en exécutant ces deux commandes séparément - si l'une ou l'autre réussit, vous avez nommépenner
un administrateur:admin
groupe. Depuis Ubuntu 12.04 LTS, les administrateurs sont dans lesudo
groupe. 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 version antérieure), alors pour la compatibilité descendante, les administrateurs sont membres des deux.sudo
etadmin
. 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 commesudo usermod -a -G admin,sudo penner
) est généralement un moyen sûr et efficace de fairepenner
un administrateur.la source
sudo chmod u+a /home/penner
donne une erreur sur Ubuntu 16.04 (Xenial). Est-cesudo chmod u+rw /home/penner
un bon remplacement?useradd
alors? garder le code cassé aléatoireuseradd
provoque des problèmes sur Ubuntu qu'elle ne provoque pas sur d'autres systèmes. Sur mon système 16.04,/etc/default/useradd
a (comme sa seule ligne nonSHELL=/bin/sh
commentée ) , et useradd (8) semble dire que laSHELL
valeur y est utilisée si le drapeau-s
/--shell
n'est pas donné, mais sur mon système 16.04 cela ne se produit pas. J'avais tort de dire si hâtivement qu'Ubuntuuseradd
n'est pas cassé. Maintenant, je n'en suis pas si sûr. Il y a peut-être une bonne raison à cette différence entre Fedora et Debian (et Ubuntu) ... mais j'ai supprimé mon commentaire afin de ne pas induire les gens en erreur.Cela se produit principalement lorsque vous créez l'utilisateur sans créer de répertoire personnel pour l'utilisateur. Cela peut être résolu en utilisant cette commande lors de la création d'un utilisateur
L'indicateur -m est ce qui crée le répertoire personnel de l'utilisateur. Après avoir créé l'utilisateur, vérifiez si le répertoire personnel existe pour cet utilisateur en faisant
Si vous pouvez voir ce nom d'utilisateur dans la liste, la dernière chose à faire est d'attribuer un mot de passe à cet utilisateur.
Vous pouvez maintenant vous connecter avec ce nom d'utilisateur et ce mot de passe
la source
ctrl + alt + f1 et connectez-vous là et exécutez
sudo chown -R $ USER: $ USER $ HOME
puis appuyez sur ctrl + alt + f7 et essayez de vous connecter
Ça va marcher
la source