Não é possível fazer login na conta de usuário recém-criada

21

Tentando mudar as contas para minha conta recém-criada, recebo uma tela preta e, em seguida, ela me leva de volta à tela de login principal depois de inserir a senha correta.

Ao fazer login na minha conta existente, recebo:

"System Program Problem Detected"

Details:

Executable path /usr/bin/Xorg

Package: xserver-xorg-core 2:1.11.4-0ubuntu10.1

Details: Crash
... (tons more, but no way to copy paste or save)

Quando tento su

su -l penner

Eu recebo:

No directory, logging in with HOME=/

Eu criei manualmente o diretório inicial e esse erro desaparece, mas ainda não há sorte com o login. Parece que algo deu errado com a criação do usuário? Como posso corrigir isso?

    
por penner 05.07.2012 / 10:38

2 respostas

23

Se você criou a conta de usuário com useradd , para configurar tudo manualmente. É por isso que, ao criar contas de usuário a partir da linha de comando, é recomendável usar adduser no Ubuntu (e Debian, e outros sistemas baseados em Debian). Você pode apenas querer remover o usuário com userdel ou deluser e recrie-o com adduser . Caso contrário ...

Corrigindo o local do diretório local

Se você deseja manter a conta do usuário e corrigir o problema, é necessário analisar:

  • o nome do diretório inicial em que a conta do usuário está realmente configurada para
  • o nome do diretório que você criou de fato

Estes devem ser exatamente os mesmos. A mensagem de erro que você recebe com su -l penner está dizendo que eles não são iguais.

Para verificar o diretório inicial para o qual a conta do usuário está configurada, execute este comando (consulte man 5 passwd e man grep para obter mais informações) :

grep penner /etc/passwd

Você deve ver uma linha como esta:

penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash

Ou seja, o sexto campo : -separated (após o quinto : ) contém o diretório inicial. Se não for /home/penner , deveria ser. Se o diretório que você criou para o usuário não for /home/penner , também deverá ser. Se os dois diretórios são os mesmos, mas nenhum é /home/penner , então isso pode, teoricamente, funcionar, mas você deve torná-los ambos /home/penner , porque muitos softwares assumem que todos os diretórios home de não root usuários são /home/username .

Você pode alterar o diretório pessoal de penner para /home/penner executando este comando:

sudo usermod -d /home/penner penner

Garantindo que seja um diretório e que o usuário tenha acesso

Se (ou uma vez) os nomes forem ambos /home/penner , você também deve se certificar de que o usuário tenha acesso ao seu próprio diretório pessoal. Executar:

ls -ld /home/penner

Você deve ver algo parecido com isso (embora a data e a hora sejam diferentes):

drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner

Se, em vez de drwxr-xr-x , você tiver algo que começa com - em vez de d , você criou um arquivo em vez de um diretório. Exclua o arquivo e crie um diretório lá.

Se, em vez do primeiro penner você tiver outra coisa, o usuário não possuir o diretório inicial, então faça com que ele seja o proprietário:

sudo chown penner /home/penner
  • Consulte man chown para obter mais informações.

Se, em vez de drwxr-xr-x , houver traços nos próximos três caracteres após o d , o usuário não terá acesso total a ele. Corrija isso da seguinte maneira:

sudo chmod u+rwx /home/penner
  • Consulte man chmod para obter mais informações.

( penner é capaz de executar este comando se eles possuem seu diretório home, então se você preferir, você pode executar isto como: sudo -u penner u+rwx /home/penner )

Garantindo que outros usuários não tenham acesso de escrita geral

Se, em vez de drwxr-xr-x , houver w s em vez de - s nas últimas seis letras, os usuários além de penner poderão ter acesso de gravação ao diretório pessoal de penner . Isso é perigoso (a menos que você realmente saiba o que você está fazendo e queira dessa forma e tenha configurado as coisas para que não seja um problema). Para corrigir:

sudo chmod -R go-w /home/penner

Outros padrões

