Comment puis-je changer mon propre identifiant?

45

Il n’ya qu’un seul utilisateur sur mon système. Comment puis-je modifier son identifiant d'utilisateur par défaut de 1000?

Si des étapes supplémentaires sont nécessaires pour éviter de rompre le processus de connexion sur une installation de bureau classique, celles-ci doivent être incluses dans la réponse.

    
posée ændrük 09.12.2010 - 01:34
la source

8 réponses

23

Le problème est que, comme vous l'avez mentionné, vous ne pouvez pas modifier l'ID utilisateur de votre utilisateur lorsqu'il est connecté à une session. Vous devez utiliser un autre compte d'utilisateur pour continuer.

Mais vous n'avez pas besoin de créer un nouveau compte utilisateur, de le promouvoir en admin, de vous déconnecter, de vous connecter au nouveau compte administrateur, de modifier l’ID utilisateur de votre compte principal, de vous déconnecter, nouvel utilisateur admin change simplement votre UID. ;)

Vous pouvez démarrer en mode de récupération (une option qui apparaît lorsque vous démarrez votre ordinateur ou maintenez la touche Les messages du BIOS sont complets: utilisez ESC sur les machines Dell exécutant OEM-Ubuntu). Cela vous connectera à une session racine. En étant connecté à root et non à votre compte utilisateur habituel , vous pourrez modifier votre UID.

Étant donné que le mode de récupération ne fonctionne que dans l’interface de ligne de commande, une fois connecté à une session racine, vous devrez:

  1. Utilisez les instructions de BubbaJ pour remonter le système de fichiers racine en mode lecture-écriture : mount -o remount,rw / .

  2. Utilisez la commande de Luis Alvarado : usermod -u NEW_UID your_username .

  3. Suivez les instructions de ddeimeke pour mettre à jour les autorisations de fichiers.
  4. Ensuite, redémarrez votre ordinateur ( reboot ) afin de pouvoir démarrer en mode normal.
réponse donnée Alexandre P. 10.12.2010 - 03:34
la source
47

Vous pouvez le changer en /etc/passwd , /etc/group et /etc/shadow ou vous utilisez l'une des possibilités ci-dessus. Mais - le plus important - vous devez changer la propriété de tous les fichiers appartenant à l'utilisateur.

Par exemple, si l’ancien identifiant est 1000 et que le nouveau est 5000:

find / -uid 1000 -exec chown -h 5000 {} +

Et pareil pour l'identifiant du groupe (si vous le changez aussi).

find / -gid 1000 -exec chgrp -h 5000 {} +
    
réponse donnée ddeimeke 09.12.2010 - 07:08
la source
22

Solution complète basée sur @AlexandreP. et @ddeimeke + documentation officielle. Aucun redémarrage nécessaire.

La politique Debian / Ubuntu est la suivante: s'il y a un utilisateur jim avec l'ID utilisateur 1001 , il y a aussi un groupe jim avec l'ID de groupe 1001 . Cette solution met également à jour ces identifiants de groupe.

  1. Activer le compte root :

    sudo passwd root
    
  2. Si l'utilisateur est connecté, déconnectez-vous (également sur les terminaux virtuels)
  3. Allez à VT1: Ctrl-Alt-F1
  4. Connectez-vous en tant que root et exécutez-le avec le nom d'utilisateur et l'ancien / le nouvel UID fourni:

    # put the information we need in variables
    username=...
    old_uid='id -u $username'  # looks up current (old) uid
    new_uid=...
    
    # update the user ID and group ID for $username
    usermod -u $new_uid $username
    groupmod -g $new_uid $username
    
    # update the file ownerships
    # NB: you cannot combine the next two chowns, or files where 
    # only the uid xor the gid matches won't be updated  
    chown -Rhc --from=$old_uid $new_uid /    # change the user IDs
    chown -Rhc --from=:$old_uid :$new_uid /  # change the group IDs
    
  5. Déconnexion
  6. Connectez-vous en tant que $username
  7. Désactivez le compte root :

    sudo passwd -dl root
    
réponse donnée l0b0 24.07.2012 - 10:50
la source
6

Si vous allez sur la console et tapez: usermod --help , vous obtiendrez l'un des paramètres en disant:

-u, --uid UID nouveau UID pour le compte d'utilisateur

donc si vous voulez changer l’ID utilisateur de l’utilisateur cyrex, alors faites:

usermod -u 1000 cyrex

qui changerait le uid pour cyrex de la valeur précédente à 1000

Si vous voulez le faire visuellement, faites ceci:

Aller à

  

SYSTEM - & gt; ADMINISTRATION - & gt; UTILISATEURS   ET GROUPES

Sélectionnez-vous dans la liste et cliquez sur PARAMÈTRES AVANCÉS

UID est à la fin de cette fenêtre.

    
réponse donnée Luis Alvarado 09.12.2010 - 02:14
la source
2
  • Aller à Système & gt; & gt; Administration & gt; & gt; Utilisateurs et groupes

  • Cliquez sur Paramètres avancés et accédez à l'onglet Avancé dans la partie inférieure pour afficher votre ID utilisateur.
  • Modifiez-le et cliquez sur OK.
réponse donnée karthick87 09.12.2010 - 06:10
la source
0

Avec KDE: Dans le menu Modifier les paramètres utilisateur avancés:

Changer d'un autre utilisateur ne fonctionne pas pour 1000, qui est l'utilisateur par défaut.

vous devez le faire manuellement - mon expérience

    
réponse donnée skidzo 12.07.2011 - 13:17
la source
0

Tout d’abord, vous devez vous connecter en tant que root, au moins pendant un certain temps, alors rendons cela possible:

sudo passwd root

Redémarrez, ctrl + alt + f1 pour basculer vers la console, connectez-vous en tant que root, procédez comme suit (la propriété dans le répertoire personnel sera automatiquement prise en charge):

groupmod --gid NEWGID username
usermod  --uid NEWUID username 

Pour vos fichiers dans des endroits autres que votre répertoire personnel, à ceci:

sudo chown -R username:username /path/to/files

Supprimez et verrouillez le mot de passe de root, si vous le souhaitez. (J'ai tendance à le garder):

passwd -dl root
    
réponse donnée qed 29.11.2013 - 22:04
la source
0

J'ai suivi les instructions de ddeimeke avec les modifications suivantes:

  1. Je ne me suis pas déconnecté et j'ai plutôt fait sudo su
  2. Je n'ai pas touché /etc/shadow

Je l'ai vu mentionné dans les autres réponses que vous devriez soit démarrer à la récupération ou vous connecter en tant que root . Le mien était une nouvelle installation d'Ubuntu 14 et j'étais prêt à tester si cela fonctionnerait sans se connecter en tant que root . Je faisais aussi cela sur une instance EC2 sur SSH.

    
réponse donnée KalenGi 27.11.2017 - 19:48
la source

Lire d'autres questions sur les étiquettes