"지정된 세션에 대한 항목을 생성/삭제할 수 없습니다"는 무엇을 의미합니까?

"지정된 세션에 대한 항목을 생성/삭제할 수 없습니다"는 무엇을 의미합니까?

로그인을 요구하는 대신 PAM"라는 메시지가 반갑게 나왔습니다.지정된 세션에 대한 항목을 생성/삭제할 수 없습니다."비밀번호를 입력한 후. 어떤 항목(그리고 어떤 세션)을 말하는 건가요?

오류 메시지가 포함된 문자열은 libpam.so.0(.83.1)에서 찾을 수 있습니다.

내 시스템은 Fedora 버전 20(Heisenburg) 바이너리를 기반으로 합니다.

성공적인 로그인에 필요한 것이 무엇인지 알아보기 위해 PAM 문제를 해결하려면 어떻게 해야 합니까? 시스템 로그가 없습니다(영구 디스크도 없고 initramfs만 있음).

고쳐 쓰다:

SELinux가 비활성화되었습니다.

전체 PAM 구성을 가상 콘솔에서 로그인(일반 사용자 및 루트)만 허용하는 간단한 구성으로 바꾸고 싶습니다.

Linux-PAM-1.1.8의 소스 코드 libpam/pam_strerror.c는 메시지가 PAM_SESSION_ERR메모리 할당 오류 또는 사용자 홈 디렉터리를 찾을 수 없는 등 다양한 내부 문제로 인해 발생할 수 있는 오류 코드에서 비롯된 것임을 보여줍니다. 오류 메시지를 설명하기 위해 노력했습니다. :-(


/etc/pam.d/login시작점으로 표시된 주석을 기반으로 한 구성 파일은 다음과 같습니다.

pam_loginuid.so(또한 눈에 띄는 차이 없이 포함된 모든 줄을 제거해 보았습니다 .)


/etc/pam.d/login:

인증 [user_unknown=성공 무시=확인 무시=무시 기본값=나쁨] pam_securetty.so
인증 서브스택 시스템-인증
인증에는 로그인이 포함됩니다.
pam_nologin.so 계정이 필요합니다.
계정에는 시스템 인증이 포함됩니다.
비밀번호에는 시스템 확인이 포함되어 있습니다.
pam_selinux.so 세션을 닫아야 합니다.
pam_loginuid.so 세션이 필요합니다.
세션 선택 사항 pam_console.so
pam_selinux.so 세션을 열어야 합니다.
pam_namespace.so 세션이 필요합니다.
세션 선택적 pam_keyinit.so 강제 취소
세션에는 시스템 인증이 포함됩니다.
로그인 후 세션이 포함됩니다.
-세션 선택 사항 pam_ck_connector.so

/etc/pam.d/postlogin:

세션 [성공 = 1 기본값 = 무시] pam_succeed_if.so service!~ gdm* service!~ su* Quiet
세션[기본값=1] pam_lastlog.so nowtmp showfailed
세션 선택적 pam_lastlog.so 자동 noupdate 표시 실패

/etc/pam.d/system-auth:

인증 필요 pam_env.so
적절한 pam_fprintd.so를 확인하세요.
pam_unix.so nullok try_first_pass가 충분한지 확인하세요.
인증 필요 pam_succeed_if.so uid >= 1000 Quiet_success
인증 필요 pam_deny.so
pam_unix.so 계정이 필요합니다.
계정이 충분합니다. pam_localuser.so
계정이 충분함 pam_succeed_if.so uid < 1000 Quiet
pam_permit.so 계정이 필요합니다.
비밀번호가 필요합니다 pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
비밀번호가 충분합니다. pam_unix.so sha512 Shadow nullok try_first_pass use_authtok
비밀번호 pam_deny.so 필요
세션 선택 사항 pam_keyinit.so 취소
pam_limits.so 세션이 필요합니다.
-세션 선택사항 pam_systemd.so
세션의 pam_succeed_if.so 서비스 [success=1 기본값=무시] crond use_uid
pam_unix.so 세션이 필요합니다.

공유 PAM 관련 라이브러리가 있습니다.:

libpam_misc.so.0
libpam.so.0
pam_access.so
pam_console.so
pam_deny.so
pam_env.so
pam_fprintd.so
pam_gnome_keyring.so
pam_keyinit.so
pam_lastlog.so
pam_limits.so
pam_localuser.so
pam_loginuid.so
pam_namespace.so
pam_nologin.so
pam_permit.so
pam_pkcs11.so
pam_pwquality.so
pam_rootok.so
pam_securetty.so
pam_selinux_permit.so
pam_selinux.so
pam_sepermit.so
pam_succeed_if.so
pam_systemd.so
pam_timestamp.so
pam_unix_acct.so
pam_unix_auth.so
pam_unix.so
pam_xauth.so

위의 공유 라이브러리에서 참조한 것입니다(에 따라 ldd).:

libattr.so.1
libaudit.so.1
libcap.so.2
libcrack.so.2
libcrypt.so.1
libc.so.6
libdbus-1.so.3
libdbus-glib-1.so.2
libdl.so.2
libffi.so.6
libfreebl3.so
libgcc_s.so.1
libgio-2.0.so.0
libglib-2.0.so.0
libgmodule-2.0.so.0
libgobject-2.0.so.0
liblzma.so.5
libnsl.so.1
libnspr4.so
libnss3.so
libnssutil3.so
libpcre.so.1
libpcre.so.3
libplc4.so
libplds4.so
libpthread.so.0
libpwquality.so.1
libresolv.so.2
library.so.1
libselinux.so.1
libsmime3.so
libssl3.so
libutil.so.1
libz.so.1

답변1

제 경우에는 Centos 6을 사용하고 있으며 /var/log/secure에서 다음을 발견했습니다.

Mar 13 10:13:02 server sudo(pam_google_authenticator)[24911]: Unrecognized option "user=root"
Mar 13 10:13:02 server sudo:    ralph : pam_authenticate: Cannot make/remove an entry for the specified session ; TTY=pts/2 ; PWD=/home/ralph ; USER=root ; COMMAND=/usr/local/bin/become root

궁극적으로 문제가 발생하는 것은 GA PAM 모듈이고 PAM은 이를 어떻게 처리해야 할지 모르므로 오류가 발생합니다. 다른 PAM 모듈과 관련된 다른 많은 문제로 인해 동일한 동작이 발생할 것이라고 확신합니다(Google Authenticator뿐만 아니라). 어떤 종류의 로그가 무슨 일이 일어나고 있는지 이해하는 유일한 방법일 수 있습니다.

답변2

이는 pam.d 파일에 문제가 있거나 pam 액세스가 필요한 문제가 있음을 의미할 수 있습니다.

한 가지 디버깅 기술은 pam_echo 문을 pam 파일 전체에 분산시키는 것입니다.

예를 들어

auth       [default=ignore] pam_echo.so "sshd: calling faillock" 
auth       requisite    pam_faillock.so preauth even_deny_root
auth       [default=ignore] pam_echo.so "sshd: faillock did not fail"
auth       [default=ignore] pam_echo.so "calling password-auth substack"
auth       substack     password-auth
auth       [default=ignore] pam_echo.so "back from password-auth substack"
auth       [default=ignore] pam_echo.so "calling postlogin"
auth       include      postlogin
auth       [default=ignore] pam_echo.so "back from postlogin"

pam_echo를 추가할 때 주의하세요. 후속 줄을 "건너뛸" 수 있는 줄 뒤에 넣지 마십시오. 필요한 경우 건너뛸 줄 수를 업데이트하세요.

알림: pam 파일을 변경할 때는 항상 루트로 로그인된 상태를 유지하세요. 변경 사항은 즉시 적용되며 오류가 있으면 로그인하거나 sudo를 사용하지 못할 수 있습니다.

답변3

이 도구를 사용하여 내 시스템에서 이 문제를 해결했습니다.리뷰 2가 허용됨. 확인하다내 게시물.

관련 정보