Por que o CentOS me notifica “Login with home = /” o diretório inicial já foi criado?

3

Deixe-me esclarecer minha pergunta.

Eu tenho uma máquina virtual do CentOS 6, com o diretório /home montado em um volume lógico (formado por 2 HDDs virtuais). Eu usei este comando para criar um novo usuário chamado user03

useradd user03 -c "User 03"

e dê a ele uma senha:

passwd user03

Tudo aconteceu normalmente. Mas quando eu logar com user03, o CentOS me dá essa notificação:

No directory /home/user03!

Logging in with home = "/"

O estranho é: / home / user03 / existe e está associado ao user03 e o usuário03 tem acesso total. Quando faço isso

[user03@vm0 /]$ cd

[user03@vm0 ~]$ pwd

/home/user03

o diretório de trabalho é alterado de volta para / home / user03 / como deve ser feito.

Então, há algo de errado com o meu sistema? Por que me diz que "No directory / home / ..." enquanto esse diretório existe?

    
por Tuan LE 15.01.2015 / 08:40

3 respostas

1

Este comentário estava certo, é um problema do SELinux. Executar este comando e, em seguida, efetuar login novamente corrige o problema:

restorecon -r /home
    
por 15.01.2015 / 10:35
0

O comando useradd criará o diretório inicial se CREATE_HOME yes foi definido no arquivo /etc/login.defs .

De useradd manual:

       Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined
       with the -k option) will be copied to the home directory.
       useradd will create the home directory unless CREATE_HOME in /etc/login.defs is set to no.

Mas desde que você disse que /home/user03 existe e pertence a user03 e as permissões apropriadas estão definidas para ele, o problema pode ser causado pelo arquivo /etc/passwd . Caso contrário, faça o seguinte:

mkdir /home/user03
chown user03:user03 /home/user03
cp /etc/skel/* /home/user03
chmod 700 /home/user03

O 6º campo é o endereço residencial do usuário, talvez seu arquivo /etc/passwd esteja corrompido ou useradd não tenha adicionado este campo a este arquivo (não sei o que aconteceu!). No entanto, você pode editar esse arquivo e adicionar o endereço residencial do usuário a ele.

Meu userid no arquivo /etc/passwd é este:

Sepahrad:x:500:500:Sepahrad:/home/Sepahrad:/bin/bash
    
por 15.01.2015 / 08:51
-1

Minha solução foi alterar a permissão do diretório inicial.

chmod 777 /home

Eu sei, dar todas as permissões para todos os usuários não é a melhor solução, mas no momento ela funciona bem.

    
por 16.06.2016 / 17:16

Tags