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 place adduser
dans Ubuntu (et Debian, et d'autres systèmes basés sur Debian). Vous pouvez simplement supprimer l'utilisateur avec userdel
ou deluser
et le recréer avec adduser
. Autrement...
Fixer l'emplacement du répertoire personnel
Si vous souhaitez conserver le compte utilisateur et résoudre le problème, vous devez regarder:
- le nom du répertoire personnel pour lequel le compte d'utilisateur est réellement configuré
- 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 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
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 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 tous root
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:
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 les deux /home/penner
, vous devez également vous assurer que l'utilisateur a accès à son propre répertoire personnel. 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
, 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:
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
, alors l'utilisateur n'y a pas un accès complet. Corrigez cela comme suit:
sudo chmod u+rwx /home/penner
( 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 a w
s au lieu de -
s dans les six dernières lettres, les utilisateurs penner
peuvent en outre avoir accès en écriture au penner
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:
sudo chmod -R go-w /home/penner
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
et x
dans drwxr-xr-x
, exécutez:
sudo chmod 755 /home/penner
( 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
dans drwxr-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 que penner
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
. (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 ç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 vouliez penner
, assurez-vous qu'il l'est. 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
- Voir
man addgroup
pour plus d'informations. (Si vous préférez, vous pouvez également utiliser la groupadd
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 mienne penner : penner adm dialout cdrom plugdev lpadmin sambashare
. Pour les utilisateurs de bureau, le adm
, dialout
, cdrom
, plugdev
, lpadmin
et sambashare
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, vous penner
devriez faire partie de ces groupes. Ce ne sont pas des groupes principaux, cependant, ils sont donc définis différemment. Supposons qu'il penner
n'appartienne à aucun de ces groupes et que vous souhaitiez penner
faire partie de chacun d'eux, exécutez cette commande:
sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
Si vous êtes intéressé, voici ce que signifient tous ces groupes:
(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 si penner
est un administrateur avec groups penner
. Si ni admin
ni sudo
n'est répertorié, ce penner
n'est pas un administrateur.
Si vous souhaitez penner
être administrateur, ajoutez penner
à l'un de ces groupes. (Vous pouvez aussi bien 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'une ou l'autre réussit, vous avez nommé penner
un administrateur:
sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
- La raison pour laquelle il existe deux groupes est qu'avant Ubuntu 12.04 LTS, les administrateurs faisaient partie du
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
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 faire penner
un administrateur.