Không thể đăng nhập: Không thể bắt đầu Dịch vụ đăng nhập


8

Tôi đã có một phiên bản VirtualBox của Oracle Linux 7.2 sẽ không bắt đầu vì Failed to start Login Service. Trong trình tự khởi động, quá trình treo trên thông báo này và không tiếp tục, vì vậy tôi thậm chí không thể đăng nhập và thực hiện systemctl status systemd-logind.service.

Nguyên nhân có thể xảy ra cho điều này là do tôi đã xóa zsh trong khi tất cả người dùng của tôi (bao gồm cả root) có zsh được đặt làm vỏ mặc định (duh!). Sau đó, máy bắt đầu và tôi đã đến dấu nhắc đăng nhập, nhưng tôi không thể đăng nhập vì không thể tìm thấy trình bao. Sau đó tôi đã chèn một đĩa CD Live và đi vào /etc/passwdđể thay đổi vỏ mặc định cho người dùng /bin/bash. Sau đó, dịch vụ đăng nhập sẽ không bắt đầu. Bất kỳ ý tưởng làm thế nào để sửa lỗi này?

Câu trả lời:


9

Tôi phát hiện ra rằng sau khi thay đổi, /etc/passwdnó không còn cài đặt SELinux đúng nữa. Tôi thực sự không cần SELinux trên máy của mình vì vậy tôi đã giải quyết vấn đề bằng cách vô hiệu hóa Selinux hoàn toàn. Điều này được thực hiện dễ dàng bằng cách sửa đổi tệp /etc/selinux/configvà đặt tùy chọn SELINUX=permissive(nếu bạn muốn giữ nhãn Selinux để bật tệp sau) hoặc SELINUX=disabled(tắt hoàn toàn).


1
Lỗi này cũng xảy ra khi thay đổi mật khẩu gốc từ chế độ phục hồi khởi động đơn.
Shaun Dewberry

Thiết lập nó để disabledlàm việc cho tôi, nhưng không permissive, chúc mừng!
dspacejs

1

Sau khi sử dụng chageở chế độ một người dùng vì mật khẩu đã hết hạn, cần phải khởi động với SELINUX=permissivethiết lập /etc/selinux/configđể khôi phục nhãn phù hợp.

Nhận bối cảnh SELinux thích hợp cho mỗi tệp được sửa đổi từ một hệ thống lành mạnh ls -Z /etc/passwd /etc/shadowvà áp dụng bối cảnh trở lại hệ thống bị hỏng.

Như một ví dụ , đây là một tập hợp các lệnh được sử dụng trên CentOS 7 sau chage- KHÔNG ÁP DỤNG mà không so sánh từ một hệ thống lành mạnh (thử nghiệm hoặc tiền sả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

Xem lại bối cảnh SELinux của bất kỳ tệp nào bạn đã sửa đổi trong chế độ đơn, trước khi khởi động lại SELINUX=enforcingđể quay lại hoạt động bình thường.

Các cách khác để sao chép bối cảnh SELinux có sẵn tại Cách sao chép bối cảnh SELinux từ một thư mục và áp dụng nó vào thư mục khác?


3
hoặc thuận tiện hơn, chạy restoreconhoặc fixfiles restoretrên /etc/passwd. Nếu có nhiều tệp hơn - ví dụ /etc/passwd-- viết sai, toàn diện hơn là chỉ chạy fixfiles restore. Hoặc, fixfiles onbootvà khởi động lại; về mặt lý thuyết có thể đáng tin cậy hơn.
nguồn

Cảm ơn. Tôi vẫn phải tìm hiểu thêm về SELinux ...
Yves Martin

0

Tôi đã gặp điều này ngày hôm nay với CentOS 7.2 trên VirtualBox. Tôi đã có thể đăng sshnhập như một người dùng thông thường và được cấp

touch /.autorelabel

Sau đó khởi động lại để thiết lập lại tất cả các bối cảnh. Phải mất một thời gian để khởi động, nhưng làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.