Directorio tmp eliminado, no puedo iniciar sesión en el sistema

Directorio tmp eliminado, no puedo iniciar sesión en el sistema

Ingresé mal un comando en un directorio (no recuerdo qué es. Tal vez esté en mi home/user/o en el /directorio) en Ubuntu Linux.

sudo rm -f -r tmp

Después de eso, cuando reinicio e inicio sesión, no puedo iniciar sesión cuando uso ese usuario. El sistema dice que falta algún archivo de configuración para algunas aplicaciones que no conozco en Gnome.

Sin embargo, puedo iniciar sesión con el usuario root.

¿Puedo resolver el problema?

Respuesta1

Como root, haz esto:

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

Respuesta2

¡Muchas gracias Dennis Williamson! Sólo para que la respuesta sea más detallada:

Mientras esté en la pantalla de inicio de sesión, presione Ctrl+ Alt+ F1(hágalo en el mismo orden) para cambiar a la interfaz del modo de comando. Desde allí puede iniciar sesión con su nombre de usuario y contraseña. entonces corre:

# 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

Luego reinicie su computadora. Funcionó para mí :)

También puedes echarle un vistazo. aquí.

Respuesta3

Me gustaría agregar más información sobre este problema, ya que me molestó durante muchas horas. Nunca imaginé que el directorio /tmp fuera tan importante en Ubuntu.

También puedes detectar este problema si abres el archivo (/var/log/auth.log) y buscas algunas líneas similares 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>

Esto debe haber sucedido porque probablemente cambiaste los permisos del directorio /tmp. Y es por eso que puedes iniciar sesión con root y no con otros usuarios. Como Dennis Williamson escribió este comando (sudo chmod o+t,ugo+rw /tmp) establece los permisos correctos (drwxrwxrwt)

información relacionada