Failed to start Login Service
Oracle Linux 7.2가 설치된 VirtualBox 인스턴스가 있는데 systemctl status systemd-logind.service
.
이에 대한 가능한 이유는 내가 zsh를 제거했고 내 모든 사용자(루트 포함)가 zsh를 기본 쉘로 설정했기 때문입니다(duh!). 그러면 머신이 부팅되고 로그인 프롬프트가 나타나지만 쉘을 찾을 수 없기 때문에 로그인할 수 없습니다. 그런 다음 Live CD를 삽입하고 /etc/passwd
사용자의 기본 셸을 /bin/bash
.로 변경한 후 로그인 서비스가 전혀 시작되지 않습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
답변1
/etc/passwd
변경한 후에 는 더 이상 올바른 SELinux 설정이 없다는 것을 발견했습니다 . 내 컴퓨터에는 SELinux가 필요하지 않았기 때문에 SELinux를 완전히 비활성화하여 문제를 해결했습니다. 이는 파일 /etc/selinux/config
및 설정 옵션을 수정하거나 SELINUX=permissive
(나중에 활성화할 수 있도록 SELinux 파일 태그를 유지하려는 경우) 또는 (완전히 끄는 경우) SELINUX=disabled
쉽게 수행할 수 있습니다 .
답변2
오늘 VirtualBox에서 CentOS 7.2를 사용하면서 이 문제가 발생했습니다. ssh
일반 사용자로 들어가서 문제를 풀 수 있었어요
touch /.autorelabel
그런 다음 재부팅하여 모든 컨텍스트를 재설정합니다. 시작하는 데 시간이 좀 걸리지만 작동합니다.
답변3
비밀번호 만료로 인해 단일 사용자 모드에서 사용한 후에는 올바른 레이블을 복원 하려면 chage
재부팅해야 합니다 .SELINUX=permissive
/etc/selinux/config
정상 시스템에서 수정된 각 파일에 대해 올바른 SELinux 컨텍스트를 얻고 ls -Z /etc/passwd /etc/shadow
해당 컨텍스트를 손상된 시스템에 다시 적용합니다.
로서예, 다음은 CentOS 7에서 사용되는 명령 세트입니다 chage
.신청하지 않음강력한 시스템(테스트 또는 사전 제작)과 비교할 필요가 없습니다!
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
SELINUX=enforcing
정상적인 작업을 재개하기 위해 재부팅하기 전에 단일 모드에서 수정한 모든 파일의 SELinux 컨텍스트를 확인하세요.
SELinux 컨텍스트를 복사하는 다른 방법은 다음에서 사용할 수 있습니다.한 디렉터리에서 SELinux 컨텍스트를 복사하여 다른 디렉터리에 적용하는 방법은 무엇입니까?