ユーザーは、さまざまなシステム間で意味を持ついくつかのグループ(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
何が問題で、どうすれば解決できますか?必要なその他の情報を提供させていただきます。
今日は心を込めて解決しました。 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
に挿入すると機能します。
ログインプログラム(UID、GID、および補足グループを含む環境をセットアップする)は、ある種のデータベースから、ユーザー名<-> UID、GID、およびユーザー名が属する補足グループに関するデータを取得します。従来は/ etc/passwdファイルと/ etc/groupsファイルから、今日もLDAPから。データソースに応じて、割り当てられるグループは異なります。
異なるソースが混在している場合、同じ名前で異なるUID(システムは実際には内部でUIDを使用します)または異なるグループのセットを持つアカウントになってしまう可能性があることに注意してください。結果は通常非常にカジュアルな見物人にとっては面白いものですが、担当者の広範囲にわたる髪の毛の引っ張りによる時期尚早の禿げにつながります。 (行ったことがある。)
nsswitch.conf
に:
グループ:compat ldap
afaikこれはgetgrentを呼び出し、グループ(グループエントリ)を取得します
編集:別のことは、/etc/pam.d/common-auth
に以下を追加することです:
auth required pam_group.so use_first_pass
詳細については、こちらをご覧ください: ローカルグループをユーザーに割り当てる そして多分これ newgrp-and-groups-assigned-via-pam-group-so
ほぼ同様の問題がありました。sshを使用してログインすると、一部のグループが欠落していました。 /etc/nsswitch.confを変更することで解決されました:
group: compat -> group: files nis