Algum tempo atrás, quando instalei o Ubuntu, escolhi um nome de usuário bastante estúpido para a minha conta que não quero mais usar.
Como altero isso (incluindo o nome do meu diretório pessoal e o nome no terminal) sem perder as configurações dos aplicativos?
Como mantenho as permissões e minhas chaves para várias autenticação (por exemplo, email, SSH, GPG e mais)?
Quais configurações podem se perder se eu mudar meu nome de usuário?
permissions
keyrings
gnupg
ssh
user-profile
Takkat
fonte
fonte
Respostas:
Os sistemas operacionais do tipo Unix separam o nome do usuário da identidade do usuário, portanto, você pode alterar com segurança o nome 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
usermod
ferramentaPara alterar o nome de usuário (provavelmente é melhor fazer isso sem estar conectado):
No entanto, isso não renomeia a pasta inicial.
Para alterar a pasta inicial, use
depois de alterar o nome de usuário.
Por exemplo, você pode sair, ir para um console ( Ctrl+ Alt+ F1) e
sudo su -
se tornar um verdadeiro root (em vez desudo -s
onde $ HOME ainda é / home / seu nome). Talvez você também precise matar alguns processos ainda em execução desse usuário primeiro. Para fazer isso, digiteps -u username
, procure o PID correspondente e mate-okill PID-number
.Atualização: conforme a organização mencionada, alguns arquivos podem fazer referência ao seu diretório inicial antigo. Você pode manter um link simbólico para compatibilidade com versões anteriores, por exemplo,
ln -s /home/newname /home/oldname
ou alterar o conteúdo do arquivo comsed -i.bak 's/*oldname*/*newname*/g' *list of files*
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), ele não me deixou mudar o nome de usuário ( "você já está logado" foi a resposta em tty1 ( Ctrl+ Alt+ F1). Para obter em torno disso:
Entre com suas credenciais antigas e adicione um novo usuário, por exemplo, "temporário" em TTY1:
defina a senha.
Permita que o usuário temporário execute o sudo adicionando o usuário ao grupo sudo:
exit
.exit
(até você receber o prompt de login)Exclua usuário e pasta temporários:
fonte
grep -IRFl /home/username ~
e você verá quantas referências ao seu diretório pessoal estão armazenadas lá./home/.ecryptfs/oldusername/.ecryptfs/Private.mnt
para apontar para sua nova pasta inicial, caso contrário, não será possível fazer login via Unity.sudo usermod -d /home/edge -m edge
produz:usermod: Directory /home/empedokles could not be renamed in /home/edge
ou seja, o passo 4 não funciona.sudoers
com planícienano
. Sempre usevisudo
.Para juntar tudo:
Defina uma senha para a conta "raiz".
Sair.
Entre usando a conta "root" e a senha que você definiu anteriormente.
Mude o nome de usuário e a pasta pessoal para o novo nome que você deseja.
Mude o nome do grupo para o novo nome que você deseja.
Bloqueie a conta "raiz".
Se você estivesse usando 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.Sair.
Pressione Ctrl+ Alt+ F7.
E agora você pode fazer login usando seu novo nome de usuário.
fonte
usermod -l
obter auser <oldname> is currently used by process <processno>
, você poderá encontrar esse processo (provavelmente um daemon ou tmux / screen) usandops aux | grep <processno>
. Você pode interromper esse processo normalmente, caso contrário, podekill <processno>
.Reinicie no modo de recuperação e vá para o shell do prompt raiz ("Solte no prompt do shell raiz")
Primeiro remonte a raiz
Para alterar o nome de usuário e o nome da pasta pessoal,
Para o nome do grupo,
fonte
usermod -l <newname> -d /home/<newname> -m <oldname>
isso me dá errousermod: user oldusername is currently used by process 3170
e se eu matar o processo ainda me dá o mesmo erro. usando ubuntu 13.10No Ubuntu 13.10, 14.04, 16.04:
fonte
Ao receber,
usermod: can't change /etc/password
execute os seguintes comandos:No console de recuperação raiz, execute:
Em seguida, execute novamente:
fonte
A resposta listada aqui por @ karthick87 funciona perfeitamente bem, mas aqui está o que eu faria apenas para estar seguro e evitar todas as falhas:
fonte
Quando você
usermod -l <newname> -d /home/<newname> -m <oldname>
receberuseradd: can't change /etc/passwd
uma mensagem de erro para evitar isso, basta adicionar osudo --
comando acima, comoe
fonte
Como nem todos os PCs possuem o
usermod
aplicativo, você pode fazê-lo manualmente. A partir da raiz aberta/etc/passwd
para edição:e altere o nome do usuário no início de uma linha:
para:
então, se você trabalhou no root, faça o login e, se tiver efetuado login
user
, faça logoff e faça login novamente.fonte
usermod
comando) e a senha do usuário não é mais aceita.usermod
sua instalação está quebrada, pois faz parte dopasswd
pacote, o que é necessário .