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.
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:
Utilisez les instructions de BubbaJ pour remonter le système de fichiers racine en mode lecture-écriture : mount -o remount,rw /
.
Utilisez commande de Luis Alvarado : usermod -u NEW_UID your_username
.
reboot
) pour pouvoir démarrer en mode normal.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 {} +
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 jim
avec l'ID utilisateur 1001
, il existe également un groupe jim
avec l'ID de groupe 1001
. Cette solution met également à jour ces identifiants de groupe.
Sudo passwd root
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
$username
Sudo passwd -dl root
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.
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
J'ai suivi les instructions de ddeimeke avec les modifications suivantes:
Sudo su
/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.
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