Não é possível fazer login: Falha ao iniciar o serviço de login

Não é possível fazer login: Falha ao iniciar o serviço de login

Eu tenho uma instância do VirtualBox do Oracle Linux 7.2 que não inicia por causa do Failed to start Login Service. Na sequência de inicialização o processo trava nesta mensagem e não continua, então não consigo nem fazer login e executar systemctl status systemd-logind.service.

A causa provável para isso é que eu removi o zsh enquanto todos os meus usuários (incluindo o root) têm o zsh definido como o shell padrão (duh!). Depois disso, a máquina foi iniciada e cheguei ao prompt de login, mas não consegui fazer login porque o shell não foi encontrado. Em seguida, inseri um Live CD e mudei /etc/passwdo shell padrão para os usuários /bin/bash. Depois disso, o serviço de login não será iniciado. Alguma idéia de como consertar isso?

Responder1

Descobri que depois de alterá-lo /etc/passwdnão havia mais as configurações corretas do SELinux. Eu realmente não preciso do SELinux na minha máquina, então resolvi o problema desabilitando completamente o SELinux. Isso é feito facilmente modificando o arquivo /etc/selinux/confige definindo a opção SELINUX=permissive(se você quiser manter a rotulagem do arquivo SELinux para habilitá-lo mais tarde) ou SELINUX=disabled(desligando-o completamente).

Responder2

Encontrei isso hoje com o CentOS 7.2 no VirtualBox. Consegui sshentrar como usuário regular e emiti

touch /.autorelabel

Em seguida, reinicie para redefinir todos os contextos. Demora um pouco para inicializar, mas funcionou.

Responder3

Depois de usar chageno modo de usuário único devido à senha expirada, é necessário inicializar com SELINUX=permissiveset in /etc/selinux/configpara restaurar os rótulos adequados.

Obtenha o contexto SELinux adequado para cada arquivo modificado de um sistema são ls -Z /etc/passwd /etc/shadowe aplique o contexto de volta ao sistema quebrado.

Como umexemplo, aqui estão os conjuntos de comandos usados ​​em um CentOS 7 após chage-NÃO SE APLICAsem comparação de um sistema sensato (teste ou pré-produção)!

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 o contexto SELinux de qualquer arquivo que você modificou no modo único, antes de reinicializar SELINUX=enforcingpara voltar às operações normais.

Outras maneiras de copiar o contexto do SELinux estão disponíveis emComo copiar o contexto SELinux de um diretório e aplicá-lo em outro diretório?

informação relacionada