Como alterar o diretório para $ HOME

1

Minha pasta pessoal ( ~ e $HOME ) aponta para /home/user , como altero esse diretório?

Eu tentei

HOME=/new/dir

Mas isso só funciona até eu começar um novo shell.

Eu também tentei procurar definições em /etc/environment , ~/.profile e /etc/profile.d/ , mas não encontrei HOME definido em lugar algum.

Eu também procurei aqui , mas não estou interessado em movê-lo para uma partição separada, Eu apenas gostaria de mudar o diretório para o qual ele aponta.

    
por Kirbies 09.04.2015 / 23:35

2 respostas

3

HOME é geralmente derivado da entrada do usuário em /etc/passwd . Você pode usar usermod para alterar esta entrada, mas somente se o usuário não estiver logado. Portanto, você precisa ou:

  1. Defina uma senha de root e faça o login como root em um TTY ou
  2. Inicialize no modo de recuperação (consulte Como faço para redefinir uma perda administrativa senha? para um guia de exemplo)

Em ambos os casos, depois de ter um shell de root, faça:

usermod --move-home --home /path/to/new/home your-username
chown your-username:$(id -gn your-username) /path/to/new/home -R

Isso deve mover seu diretório home para o novo local e garantir a propriedade correta (que o comando usermod deve fazer, o chown é apenas no caso). Agora faça o logout / reboot e faça login como seu usuário.

    
por muru 09.04.2015 / 23:47
1

Para apenas alterar o diretório inicial do usuário USER para /some/other/dir use

sudo usermod --home /some/other/dir USER

Você precisa garantir que /some/other/dir exista e tenha permissões adequadas. Nenhum arquivo será copiado.

Se você quiser mover o conteúdo do diretório home antigo para o novo, poderá usá-lo.

sudo usermod --move-home --home /some/other/dir USER

Substitua /some/other/dir pelo caminho da nova pasta base. Se ainda não existir, será criado. O conteúdo do antigo $ HOME será movido para o novo.

    
por Florian Diesch 09.04.2015 / 23:50