J'ai installé Ubuntu sur un ordinateur qui est maintenant utilisé par quelqu'un d'autre. J'ai renommé le compte avec son nom, mais cela ne change que le nom complet, pas le nom d'utilisateur, qui est toujours affiché en haut à droite (dans le fast-user-switch-applet
). Existe-t-il une commande pour renommer un compte utilisateur Unix?
J'ai envisagé de créer un nouveau compte d'utilisateur avec le nouveau nom, puis de copier tout ce qui se trouvait dans "l'ancien" domicile dans le nouveau compte. Cela suffirait-il? Mais alors je pense que les fichiers auraient le propriétaire des permissions de l'ancien compte? Alors devrais-je faire chown -R newuser ~
?
Existe-t-il un moyen plus simple / recommandé de procéder?
la source
usermod --home
doit contenir le chemin complet, par exemple/home/user.name
- sinon le nouveau répertoire de base sera créé dans le répertoire de travail actuel.Bien qu'il soit possible de renommer un utilisateur et d'
usermod
effectuer une partie du travail , cela risque fort de causer des problèmes. Voici une liste des endroits où le nom d'utilisateur peut apparaître. Je ne prétends pas que cette liste est exhaustive./etc/passwd
et les fichiers associés (par exemple/etc/shadow
,/etc/master.passwd
)./etc/group
(et/etc/gshadow
)./etc/sudoers
./var/mail/$USER
ou/var/spool/mail/$USER
./var/spool/cron/crontabs/$USER
at
emplois (/var/spool/cron/atjobs/*
)Le répertoire de base est susceptible d'apparaître dans encore plus d'endroits. De nombreuses applications écrivent des chemins absolus dans divers fichiers de points. Si vous décidez de renommer le répertoire aussi bien (alors qu'il n'y a pas d' exigence que l' utilisateur
alice
soit répertoire de/home/alice
, ayant - il être/home/bob
serait source de confusion), vous aurez besoin de prendre soin de ceux -ci . Un remplacement global fonctionnera pour la plupart des applications, mais je ne fais aucune promesse. Si possible, conservez l'ancien nom du répertoire de base sous forme de lien symbolique vers le répertoire renommé.la source
Voici un résumé des commandes que j'ai utilisées sur un système Debian:
Les deux dernières commandes créent un lien symbolique allant du nom de l'ancien répertoire de base ( / home / OLD ) au nom du nouveau ( / home / NEW ).
la source
groupadd
pour?groupadd
, je suppose qu'il serait peut-être préférablegroupmod -n NEW OLD
d'éviter de changer le gid. Au moins sur Ubuntu, un groupe du même nom que l'utilisateur est configuré par défaut; on souhaiterait donc modifier également ce nom.toutes les méthodes citées ci-dessus sont élégantes, mais pourquoi ne pas simplement créer un nouvel utilisateur, copier tout son contenu d'origine depuis le premier, et c'est tout? bien sûr, s’il s’agit d’un compte de service (application), ce n’est peut-être pas la meilleure pratique
la source