Como posso alterar meu próprio ID de usuário?

47

Existe apenas um usuário no meu sistema. Como posso alterar seu ID de usuário do padrão de 1000?

Se houver etapas adicionais que seriam necessárias para evitar a quebra do processo de login em uma instalação típica da área de trabalho, elas devem ser incluídas como parte da resposta.

    
por ændrük 09.12.2010 / 01:34

8 respostas

26

O problema é que, como você mencionou, não é possível alterar o UID do usuário quando ele está conectado em uma sessão. Você tem que usar outra conta de usuário para continuar.

Mas não é necessário criar uma nova conta de usuário, promovê-la ao administrador, fazer logout, fazer login na nova conta de administrador, alterar o UID da sua conta principal, efetuar logout, fazer login na sua conta principal e excluir o novo usuário administrador apenas altere seu UID. ;)

Você pode iniciar o modo de recuperação (é uma opção que aparece quando você inicializa o computador ou mantém o controle Mensagens do BIOS completas: Use ESC em computadores Dell que executam o Ubuntu (OEM). Isto irá te logar em uma sessão raiz. Sendo logado root e não sua conta de usuário normal , você poderá modificar seu UID.

Como o modo de recuperação só funciona na interface de linha de comando, uma vez conectado a uma sessão raiz, você precisará:

  1. Use as instruções do BubbaJ para remontar o sistema de arquivos raiz no modo de leitura / gravação : mount -o remount,rw / .

  2. Use o comando Luis Alvarado : usermod -u NEW_UID your_username .

  3. Siga as instruções do ddeimeke para atualizar as permissões dos arquivos.
  4. Em seguida, reinicie seu computador ( reboot ), para que você possa inicializar no modo normal.
por Alexandre P. 10.12.2010 / 03:34
48

Você pode alterá-lo em /etc/passwd , /etc/group e /etc/shadow ou usar uma das possibilidades preferidas acima. Mas - mais importante - você precisa alterar a propriedade de todos os arquivos pertencentes ao usuário.

Por exemplo, se o ID do usuário antigo for 1000 e o novo for 5000:

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

E o mesmo para o id do grupo (se você alterar também)

find / -gid 1000 -exec chgrp -h 5000 {} +
    
por ddeimeke 09.12.2010 / 07:08
22

Solução completa baseada em @AlexandreP. e @ddeimeke + documentação oficial. Nenhuma reinicialização é necessária.

A política Debian / Ubuntu é que, se houver um usuário jim com ID de usuário 1001 , há também um grupo jim com ID de grupo 1001 . Esta solução também atualiza esses IDs de grupo.

  1. Ativar a conta root :

    sudo passwd root
    
  2. Se o usuário estiver logado, efetue logout (também em terminais virtuais)
  3. Ir para o VT1: Ctrl-Alt-F1
  4. Faça login como root e execute isso com o nome de usuário e o UID antigo / novo fornecidos:

    # 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. Sair
  6. Faça login como $username
  7. Desative a conta root :

    sudo passwd -dl root
    
por l0b0 24.07.2012 / 10:50
6

Se você for consolar e digitar: usermod --help , você receberá um dos parâmetros dizendo:

-u, --uid UID novo UID para a conta de usuário

então, se você quiser alterar o UID para o cyrex do usuário, faça:

usermod -u 1000 cyrex

que mudaria o uid para cyrex de qualquer valor que tivesse antes para 1000

Se você quiser fazer isso visualmente, faça o seguinte:

Vá para

% bl0ck_qu0te%

Selecione-se na lista e clique em CONFIGURAÇÕES AVANÇADAS

O UID está no final dessa janela.

    
por Luis Alvarado 09.12.2010 / 02:14
2
  • Vá para Sistema > > Administração > > Usuários e grupos

  • CliqueemConfiguraçõesavançadaseváparaaguiaAvançado,naparteinferiorvocêveráseuIDdeusuário.
  • Altereecliqueemok.
por karthick87 09.12.2010 / 06:10
0

Com o KDE: No menu Alterar configurações avançadas do usuário:

A mudança de outro usuário não funciona para 1000, que é o usuário padrão.

você tem que fazer isso manualmente - minha experiência

    
por skidzo 12.07.2011 / 13:17
0

Primeiro você precisa fazer o login como root, pelo menos por um tempo, então vamos tornar isso possível:

sudo passwd root

Reinicialize, ctrl + alt + f1 para alternar para o console, faça o login como root, faça o seguinte (a propriedade no diretório inicial será feita automaticamente):

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

Para seus arquivos em locais diferentes do diretório inicial, para isso:

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

Exclua e bloqueie a senha da raiz, se desejar. (Eu costumo mantê-lo):

passwd -dl root
    
por qed 29.11.2013 / 22:04
0

Eu segui as instruções ddeimeke com as seguintes alterações:

  1. Eu não fiz logout e, em vez disso, fiz sudo su
  2. não toquei em /etc/shadow

Eu vi mencionado nas outras respostas que você deve inicializar ou recuperar como root . O meu era uma nova instalação do Ubuntu 14, então eu estava disposta a testar se ele funcionaria sem logar como root . Também estava fazendo isso em uma instância do EC2 sobre SSH.

    
por KalenGi 27.11.2017 / 19:48