Useradd sem o diretório Home

1

Eu criei um usuário sem o diretório home usando useradd -M Alice e configurei uma senha. Agora, quando eu faço login, recebo esta mensagem

No directory /home/Alice! Logging in with home= "/"
-bash-4.1$

Alguém pode explicar o significado da última linha e resolver esse problema?

    
por Lavanya Nidhi 27.05.2016 / 17:48

3 respostas

1

O sinal -M para useradd significa "não crie o diretório pessoal do usuário", portanto, o programa fez o que você pediu.

Você pode corrigir o problema criando um diretório pessoal para Alice e copiando os arquivos de modelo:

home=$(getent passwd Alice | cut -d: -f6)
uid=$(getent passwd Alice | cut -d: -f3)
gid=$(getent passwd Alice | cut -d: -f4)
mkdir -m755 "$home"
cp -a /etc/skel/. "$home"
chown -R $uid:$gid "$home"
    
por 27.05.2016 / 20:03
0

Eu acho que você pode resolver assim:

mkdir /home/Alice

chown -R Alice:Alice /home/Alice

Ainda melhor se você usar adduser em vez de useradd, o diretório será criado automaticamente.

    
por 27.05.2016 / 19:55
0

Logging in with home= "/" significa o que diz. Como não há diretório inicial para o usuário, o login usou o diretório raiz "/"

O -bash-4.1$ é o prompt bash padrão. Você vê que quando não há ~/.bashrc nem outros arquivos bash padrão. Estes são normalmente criados, armazenados e atualizados no diretório pessoal do usuário.

Usar "/" como diretório pessoal causará outros problemas, já que o usuário Alice provavelmente não tem permissão para gravar no diretório raiz do sistema de arquivos. :-)

Como roaima e Luciano Andress Martini escreveram, você pode corrigir esse problema criando um diretório pessoal.

    
por 27.05.2016 / 20:01

Tags