Almacenamos a nuestros usuarios en LDAP, junto con algunos grupos que tienen significado en diferentes sistemas (roles organizacionales incluidos wheel
). También hay grupos locales para estaciones de trabajo, por ejemplo, audio
o video
que no son deseables para poner en LDAP. Ahora, si inicio sesión localmente, obtengo esos grupos locales, pero si inicio sesión a través de SSH en la misma máquina, me faltan. Por supuesto, vuelven, si uso su
directamente después. Puedo estar en el camino equivocado, pero sospecho de PAM.
Entradas relevantes de nsswitch.conf
passwd: compat ldap
shadow: compat ldap
group: compat ldap
En cuanto a pam, siempre la línea de autenticación, pero las otras líneas son las mismas.
/etc/pam.d/sshd
auth include system-remote-login
/etc/pam.d/system-remote-login
(idéntico al system-local-login
que podría agregar)
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
¿Cuál podría ser el problema y cómo lo resolvería? Me complace proporcionar otra información necesaria.
/etc/nsswitch.conf
aspectogroup
? ¿Cuál es la salida degetent YOURUSERNAME
? ¿Su/etc/pam.d/sshd
@include common- {sesión, autenticación, contraseña, cuenta}?Respuestas:
Hoy me animé y finalmente lo resolví. La cadena de pam funciona así
/etc/pam.d/sshd
incluye:/etc/pam.d/system-remote-login
eso incluye:/etc/pam.d/system-login
eso incluye:/etc/pam.d/system-auth
que tiene un requisito opcionalAparentemente, la última inclusión no funciona por alguna razón. La razón por la que estaba tan perplejo hasta ahora fue porque confiaba en que estos incluyen funcionarían, lo cual no fue el caso. Si alguien puede explicar por qué estaría muy agradecido. Sé esto porque si agrego la línea
en el
/etc/pam.d/system-login
entonces funciona.fuente
El programa de inicio de sesión (que configura su entorno, incluidos UID, GID y grupos suplementarios) obtiene datos sobre el nombre de usuario <--> UID, GID y los grupos complementarios a los que pertenece el nombre de usuario, de algún tipo de base de datos. Tradicionalmente de los archivos / etc / passwd y / etc / groups, hoy también de LDAP. Dependiendo de la fuente de datos, los grupos que le asignan pueden variar.
Tenga cuidado, si se mezclan diferentes fuentes, puede terminar con una cuenta con el mismo nombre pero diferentes UID (el sistema realmente usa UID internamente), o diferentes conjuntos de grupos. El resultado normalmente es muy entretenido para el espectador casual, mientras que conduce a la calvicie prematura debido a los largos tirones de cabello para las partes a cargo. (Estado allí.)
fuente
En
nsswitch.conf
:afaik esto llama getgrent, que obtiene los grupos (entradas de grupo)
EDITAR: otra cosa es agregar lo siguiente a
/etc/pam.d/common-auth
:para obtener más información, eche un vistazo aquí: asigne grupos locales a los usuarios y tal vez este newgrp-and-groups-named-via-pam-group-so
fuente
pam-auth-update
y un reinicio de nscd?Tuve un problema casi similar: cuando inicié sesión con ssh, faltaban algunos grupos. Se ha resuelto cambiando /etc/nsswitch.conf:
fuente