web-dev-qa-db-fra.com

Comment puis-je changer mon propre identifiant?

Il n'y a qu'un seul utilisateur sur mon système. Comment puis-je changer 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 typique, elles doivent être incluses dans la réponse.

48
ændrük

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

Mais vous n'avez pas besoin de créer un nouveau compte d'utilisateur, de le promouvoir en tant qu'administrateur, de vous déconnecter, de vous connecter au nouveau compte d'administrateur, de modifier l'UID de votre compte principal, de vous déconnecter, de vous connecter à votre compte principal, puis de supprimer le nouvel utilisateur d'administrateur. changez simplement votre UID. ;)

Vous pouvez démarrer en mode de récupération (c'est une option qui apparaît lorsque vous démarrez votre ordinateur ou vous maintenez la touche Maj enfoncée juste après la fin des messages du BIOS; utilisez ESC sur les machines Dell exécutant OEM-Ubuntu). Cela vous connectera dans une session root. En étant connecté à la racine et non à votre compte utilisateur habituel , vous pourrez modifier votre UID.

Le mode de récupération ne fonctionnant que dans l'interface de ligne de commande, une fois connecté à une session root, 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 commande de Luis Alvarado : usermod -u NEW_UID your_username.

  3. Suivez instructions de ddeimeke pour mettre à jour les autorisations de fichiers.
  4. Ensuite, redémarrez votre ordinateur (reboot) pour pouvoir démarrer en mode normal.
27
Alexandre P.

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

Par exemple, si l'ancien utilisateur est 1000 et le nouveau 5000:

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

Et la même chose pour l'identifiant du groupe (si vous le changez aussi).

find / -gid 1000 -exec chgrp -h 5000 {} +
54
ddeimeke

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

La politique Debian/Ubuntu stipule que s'il existe un utilisateur jimavec l'ID utilisateur 1001, il existe également un groupe jimavec 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 lancez-le avec le nom d'utilisateur et l'ancien/le nouveau 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. Connectez - Out
  6. Connectez-vous en tant que $username
  7. Désactiver le compte root :

    Sudo passwd -dl root
    
24
l0b0

Si vous allez à la console et tapez: usermod --help vous obtiendrez un des paramètres disant:

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

donc si vous voulez changer l'UID de l'utilisateur cyrex, alors:

usermod -u 1000 cyrex

cela changerait le uid pour cyrex de toute valeur qu'il avait avant à 1000

Si vous souhaitez le faire visuellement, procédez comme suit:

Aller à

SYSTEM -> ADMINISTRATION -> UTILISATEURS ET GROUPES

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

L'UID est à la fin de cette fenêtre.

7
Luis Alvarado
  • Goto Système >> Administration >> Utilisateurs et groupes

alt text

  • Cliquez sur Paramètres avancés et allez sur Avancé. En bas, vous verrez votre ID utilisateur.
  • Changez-le et cliquez sur ok.
    alt text
2
karthick87

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

La modification à partir d'un autre utilisateur ne fonctionne pas pour 1000, qui est l'utilisateur par défaut.

vous devez le faire manuellement - mon expérience

0
skidzo

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

  1. Je ne me suis pas déconnecté mais plutôt Sudo su
  2. Je n'ai pas touché /etc/shadow

Je l'ai vu mentionner dans les autres réponses que vous devriez soit démarrer à la récupération ou vous connecter en tant que root. La mienne étant une nouvelle installation d’Ubuntu 14, j’étais prête à vérifier si cela fonctionnerait sans se connecter en tant que root. De plus, je le faisais sur une instance EC2 via SSH.

0
KalenGi

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 passer à 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 root si vous le souhaitez. (J'ai tendance à le garder):

passwd -dl root
0
qed