pam 파일 시스템 인증을 복원하는 방법은 무엇입니까?

pam 파일 시스템 인증을 복원하는 방법은 무엇입니까?

내 Centos 7 시스템에서 당혹스러운 오류로 다음을 실행했습니다.

rm  /etc/pam.d/system-auth

이제 시스템이 부팅되지 않고 네트워크가 작동하지 않으며 전반적으로 시스템이 작동하지 않습니다.

단일 사용자 모드를 사용하고 실행하여 문제를 해결하려고했습니다.

ln -s /etc/pam.d/system-auth-ac /etc/pam.d/system-auth

이것은 아무것도 변경되지 않았으며 재부팅 후에도 시스템이 여전히 작동하지 않습니다.

내가 찾은 유일한 해결책은 비상 모드에서 심볼릭 링크를 복원하는 것입니다. 문제는 비상 모드에는 내가 가지고 있지 않은 루트 암호가 필요하며 단일 사용자 모드에서 변경할 수 없는 것 같습니다.

 Steps to reproduce:

 In a new CentOS installation:

• sudo rm  /etc/pam.d/system-auth    
• Restart    
• You will notice that the system won't reach the login page(if Gnome or KDE are enabled). Otherwise, you will reach the login page but it won't work even if you have the right credentials. 

단일 사용자 모드에서 루트 비밀번호를 변경한 후 긴급 모드로 로그인하려고 하면 오류가 발생합니다.

Steps trying to fix it : 
• Enter single user mode enabling it with rw init=/bin/bash
• ln -s  /etc/pam.d/system-auth-ac /etc/pam.d/system-auth

감사해요

답변1

실수로 rm /etc/pam.d/system-auth를 실행했습니다.

파일은 실제로 링크입니다/etc/pam.d/system-auth-ac

적어도 지금 내 RHEL 7.8 시스템을 살펴보면 CentOS에서도 마찬가지가 되기를 바랍니다.

따라서 CentOS 설치 DVD(또는 USB 스틱)를 사용하거나 손상된 OS 파티션을 읽기/쓰기로 마운트할 수 있는 라이브 Linux 복구 유형을 사용하여 시스템을 간단히 부팅할 수 있습니다. 음, 이것은 단지 루트로서 할 수 있는 일일 수도 있습니다.

ln -s   /etc/pam.d/system-auth-ac   /etc/pam.d/system-auth

그래도 문제가 해결되지 않으면 /etc/pam.d/system-auth-acCentOS와 동일해야 하는 RHEL 7.8 시스템 Linux 3.10.0-1127.8.2.el7.x86_64에 있는 내용이 있습니다. 파일 을 다시 생성하면 됩니다 /etc/pam.d/system-auth.

# This is the contents of   /etc/pam.d/system-auth-ac   from RHEL 7.8

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 200000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 200000 quiet
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

/etc/selinux/configSELINUX가 문제를 악화시키고 있다고 의심되는 경우 편집 하고 실행하기 만 하면 됩니다.SELINUX=permissive

답변2

selinux를 잊지 마세요. Sstatus가 당신에게 말할 수도 있습니다.

나는 selinux에 능숙하지 않습니다. 따라서 sestatus가 강제 실행을 지시하면

sed -i~ '/SELINUX=/s/=.*/=permissive/' /etc/selinux/config

다시 시작하면 이 시스템 인증을 사용할 수 있습니다.

귀하의 집/가게가 일부 selinux를 좋아한다면 이것은 좋은 수정은 아니지만 시스템 인증에 대한 올바른 컨텍스트를 파악하고 레이블을 다시 지정하고 상자에서 selinux를 다시 활성화하고 다시 반송하고 계속해야 합니다.

관련 정보