Windows 7의 가상 머신으로 centos7이 있습니다. 그 동안 루트 외에 또 다른 사용자 "john"을 만들었습니다. 얼마 후 루트 비밀번호를 잊어버려서 단일 사용자 프롬프트로 재설정했습니다. 그 이후로 "john"으로 로그인할 때마다 이 작업을 수행할 수 없습니다 su -l root
. 알겠어요 permission denied
. 루트로 로그인하고 sudoer 파일을 다음 내용으로 변경했습니다.
root ALL=(ALL) ALL
admin ALL=/bin/su
Defaults: admin rootpw
john ALL=(ALL) ALL
그런 다음 John을 휠 그룹에 추가하고 다음 /etc/pam.d/su
과 같이 업데이트했습니다.
auth required pam_wheel.so use_uid
su -l john
또한 "root"로 로그인한 경우에는 이 작업을 수행할 수 없습니다. 도움을 주셔서 감사합니다.
/var/log/secure
보여주다:
Mar 6 .... localhost su: PAM(other) no module name supplied
Mar 6 .....localhost su: PAM(other) illegal module type: @include
Mar 6 .....localhost su: PAM pam_parse: expecting return value: [...common-session]
매니
답변1
PAM에 일부 구성 오류가 있는 것 같습니다. 최근 변경 사항은 /etc/pam.d를 확인하세요. 빠른 확인을 위해 다음을 수행할 수 있습니다.
for i in /etc/pam.d/* ; do rpm -qf $i; done | sort -u | sed -e 's/-[0-9]*.*//' | while read p; do echo "Verrifing package $p"; rpm -V $p ; done
기본적으로 /etc/pam.d에 파일이 있는 모든 패키지가 인쇄됩니다. 다음으로 sed를 사용하여 버전 태그를 제거하고 마지막으로 디스크의 파일을 rpm 패키지의 파일과 비교하는 rpm -V를 사용했습니다.
변경 사항이 감지되면 다음 형식으로 화면에 인쇄됩니다.
S.5....T. c /etc/pam.d/su-l
플래그 비트의 의미는 다음과 같습니다. ( man rpm
)
S 파일 크기는 다양합니다. M 모드가 다릅니다(권한 및 파일 형식 포함). 5개의 다이제스트(이전 MD5 합계)가 다릅니다. D 장치 메이저/마이너 번호가 일치하지 않습니다. L readLink(2) 경로 불일치 U 사용자 소유권이 다릅니다 그룹 G는 소유권이 다릅니다. T m시간이 다릅니다 P는 능력이 다릅니다
변경된 파일을 찾으면 자신이 변경한 내용인지, 오류가 있는지 확인할 수 있습니다. 문제가 있는 구성 파일을 이동하고 해당 파일을 소유한 패키지를 다시 설치해야 할 수도 있습니다 yum reinstall pkg_name
.