リモートログイン時のグループはローカルのものとは異なります


14

ユーザーをLDAPに保存し、異なるシステム間で意味を持ついくつかのグループ(組織ロールを含むwheel)を保存します。ワークステーションにローカルなグループもあります。たとえばaudiovideoLDAPに入れることは望ましくありません。ローカルにログインすると、それらのローカルグループが取得されますが、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-loginsystem-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

何が問題であり、どのように解決すればよいですか?必要なその他の情報を提供させていただきます。


あなたの/etc/nsswitch.conf外見はgroupどうですか?の出力はgetent YOURUSERNAME何ですか?いあなたの/etc/pam.d/sshd@includeコモン{セッション、認証、パスワード、アカウント}?
エプスイグ

クライアント側でどのプロセス/ステップをセットアップしますか?
ラフルパティル

1
@Aurelien、「shadow ldap」がある場合、pam_unixはnssからパスワード情報を取得する認証を行います。
ステファンシャゼル

1
PAMの疑いがあると思います。NIS問題の可能性が高い。PAMにはグループの概念がまったくありません。sshdがinitgroupsを呼び出すとき、すべてlibcを介して行われます。
ニコラスウィルソン

1
実際、私はそれをわずかに変更します。明らかに、いくつかのモジュールはpam_setcred呼び出しをフックしてユーザーグループを確立します。これがsshdがpam_setcredの前に initgroupsを呼び出す理由です。うーん。
ニコラスウィルソン

回答:


3

今日私は心を取り、最終的にそれを解決しました。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それは動作します。


1

ログインプログラム(UID、GID、および補足グループを含む環境を設定する)は、ユーザー名<-> UID、GID、およびユーザー名が属する補足グループに関するデータを何らかのデータベースから取得します。従来は/ etc / passwdおよび/ etc / groupsファイルから、今日はLDAPからも。データソースに応じて、割り当てられるグループは異なります。

異なるソースが混在している場合、同じ名前で異なるUID(システムは実際にUIDを内部的に使用します)、または異なるグループのセットを持つアカウントになる可能性があります。結果は通常、カジュアルな見物人にとって非常に面白いものですが、担当者の大規模な髪の毛引きのために早すぎる脱毛につながります。(行ったことがある。)


0

nsswitch.conf

    グループ:compat ldap

これはgetgrentを呼び出し、グループ(グループエントリ)を取得します

編集:別のことは、次を追加することです /etc/pam.d/common-auth

auth required pam_group.so use_first_pass

詳細については、こちらをご覧ください。ユーザーにローカルグループを割り当てます。おそらく、newgrp-and-groups-assigned-via-pam-group-so


その行はすでにそのように存在しています。
マックス

質問の「nsswitch.confからの関連エントリ」に追加してください。
xx4h

残念ながら、編集は役に立ちませんでした。
マックス

あなたがやったのpam-auth-updateとnscdの再起動?
xx4h

0

ほぼ同様の問題がありました。sshを使用してログインすると、いくつかのグループが欠落していました。/etc/nsswitch.confを変更することで解決しました:

group:      compat  -> group:      files nis
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.