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

3

Eu tenho uma instância do VirtualBox do Oracle Linux 7.2 que não é iniciado devido a Failed to start Login Service . Na seqüência de inicialização, o processo trava nessa mensagem e não continua, portanto, não consigo nem efetuar 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) tinham o zsh configurado como shell padrão (duh!). Depois disso, a máquina começou e cheguei ao prompt de login, mas não consegui fazer o login, pois o shell não pôde ser encontrado. Em seguida, inseri um Live CD e entrei em /etc/passwd para alterar o shell padrão dos usuários para /bin/bash . Depois disso, o serviço de login não será iniciado. Alguma idéia de como consertar isso?

    
por lmazgon 04.11.2016 / 12:24

2 respostas

5

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

    
por 04.11.2016 / 13:13
1

Depois de usar chage no modo de usuário único por causa da senha expirada, é necessário inicializar com SELINUX=permissive definido em /etc/selinux/config para restaurar os rótulos adequados.

Obtenha o contexto SELinux adequado para cada arquivo modificado de um sistema sane com ls -Z /etc/passwd /etc/shadow e aplique o contexto de volta ao sistema corrompido.

Como um exemplo , aqui estão os comandos usados em um CentOS 7 depois de chage - NÃO SE APLICAR sem comparação de um sistema sane (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 do SELinux de qualquer arquivo que você tenha modificado no modo único, antes de reinicializar com SELINUX=enforcing para voltar às operações normais.

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

    
por 04.01.2018 / 10:24