원격으로 로그인할 때의 그룹이 로컬 그룹과 다릅니다.

원격으로 로그인할 때의 그룹이 로컬 그룹과 다릅니다.

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

관련 정보