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