Resolvendo o Erro do Diretório Home
Agora que entendemos a causa do erro "Could not chdir to home directory" para nosso usuário de teste, vamos corrigi-lo. Exploraremos várias soluções que abordam diferentes causas raiz desse erro.
Solução 1: Criando o Diretório Home Ausente
Como nosso diagnóstico revelou que o diretório home para testuser não existe, podemos criá-lo:
sudo mkdir -p /home/testuser
Em seguida, precisamos definir a propriedade correta para este diretório:
sudo chown testuser:testuser /home/testuser
Também precisamos definir as permissões apropriadas:
sudo chmod 755 /home/testuser
Vamos verificar se o diretório foi criado com a propriedade e as permissões corretas:
ls -ld /home/testuser
Você deve ver uma saída semelhante a:
drwxr-xr-x 2 testuser testuser 4096 Sep 15 13:45 /home/testuser
Agora, vamos tentar mudar para a conta testuser novamente:
sudo su - testuser
Desta vez, você deve ser capaz de fazer login sem ver o erro "Could not chdir to home directory". Digite pwd para confirmar que você está no diretório correto:
pwd
A saída deve ser:
/home/testuser
Digite exit para retornar à sua conta de usuário regular:
exit
Solução 2: Copiando Arquivos de Usuário Padrão
Quando criamos um diretório home manualmente, ele não possui os arquivos de configuração padrão. Vamos copiar esses arquivos dos padrões do sistema:
sudo cp -r /etc/skel/. /home/testuser/
Vamos verificar se os arquivos foram copiados:
ls -la /home/testuser
Você deve ver agora arquivos ocultos como .bashrc, .profile e outros.
Precisamos garantir que esses arquivos tenham a propriedade correta:
sudo chown -R testuser:testuser /home/testuser
Solução 3: Recriando o Usuário com um Diretório Home
Uma abordagem alternativa é excluir e recriar o usuário com a flag -m, que cria automaticamente o diretório home:
sudo userdel -r testuser
sudo useradd -m testuser
sudo passwd testuser
Quando solicitado, defina uma senha como password123 novamente.
Vamos verificar se a nova conta de usuário possui um diretório home:
ls -ld /home/testuser
A saída deve confirmar que o diretório existe com a propriedade correta.
Verificando a Correção
Para garantir que nossa correção funcionou, vamos tentar fazer login como testuser mais uma vez:
sudo su - testuser
Digite pwd para confirmar que você está no diretório correto:
pwd
A saída deve ser:
/home/testuser
Digite exit para retornar à sua conta de usuário regular:
exit
Você resolveu com sucesso o erro "Could not chdir to home directory" para nosso usuário de teste.