No se puede iniciar sesión: no se pudo iniciar el servicio de inicio de sesión

No se puede iniciar sesión: no se pudo iniciar el servicio de inicio de sesión

Tengo una instancia de VirtualBox de Oracle Linux 7.2 que no se inicia debido a Failed to start Login Service. En la secuencia de inicio, el proceso se bloquea con este mensaje y no continúa, por lo que ni siquiera puedo iniciar sesión y ejecutar systemctl status systemd-logind.service.

La causa probable de esto es que eliminé zsh mientras todos mis usuarios (incluido el root) tenían zsh configurado como shell predeterminado (¡obviamente!). Después de eso, la máquina se inició y llegué al mensaje de inicio de sesión, pero no pude iniciar sesión porque no se pudo encontrar el shell. Luego inserté un Live CD y comencé /etc/passwda cambiar el shell predeterminado para los usuarios /bin/bash. Después de esto, el servicio de inicio de sesión no se iniciará en absoluto. Alguna idea de cómo solucionar este problema?

Respuesta1

Descubrí que después de cambiarlo /etc/passwdya no tenía la configuración SELinux correcta. Realmente no necesito SELinux en mi máquina, así que resolví el problema desactivando SELinux por completo. Esto se hace fácilmente modificando el archivo /etc/selinux/configy configurando la opción SELINUX=permissive(si desea mantener el etiquetado del archivo SELinux para habilitarlo más tarde) o SELINUX=disabled(desactinándolo por completo).

Respuesta2

Me encontré con esto hoy con CentOS 7.2 en VirtualBox. Pude sshingresar como usuario habitual y emití

touch /.autorelabel

Luego reinicié para restablecer todos los contextos. Tarda un poco en arrancar, pero funcionó.

Respuesta3

Después de usarlo chageen modo de usuario único debido a una contraseña caducada, es necesario iniciar con SELINUX=permissivela configuración configurada /etc/selinux/configpara restaurar las etiquetas adecuadas.

Obtenga el contexto SELinux adecuado para cada archivo modificado desde un sistema sano ls -Z /etc/passwd /etc/shadowy aplique el contexto nuevamente al sistema roto.

como unejemplo, aquí hay un conjunto de comandos utilizados en CentOS 7 después de chage:NO APLIQUES¡Sin comparación con un sistema sensato (prueba o preproducción)!

chcon system_u:object_r:passwd_file_t:s0 /etc/passwd
chcon system_u:object_r:passwd_file_t:s0 /etc/group
chcon system_u:object_r:shadow_t:s0 /etc/shadow
chcon system_u:object_r:shadow_t:s0 /etc/gshadow

Revise el contexto SELinux de cualquier archivo que haya modificado en modo único, antes de reiniciar para SELINUX=enforcingvolver a las operaciones normales.

Otras formas de copiar el contexto SELinux están disponibles en¿Cómo copiar el contexto SELinux de un directorio y aplicarlo a otro directorio?

información relacionada