Como eu mudo meu nome de usuário?

249

Algum tempo atrás, quando eu instalei o Ubuntu, escolhi um nome de usuário bastante estúpido para a minha conta que eu não quero mais usar.

Como eu altero isso (incluindo o nome do meu diretório pessoal e o nome no terminal) sem perder configurações para aplicativos?
Como faço para manter as permissões e minhas chaves para várias autenticações (por exemplo, email, SSH, GPG e mais)?
Quais configurações poderiam se perder se eu mudasse meu nome de usuário?

    
por Takkat 08.04.2011 / 10:25

7 respostas

238

Sistemas operacionais semelhantes ao Unix desacoplam o nome de usuário da identidade do usuário, portanto, você pode alterar o nome com segurança sem afetar o ID. Todas as permissões, arquivos, etc. estão vinculados à sua identidade (uid), não ao seu nome de usuário.

Para gerenciar todos os aspectos do banco de dados do usuário, use a ferramenta usermod .

Para alterar o nome de usuário (provavelmente é melhor fazer isso sem estar logado):

sudo usermod -l newUsername oldUsername

Isso, no entanto, não renomeia a pasta base.

Para alterar a pasta inicial, use

sudo usermod -d /home/newHomeDir -m newUsername

depois que você alterou o nome de usuário.

Por exemplo, você pode fazer logout, acessar um console ( Ctrl + Alt + F1 ) e sudo su - para se tornar verdadeiro root (em oposição a sudo -s , em que $ HOME ainda é / home / yourname.) Talvez você também tenha que matar alguns processos ainda em execução desse usuário primeiro. Para fazer isso, digite ps -u username , procure o PID correspondente e mate-os por kill PID-number .

Atualização: conforme combinado, alguns arquivos podem fazer referência ao seu antigo diretório inicial. Você pode manter um link simbólico para compatibilidade com versões anteriores, e g ln -s /home/newname /home/oldname ou você pode alterar o conteúdo do arquivo com sed -i.bak 's/*oldname*/*newname*/g' *list of files* Ele cria um backup para cada arquivo com uma extensão .bak.

Algumas informações adicionais para usuários não tão experientes como eu:
Como eu só tenho UMA conta de usuário (administrador), ela não me deixa alterar o nome de usuário ("você já está logado" foi a resposta em TTY1 ( Ctrl + Alt + F1 ) Para contornar isto:

  1. Faça login com suas credenciais antigas e adicione um novo usuário, por exemplo, "temporário" em TTY1:

    sudo adduser temporary
    

    defina a senha.

  2. Permite que o usuário temporário execute o sudo adicionando o usuário ao grupo sudo:

    sudo adduser temporary sudo
    
  3. Efetue logout com o comando exit .
  4. Retornar para tty1: faça login com a conta e senha de usuário 'temporária'. Altere seu nome de usuário e pasta conforme mencionado acima. exit (até você obter o prompt de login)
  5. Volte para TTY7 ( Ctrl + Alt + F7 ) para fazer o login na tela da GUI / normal e veja se isso funciona.
  6. Excluir usuário e pasta temporários:

    sudo deluser temporary
    sudo rm -r /home/temporary
    
por Egil 08.04.2011 / 10:48
85

Para juntar tudo:

  1. No visor inicial, pressione Ctrl + Alt + F1 .
  2. Faça login usando seu nome de usuário e senha.
  3. Defina uma senha para a conta "root".

    sudo passwd root
    
  4. Logout.

    exit
    
  5. Faça login usando a conta "root" e a senha que você definiu anteriormente.

  6. Altere o nome de usuário e a pasta pessoal para o novo nome que você deseja.

    usermod -l <newname> -d /home/<newname> -m <oldname>
    
  7. Altere o nome do grupo para o novo nome que você deseja.

    groupmod -n <newgroup> <oldgroup>
    
  8. Bloqueie a conta "raiz".

    passwd -l root
    
  9. Se você estava usando o ecryptfs (diretório inicial criptografado). Monte seu diretório criptografado usando ecryptfs-recover-private e edite <mountpoint>/.ecryptfs/Private.mnt para refletir seu novo diretório inicial.

  10. Logout.

    exit
    
  11. Pressione Ctrl + Alt + F7 .

E agora você pode fazer login usando seu novo nome de usuário.

    
por Valentin Uveges 06.07.2013 / 11:43
23

Reinicie no modo de recuperação e vá até o shell de prompt raiz ("Descartar o prompt do shell de root")

Primeiro remontar a raiz

mount -o remount,rw /

Para alterar o nome de usuário e o nome da pasta base,

usermod -l <newname> -d /home/<newname> -m <oldname>

Para o nome do grupo,

groupmod -n <newgroup> <oldgroup>
    
por karthick87 08.04.2011 / 11:23
10

(Usando o Ubuntu 13.10, 14.04, 16.04) Clique no ícone "Configurações do Sistema". Em seguida, clique em "Contas de Usuário". Sua conta de administrador deve ser exibida. Clique no botão "Desbloquear". Digite sua senha de usuário conforme solicitado para permitir alterações em sua conta. Uma vez desbloqueado, você pode clicar no seu antigo nome de usuário que deseja alterar e digitar um novo nome de usuário para substituí-lo. Depois de digitar o novo nome, clique no botão "Bloquear" para tornar a alteração permanente. Reinicie o Ubuntu.

    
por Chicodoodoo 08.07.2014 / 00:45
2

Ao receber usermod: can't change /etc/password , execute os seguintes comandos:

Na execução do console de recuperação raiz:

mount -o remount,rw /

Em seguida, execute novamente:

usermod -l <newname> -d /home/<newname> -m <oldname>
    
por user1511576 30.07.2014 / 14:14
0

quando você faz usermod -l <newname> -d /home/<newname> -m <oldname> você vai conseguir useradd: can't change /etc/passwd mensagem de erro para evitar isso basta adicionar sudo -- ao comando acima como

sudo -- usermod -l <newname> -d /home/<newname> -m <oldname>

e

sudo --  groupmod -n <newgroup> <oldgroup>
    
por Sriraj Hebbar 06.08.2013 / 08:12
-3

Como nem todos os PCs têm o aplicativo usermod , você pode fazer isso manualmente. A partir da raiz, abra /etc/passwd para editar:

sudo vim /etc/passwd

e altere o nome do usuário no começo de uma linha:

user:x:500:501:username:home/user:/bin/bash

para:

newuser:x:500:501:username:home/user:/bin/bash

então, se você trabalhou de root, apenas faça o login e se você fez login em user , logoff e relogin.

    
O
por Малъ Скрылевъ 16.12.2014 / 14:15