Grup berbeda dari yang lokal saat masuk dari jarak jauh


14

Kami menyimpan pengguna kami di LDAP, bersama beberapa kelompok yang memiliki makna di berbagai sistem (termasuk peran organisasi wheel). Ada juga kelompok lokal ke workstation, misalnya audioatau videoyang tidak diinginkan untuk dimasukkan ke dalam LDAP. Sekarang jika saya masuk secara lokal saya mendapatkan kelompok-kelompok lokal, tetapi jika saya masuk melalui SSH ke mesin yang sama saya kekurangan mereka. Mereka tentu saja kembali, jika saya menggunakan sulangsung sesudahnya. Saya mungkin berada di jalur yang salah, tetapi curigai PAM.

Entri yang relevan dari nsswitch.conf

passwd:      compat ldap
shadow:      compat ldap
group:       compat ldap

Adapun pam, selalu garis auth, tetapi garis lainnya sama

/etc/pam.d/sshd

auth            include         system-remote-login

/etc/pam.d/system-remote-login(identik dengan yang system-local-loginmungkin saya tambahkan)

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

Apa yang bisa menjadi masalah dan bagaimana saya menyelesaikannya? Saya senang memberikan informasi lain yang dibutuhkan.


Seperti apa /etc/nsswitch.confpenampilan Anda group? Apa output dari getent YOURUSERNAME? Apakah /etc/pam.d/sshd@sertakan Anda- {sesi, auth, kata sandi, akun} Anda yang umum?
eppesuig

proses / langkah apa yang Anda siapkan di ujung klien?
Rahul Patil

1
@ Aurelien, ketika Anda memiliki "shadow ldap", maka pam_unix melakukan otentikasi mengambil info kata sandi dari nss.
Stéphane Chazelas

1
Saya pikir Anda keluar jalur mencurigai PAM. Lebih mungkin masalah NIS. PAM tidak tahu sama sekali tentang kelompok; itu semua dilakukan melalui libc ketika sshd memanggil initgroups.
Nicholas Wilson

1
Sebenarnya, saya sedikit memodifikasi itu: rupanya beberapa modul menghubungkan panggilan pam_setcred untuk membentuk grup pengguna, itulah sebabnya sshd memanggil initgroups sebelum pam_setcred. Hmmm.
Nicholas Wilson

Jawaban:


3

Saya mengambil hati hari ini dan akhirnya menyelesaikannya. Rantai pam bekerja seperti ini

  • /etc/pam.d/sshd termasuk:
    • /etc/pam.d/system-remote-login itu termasuk:
      • /etc/pam.d/system-login itu termasuk:
        • /etc/pam.d/system-auth yang memiliki persyaratan opsional

Rupanya yang terakhir termasuk tidak berfungsi karena suatu alasan. Alasan mengapa saya sangat bingung sejauh ini adalah karena saya percaya bahwa ini termasuk akan bekerja, yang tidak terjadi. Jika seseorang dapat menjelaskan mengapa saya akan sangat berterima kasih. Saya tahu ini karena jika saya menambahkan baris

auth    optional  pam_group.so

ke dalam /etc/pam.d/system-loginkemudian bekerja.


1

Program masuk (yang mengatur lingkungan Anda, termasuk UID, GID, dan kelompok tambahan) mendapatkan data tentang nama pengguna <--> UID, GID, dan grup tambahan yang menjadi milik pengguna, dari semacam database. Secara tradisional dari file / etc / passwd dan / etc / groups, hari ini juga dari LDAP. Bergantung pada sumber data, grup yang Anda ditugaskan dapat bervariasi.

Hati-hati, jika sumber yang berbeda dicampur, Anda dapat berakhir dengan akun dengan nama yang sama tetapi UID yang berbeda (sistem benar-benar menggunakan UID secara internal), atau kumpulan kelompok yang berbeda. Hasilnya biasanya sangat menghibur bagi penonton biasa, sementara mengarah ke kebotakan dini karena menarik rambut yang luas untuk pihak yang bertanggung jawab. (Pernah ke sana.)


0

Ke nsswitch.conf:

    grup: compat ldap

afaik ini panggilan getgrent, yang mendapat grup (entri grup)

EDIT: hal lain adalah menambahkan yang berikut ke /etc/pam.d/common-auth:

auth diperlukan pam_group.so use_first_pass

untuk informasi lebih lanjut, lihat di sini: Tetapkan grup lokal untuk pengguna dan mungkin newgrp-and-groups-ditugaskan-via-pam-group-so


Baris itu sudah ada begitu saja.
Maks

mungkin menambahkannya ke "Entri yang relevan dari nsswitch.conf" di pertanyaan Anda.
xx4h

selesai dan hasil edit tidak membantu sayangnya.
Maks

yang Anda lakukan pam-auth-updatedan restart nscd?
xx4h

0

Saya memiliki masalah yang hampir serupa: ketika masuk menggunakan ssh, beberapa kelompok hilang. Itu telah dipecahkan dengan mengubah /etc/nsswitch.conf:

group:      compat  -> group:      files nis
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.