Existem outras alterações que você pode querer fazer. Por padrão no Ubuntu (isto é, se você criar uma conta de usuário com adduser ou com uma ferramenta gráfica, o que você não fez):

  1. Os diretórios iniciais têm permissões de leitura e gravação para todos, não apenas para o usuário que os possui. Os usuários podem alterar isso, seja para o diretório home inteiro ou quaisquer arquivos e subdiretórios dentro dele. Mas se você quiser esse padrão e não tiver o segundo e o terceiro r e x em drwxr-xr-x , execute:

    sudo chmod 755 /home/penner
    

    ( penner é capaz de executar este comando se eles possuem seu diretório home, então se você preferir, você pode executar isto como: sudo -u penner chmod 755 /home/penner )

  2. Cada usuário tem seu próprio grupo, com o mesmo nome do usuário, e esse é o grupo principal do usuário. Seu diretório inicial é de propriedade desse grupo. Esse é o significado do segundo penner in drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner . Não há problema em romper com esse padrão, se você sabe o que está fazendo .Mas se não for sua intenção fazer as coisas de maneira diferente, certifique-se de que penner esteja configurado dessa forma, pois algumas identidades de grupos primários possíveis para um usuário ou proprietários de grupos no diretório inicial do usuário podem causar problemas de segurança. / p>

    Execute groups penner . (Veja man groups para mais informações.) Você deve ver algo como isto :

    penner : penner adm dialout cdrom plugdev lpadmin sambashare
    

    Não se preocupe se não for bem assim. Eu vou chegar a isso em breve. Em vez disso, observe a primeira palavra após o : . Esse é o nome do grupo principal do usuário. Supondo que você queira que seja penner , certifique-se de que seja. Se não for, mude:

    sudo usermod -g penner penner
    

    Se você receber um erro dizendo que o grupo penner não existe, será necessário criá-lo com este comando (e depois executar o comando acima novamente):

    sudo addgroup penner
    
    • Consulte man addgroup para obter mais informações. Se preferir, você pode alternativamente usar o comando groupadd para criar grupos.)
  3. Quando você executou groups penner , você pode ter obtido uma lista de grupos consideravelmente mais curta que meu penner : penner adm dialout cdrom plugdev lpadmin sambashare . Para usuários de desktop, os adm , dialout , cdrom , plugdev , lpadmin e sambashare fornecem habilidades que os usuários de desktop geralmente devem ter. Portanto, a menos que você tenha um motivo para fazer isso, penner deve estar nesses grupos. Estes são não grupos primários, no entanto, eles são definidos de forma diferente. Supondo que penner não esteja em nenhum desses grupos e você queira que penner esteja em todos eles, execute este comando:

    sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
    

    Caso você esteja interessado, veja o que todos esses grupos significam:

    (Fonte: Privilégios , na wiki de documentação do Ubuntu.)

Tornando o usuário um administrador

Se você não quiser que penner seja um administrador, provavelmente não precisará fazer mais nada. Você pode verificar se penner é um administrador com groups penner . Se nem admin nem sudo estiver listado, então penner não é um administrador.

Se você quiser que penner seja um administrador, adicione penner a qualquer um desses grupos. (Você também pode adicionar penner a ambos, se ambos existirem.) Você pode fazer isso executando esses dois comandos separadamente - se um deles tiver êxito, você terá feito penner um administrador:

sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
  • A razão pela qual existem dois grupos é que, antes do Ubuntu 12.04 LTS, os administradores estavam no grupo admin . Começando com o Ubuntu 12.04 LTS, os administradores estão no grupo sudo . Mas se seu sistema 12.04 LTS for atualizado de uma versão anterior (e isso deve se aplicar a versões posteriores do Ubuntu, como 12.10 quando for lançado, atualizado do Ubuntu 11.10 ou anterior), então para compatibilidade com versões anteriores, administradores são membros de ambos sudo e admin . Geralmente, se um desses grupos não confere habilidades administrativas, simplesmente não existe, portanto, executar os dois comandos acima (separadamente, não como sudo usermod -a -G admin,sudo penner ) é geralmente uma maneira segura e eficiente de tornar penner um administrador.
por Eliah Kagan 05.07.2012 / 11:48
-1

ctrl + alt + f1 e faça o login e execute

sudo chown -R $ USER: $ USER $ HOME

pressione ctrl + alt + f7 e tente fazer o login

funcionará

    
por Shameer Theen H 04.06.2013 / 09:18