Các nhóm khác với các nhóm địa phương khi đăng nhập từ xa


14

Chúng tôi lưu trữ người dùng của mình trong LDAP, cùng với một số nhóm có ý nghĩa trên các hệ thống khác nhau (bao gồm cả vai trò tổ chức wheel). Ngoài ra còn có các nhóm cục bộ đến các máy trạm, ví dụ audiohoặc videokhông mong muốn được đưa vào LDAP. Bây giờ nếu tôi đăng nhập cục bộ, tôi sẽ nhận được các nhóm cục bộ đó, nhưng nếu tôi đăng nhập qua SSH vào cùng một máy thì tôi thiếu chúng. Họ tất nhiên quay lại, nếu tôi sử dụng sungay sau đó. Tôi có thể đang đi sai đường, nhưng nghi ngờ PAM.

Các mục liên quan từ nsswitch.conf

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

Đối với pam, luôn luôn là dòng auth, nhưng các dòng khác là như nhau

/etc/pam.d/sshd

auth            include         system-remote-login

/etc/pam.d/system-remote-login(giống hệt system-local-logintôi có thể thêm)

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

Điều gì có thể là vấn đề và làm thế nào tôi sẽ giải quyết nó? Tôi rất vui khi cung cấp các thông tin cần thiết khác.


Bạn /etc/nsswitch.conftrông như thế groupnào? Đầu ra của là getent YOURUSERNAMEgì? /etc/pam.d/sshd@Incince của bạn có phổ biến- {phiên, xác thực, mật khẩu, tài khoản} không?
eppesuig

quá trình / bước bạn thiết lập ở cuối máy khách?
Rahul Patil

1
@Aurelien, khi bạn có "bóng ldap", thì pam_unix thực hiện xác thực lấy thông tin mật khẩu từ nss.
Stéphane Chazelas

1
Tôi nghĩ rằng bạn đang theo dõi nghi ngờ PAM. Nhiều khả năng là một vấn đề NIS. PAM không có ý tưởng nào về các nhóm cả; tất cả đều được thực hiện thông qua libc khi sshd gọi initgroups.
Nicholas Wilson

1
Trên thực tế, tôi sửa đổi một chút rằng: rõ ràng một số mô-đun móc lệnh gọi pam_setcred để thiết lập các nhóm người dùng, đó là lý do tại sao sshd gọi initgroups trước pam_setcred. Hừm.
Nicholas Wilson

Câu trả lời:


3

Tôi đã lấy trái tim ngày hôm nay và cuối cùng đã giải quyết nó. Chuỗi pam hoạt động như thế này

  • /etc/pam.d/sshd bao gồm:
    • /etc/pam.d/system-remote-login bao gồm:
      • /etc/pam.d/system-login bao gồm:
        • /etc/pam.d/system-auth trong đó có một yêu cầu tùy chọn

Rõ ràng cuối cùng bao gồm không hoạt động vì một số lý do. Lý do tại sao tôi đã rất bối rối cho đến nay là vì tôi tin tưởng rằng những điều này bao gồm sẽ hoạt động, đó không phải là trường hợp. Nếu ai đó có thể giải thích tại sao tôi rất biết ơn. Tôi biết điều này bởi vì nếu tôi thêm dòng

auth    optional  pam_group.so

vào /etc/pam.d/system-loginsau đó nó hoạt động.


1

Chương trình đăng nhập (thiết lập môi trường của bạn, bao gồm UID, GID và các nhóm bổ sung) lấy dữ liệu về tên người dùng <-> UID, GID và các nhóm bổ sung thuộc tên người dùng, từ một số loại cơ sở dữ liệu. Theo truyền thống từ các tập tin / etc / passwd và / etc / Groups, ngày nay cũng từ LDAP. Tùy thuộc vào nguồn dữ liệu, các nhóm bạn được chỉ định có thể khác nhau.

Hãy cẩn thận, nếu các nguồn khác nhau được trộn lẫn, bạn rất có thể kết thúc với một tài khoản có cùng tên nhưng các UID khác nhau (hệ thống thực sự sử dụng UID trong nội bộ) hoặc các nhóm khác nhau. Kết quả thường rất thú vị đối với người xem thông thường, trong khi dẫn đến chứng hói đầu sớm do kéo tóc rộng cho các bên phụ trách. (Đã ở đó.)


0

Vào nsswitch.conf :

    nhóm: ldap

afaik này gọi getgrent, trong đó có các nhóm (mục nhập nhóm)

EDIT: một điều nữa là thêm phần sau vào /etc/pam.d/common-auth :

auth yêu cầu pam_group.so use_first_pass

để biết thêm thông tin, hãy xem tại đây: Gán các nhóm cục bộ cho người dùng và có thể nhóm mới này và nhóm được gán-qua-pam-nhóm-so


Dòng đó đã có mặt như thế.
Tối đa

có thể thêm nó vào "Các mục liên quan từ nsswitch.conf" trong câu hỏi của bạn.
xx4h

thực hiện và chỉnh sửa không giúp đỡ không may.
Tối đa

bạn đã làm pam-auth-update và khởi động lại nscd?
xx4h

0

Tôi gặp một vấn đề gần như tương tự: khi đăng nhập bằng ssh, một số nhóm bị thiếu. Nó đã được giải quyết bằng cách thay đổi /etc/nsswitch.conf:

group:      compat  -> group:      files nis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.