로그인할 수 없습니다: 로그인 서비스를 시작할 수 없습니다

로그인할 수 없습니다: 로그인 서비스를 시작할 수 없습니다

Failed to start Login ServiceOracle 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 컨텍스트를 복사하여 다른 디렉터리에 적용하는 방법은 무엇입니까?

관련 정보