Skip to content

Instantly share code, notes, and snippets.

@rcapile
Last active August 29, 2015 14:06
Show Gist options
  • Save rcapile/cb302513d8c9564a1d4a to your computer and use it in GitHub Desktop.
Save rcapile/cb302513d8c9564a1d4a to your computer and use it in GitHub Desktop.
Como trocar o UID do usuário no Ubuntu

Como trocar o usuário baseado em http://askubuntu.com/questions/16700/how-can-i-change-my-own-user-id e http://askubuntu.com/questions/211087/how-to-make-users-with-uid-under-1000-appear-in-lightdm

  1. Ajuste o script abaixo e salve

    #!/bin/bash
    # Grava os códigos em variáveis
    username=*usuário que deseja trocar*
    new_uid=*novo código do usuário*
    
    old_uid=`id -u $username`  # recupera o UID do usuário escolhido
    
    # atualiza UID e GID de $username
    usermod -u $new_uid $username
    groupmod -g $new_uid $username
    
    # atualiza as permissões nos arquivos
    # 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
  2. Acesse como recovery mode ou com outro usuário que não seja o que deseja alterar e execute o script acima

  3. Reinicie e faça o login com o usuário alterado

Se usar o recovery mode, vc começa com read-only. Execute mount -o remount,rw / para ter acesso acesso de escrita antes de executar o script acima

Se você trocar o UID para menos que 1000, é preciso ajustar o UID minimo do Ubuntu

Altere /etc/login.defs e acerte as linhas

...
# Min/max values for automatic uid selection in useradd
#
UID_MIN            500
UID_MAX          60000
# System accounts
#SYS_UID_MIN       100
#SYS_UID_MAX       499
...
# Min/max values for automatic gid selection in groupadd
#
GID_MIN            500
GID_MAX          60000
# System accounts
#SYS_GID_MIN       100
#SYS_GID_MAX       499

ou para números apropriados. Você pode fazer antes dos passos acima.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment