web-dev-qa-db-fra.com

Manière appropriée de changer le nom d'utilisateur dans Ubuntu ou tout Linux

J'utilise Ubuntu 12.04 et j'ai fait une certaine personnalisation. Je vais également en faire un nouvel iso personnalisé ubuntu.

Ce que je veux demander, c'est comment puis-je changer mon nom d'utilisateur. Il y a beaucoup de configuration dans mon dossier d'accueil actuel. Je ne veux donc pas me tromper en changeant de nom d'utilisateur.

Existe-t-il donc une meilleure pratique ou un flux de travail pour ce faire?

26
CorpusCallosum

Le vraiment dans le bon sens? Supposons que vous souhaitiez remplacer l'utilisateur "peter" par "paul".

groupadd paul
usermod -d /home/paul -m -g paul -l paul peter

Cela change le nom, le groupe, le répertoire personnel et la propriété et le groupe de ce répertoire par les nouveaux, ainsi que tous les fichiers. Vous vous retrouvez avec un utilisateur qui ne peut pas être créé à l'origine en tant que "paul".

Une autre façon serait de modifier les premiers champs des entrées de peter dans le /etc/passwd et /etc/shadow des dossiers. Puis changez chaque occurrence de 'peter' en 'paul' dans /etc/group. Renommez ensuite le répertoire personnel à partir de /home/peter à /home/paul. Et alors chown -R paul /home/peter pour obtenir les propriétés et les groupes du répertoire et tous les fichiers et répertoires sous celui-ci pour en avoir les nouveaux.

28
Steve Bergman

Je recommanderais de ne pas tenter de changer le nom d'un utilisateur. Cela est généralement dû à des problèmes lorsque le nom de l'utilisateur est référencé statiquement dans les fichiers de configuration sous la forme du répertoire personnel de l'utilisateur, /home/<username>. Ceux-ci ne sont presque jamais écrits de manière générique, il est donc généralement préférable de simplement créer un nouveau nom d'utilisateur, puis de migrer les fichiers et les données de l'utilisateur vers le nouveau compte.

5
slm

Vous pouvez le changer; voir Comment puis-je changer mon nom d'utilisateur? sur AskUbuntu. Ces instructions ont bien fonctionné pour moi. Pour conserver votre configuration, créez simplement un lien symbolique pour votre ancien répertoire personnel comme décrit dans les réponses à cette question.

3
z0r

Utilisez usermod pour modifier nom d'utilisateur et répertoire personnel. Changez l'utilisateur Peter en Paul:

usermod -l paul peter
grep paul /etc/passwd /etc/shadow       # check

changer le répertoire personnel et y déplacer tout (créé si nécessaire)

usermod -m -d /home/paul paul
grep paul /etc/passwd               # check

Modifiez le nom du groupe, mais n'utilisez pas usermod car il vous oblige à créer d'abord un autre groupe (par exemple, GID 1001) et bien qu'il mettra à jour le GID pour tout dans le répertoire $ HOME, vous devez rechercher et modifier les fichiers et répertoires ailleurs avec l'ancien groupe de propriété. Au lieu de cela, modifiez simplement le nom du groupe manuellement.

nano /etc/group

et changer

peter:x:1000:

à

paul:x:1000:

Vous devrez changer les noms de fichiers utilisés par cron, at et autres services qui utilisent le nom d'utilisateur au lieu de l'UID. Utilisation

find /var -name "*peter*"

pour trouver ces fichiers.

Vous devrez également modifier les fichiers de configuration utilisés par certains services tels que vos applications de messagerie.

Enfin, scripts utilisant "/ home/peter /" devra être édité. Modifiez les occurrences de "/ home/peter /" en "$ HOME".

Changer l'identité des utilisateurs ne demande pas beaucoup de travail, il vous suffit d'être minutieux.

3
Duane

Essayez la commande sermod .

exec Sudo su
usermod --login newname oldname
3
dgmltn