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コンテキストをコピーして別のディレクトリに適用する方法は?