wheel
우리는 사용자를 LDAP 뿐만 아니라 다양한 시스템에서 의미가 있는 일부 그룹(조직 역할 포함) 에 저장합니다. LDAP에 넣지 않으려는 audio
그룹 과 같이 워크스테이션에 로컬인 그룹도 있습니다 . video
이제 로컬로 로그인하면 이러한 로컬 그룹이 표시되지만 SSH를 통해 동일한 시스템에 로그인하면 해당 그룹이 누락됩니다. 물론 나중에 직접 사용 하면 다시 돌아올 것입니다 su
. 내가 잘못된 길을 가고 있을지 모르지만 PAM이 의심스럽습니다.
관련 항목의 출처는 다음과 같습니다.nsswitch.conf
passwd: compat ldap
shadow: compat ldap
group: compat ldap
pam의 경우 항상 auth 라인이지만 다른 라인은 동일합니다.
/etc/pam.d/sshd
auth include system-remote-login
/etc/pam.d/system-remote-login
( system-local-login
내가 추가할 수도 있는 것과 동일)
auth include system-login
/etc/pam.d/system-login
auth required pam_tally2.so onerr=succeed
auth required pam_shells.so
auth required pam_nologin.so
auth include system-auth
auth optional pam_gnome_keyring.so
account required pam_access.so
account required pam_nologin.so
account include system-auth
account required pam_tally2.so onerr=succeed
password include system-auth
password optional pam_gnome_keyring.so
session optional pam_loginuid.so
session required pam_env.so
session optional pam_lastlog.so
session include system-auth
session optional pam_gnome_keyring.so auto_start
session optional pam_motd.so motd=/etc/motd
session optional pam_mail.so
/etc/pam.d/su
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid
auth include system-auth
account include system-auth
password include system-auth
session include system-auth
session required pam_env.so
session optional pam_xauth.so
/etc/pam.d/common-auth:
auth required pam_group.so use_first_pass
무엇이 문제일 수 있으며 어떻게 해결할 수 있나요? 필요한 추가 정보가 있으면 기꺼이 제공해 드리겠습니다.
답변1
오늘 용기를 내어 드디어 해결했습니다. Pam 체인의 작동 원리는 다음과 같습니다.
/etc/pam.d/sshd
포함하다:/etc/pam.d/system-remote-login
포함하다:/etc/pam.d/system-login
포함하다:/etc/pam.d/system-auth
선택적 요구 사항이 있습니다
분명히 마지막 포함은 어떤 이유로 작동하지 않습니다. 지금까지 내가 너무 혼란스러워하는 이유는 포함이 작동할 것이라고 믿었지만 그렇지 않기 때문입니다. 누구든지 이유를 설명해 주시면 매우 감사하겠습니다. 이 줄을 추가하면 이 사실을 알 수 있습니다.
auth optional pam_group.so
그러면 /etc/pam.d/system-login
작동할 것입니다.
답변2
UID, GID 및 보조 그룹을 포함하여 환경을 설정하는 로그인 프로그램은 일종의 데이터베이스에서 사용자 이름 <--> UID, GID 및 사용자 이름이 속한 보조 그룹에 대한 데이터를 가져옵니다. 전통적으로는 /etc/passwd 및 /etc/groups 파일에서, 이제는 LDAP에서도 가능합니다. 데이터 소스에 따라 할당하는 그룹이 다를 수 있습니다.
서로 다른 소스를 혼합하면 이름은 같지만 UID가 다른 계정(시스템은 실제로 내부적으로 UID를 사용함)이나 그룹 집합이 다를 가능성이 높습니다. 결과는 일반적으로매우이는 일반 구경꾼에게는 즐거움의 원천이지만, 책임자에게는 과도한 모발 뽑기로 인해 조기 대머리가 발생할 수 있습니다. (거기 있었어.)
답변3
입력하다 nsswitch.conf
:
그룹: LDAP 호환
내가 아는 한 이것은 그룹(그룹 항목)을 가져오는 getgrent를 호출합니다.
편집: 또 다른 것은 다음을 추가하는 것입니다 /etc/pam.d/common-auth
.
인증이 필요합니다. pam_group.so use_first_pass
자세한 내용은 여기를 확인하세요.사용자에게 로컬 그룹 할당어쩌면 이건newgrp-and-groups-distributed via-pam-group-so
답변4
거의 비슷한 문제가 있었습니다. SSH를 사용하여 로그인할 때 일부 그룹이 누락되었습니다. /etc/nsswitch.conf를 변경하여 해결되었습니다.
group: compat -> group: files nis