Diretório Tmp excluído, não consigo fazer login no sistema

Diretório Tmp excluído, não consigo fazer login no sistema

Eu inseri incorretamente um comando em um diretório (não me lembro o que é. Talvez esteja no meu home/user/ou no /diretório) no Ubuntu Linux.

sudo rm -f -r tmp

Depois disso, quando reinicio e faço login, não consigo fazer login quando uso esse usuário. O sistema diz que falta algum arquivo de configuração para alguns aplicativos que não conheço no Gnome.

No entanto, posso fazer login com user root.

Posso resolver o problema?

Responder1

Como root, faça isso:

# mkdir /tmp
# chmod o+t,ugo+rw /tmp

Responder2

Muito obrigado Dennis Williamson! Apenas para tornar a resposta mais detalhada:

Enquanto estiver na tela de login, pressione Ctrl+ Alt+ F1(faça na mesma ordem) para mudar para a interface do modo de comando. A partir daí você pode fazer login com seu nome de usuário e senha. então corra:

# sudo apt-get update
# sudo apt-get upgrade
# sudo rm -Rf /tmp
# mkdir /tmp #or if it didn't work run: sudo mkdir /tmp
# sudo chmod o+t,ugo+rw /tmp
# exit

Em seguida, reinicie o seu computador. Funcionou para mim :)

Você também pode dar uma olhada aqui.

Responder3

Gostaria de acrescentar mais informações sobre esse problema, pois ele me incomodou por muitas horas. Eu nunca imaginaria que o diretório /tmp fosse tão importante no Ubuntu.

Você também pode detectar esse problema se abrir o arquivo (/var/log/auth.log) e procurar algumas linhas semelhantes a estas:

Jan 18 01:55:12 localhost **gnome-keyring-daemon**[2016]: couldn't create socket directory: **Permission denied**
Jan 18 01:55:12 localhost gnome-keyring-daemon[2016]: couldn't bind to control socket: /tmp/keyring-mKRg6t/control: **No such file or directory**
Jan 18 01:55:12 localhost lightdm: pam_unix(lightdm:session): session closed for user <your_username>

Isso deve ter acontecido porque você provavelmente alterou as permissões do diretório /tmp. E é por isso que você pode fazer login com root e não com outros usuários. Como Dennis Williamson escreveu este comando (sudo chmod o+t,ugo+rw /tmp) define as permissões corretas (drwxrwxrwt)

informação relacionada