como copiar uma conta de usuário antiga para uma nova conta de usuário?

4

minha conta de usuário antiga não está funcionando em todos os arquivos corrompidos, eu acho ...

as outras duas contas estão funcionando normalmente.

Para criar uma nova conta de administrador, pergunto-me como posso copiar todas as minhas configurações, senhas e arquivos da antiga conta de administrador para uma nova conta.

Eu não consigo usar a conta de administrador antiga que fica muito congelada, por isso ajudarei muito se eu puder fazer a migração da nova conta de administrador.

thanx!

    
por tinaf 18.07.2011 / 07:56

2 respostas

1

Você está basicamente perguntando: "Como copiar configurações e arquivos da minha conta de usuário para uma nova conta de usuário, pulando algumas configurações?"

Migrando para uma nova conta de usuário

Para mover arquivos do usuário old para new , você precisa copiar os arquivos e alterar a propriedade de acordo:

sudo cp -r -d --preserve=mode,timestamps -T ~old ~new
sudo chown -R new: ~new

Isso deve copiar os arquivos sem modificar os caminhos.

Faça login em um shell como new . Mude para um VTY usando Ctrl + Alt + F1 e efetue login como new ou efetue login a partir de um terminal usando su new . Se você escolheu o primeiro método, você pode voltar com Ctrl + Alt + F7 . A partir deste ponto, supõe-se que você esteja logado como new .

Se houver links simbólicos que apontam para seus diretórios antigos, encontre esses links:

find ~ -lname '*/old/*' -ls

Os nomes dos arquivos dos links simbólicos são impressos, mas nenhuma ação foi tomada. Para criar um novo symlink ~new/path/to/symlink apontando para ~old/point/to/target , sobrescrevendo o antigo, execute:

ln -sf ~old/point/to/target ~new/path/to/symlink

Pode haver arquivos de configuração referentes aos antigos, você pode encontrar esses arquivos com grep :

grep -HrnI 'old' ~

Se obtiver muitos resultados, considere ser mais específico, por exemplo, substitua old por /home/old . Os arquivos serão listados com linhas que correspondem aos critérios de pesquisa, mas nenhuma ação foi tomada.

Depurando a conta antiga

Se você copiar todas as configurações e arquivos, será melhor remover os arquivos problemáticos. Para melhores resultados, é uma boa idéia fazer o logout do usuário do assunto de uma sessão GUI e logar em um console virtual (mudar para ele usando Ctrl + Alt + F1 ).

Se, de repente, você estiver desconectado, verifique ~/.xsession-errors . Você pode fazer isso executando:

less ~/.xsession-errors

Use as teclas de seta, Page Up / Down, Home ou End para navegar, pressione Q para sair.

Às vezes, o arquivo .gconfd/saved_state fica corrompido. Você pode remover este arquivo com:

rm .gconfd/saved_state

Depois de fazer isso, volte para o login da GUI pressionando Ctrl + Alt + F7 . Faça o login e se o problema desapareceu, você está feito. Caso contrário, efetue logout e volte para o console virtual usando Ctrl + Alt + F1 .

Outro diretório que pode ser esvaziado é ~/.cache :

rm -r ~/.cache/*

Em vez de perder todos os arquivos e configurações, mova temporariamente algumas pastas. Isso pode ser feito com:

mv folder{,-orig}

Se uma pasta não estava causando problemas, remova a pasta recém-criada e restaure a antiga:

rm -r folder
mv folder{-orig,}

Algumas pastas que podem causar problemas (algumas podem ser inexistentes, nesse caso, pule para a próxima pasta):

.gnome
.gnome2
.kde
.config
.local

Como em todas as modificações, volte para um login da GUI e teste-o.

    
por Lekensteyn 18.07.2011 / 09:15
0

Supondo que você já tenha criado seu newuser e a pasta inicial do newuser :

(1/2) Copie todos os arquivos para o novo usuário:

sudo rsync -ah --progress /home/olduser/. /home/newuser

Notas:

  • rsync é uma função semelhante, mas geralmente melhor que cp . Tem mais opções etc
  • O comando -a retém as permissões dos arquivos originais (classificaremos as propriedades na etapa 2)
  • O comando -h transforma informações de saída em um formato legível por humanos (por exemplo, tamanhos de arquivo, etc.)
  • --progress adiciona uma barra de progresso para cada arquivo
  • o /. no final da localização olduser faz com que ele inclua arquivos ocultos (isso garantirá que os arquivos bash_aliases e bashrc etc. sejam copiados e não apenas arquivos normais. Essa opção é o que migra suas configurações.)

(2/2) Altere o proprietário dos arquivos copiados

Agora, alteramos todas as posses dos arquivos:

sudo chown -R --from=olduser:oldusergroup newuser:newusergroup /home/newuser

Notas:

  • chown é uma função para CHange-OWNership de arquivos
  • -R torna recursivo. (Se você está apenas alterando um arquivo, você não precisa disso, mas estamos mudando todos os arquivos e diretórios e tudo dentro da sua nova pasta de usuário e, portanto, é necessário recursividade)
  • --from=olduser:oldusergroup garante que não alteramos nenhum arquivo (especialmente relevante para arquivos ocultos) que seja 'propriedade' do root. Mudar isso pode atrapalhar muito. Essa opção --from informa a chown que só queremos alterar arquivos e pastas que pertencem atualmente a olduser .

Isso funcionou para mim e, embora eu tenha explicado muito aqui, na verdade, são apenas dois comandos principais, então o processo é muito simples quando você trabalha como manter as permissões, etc.

    
por mjp 30.03.2017 / 17:35