Домашні каталоги та pam.d за допомогою LDAP


10

Передумови:
Я не надто знайомий з додатками та виходами пам’яті та автентифікації LDAP на стороні конфігурації. Я використовував системи, які використовують пам, але я працював лише над додатками, а не над самими системами.

Запитання:
Використовуючи pam для управління автентифікацією через LDAP, чи означає це, що домашній каталог не буде створений у системі?

Якщо ні, я б створив користувачів на сервері чи якимось чином підштовхнув користувачів до системи з джерела LDAP?


1
Це питання може бути пов'язано: unix.stackexchange.com/q/106391/34796
DRS

Відповіді:


13

Саме для цього pam_mkhomedirбуло зроблено. Модуль може створити домашній каталог користувача при вході в систему, якщо цей каталог не існує.
pam_mkhomedir

Як встановити його, залежить від вашого розповсюдження. Але вам потрібно буде помістити його в один або кілька файлів /etc/pam.d.
Наприклад, у моїй системі я маю /etc/pam.d/system-loginвключену всі інші сервіси, які виконують логін (ssh, gdm тощо).
Я поставив би pam_mkhomedir.soв sessionстек такі:

session     optional    pam_loginuid.so
session     required    pam_env.so 
session     optional    pam_lastlog.so 
session     include     system-auth
session     optional    pam_mkhomedir.so # <<< right here
session     optional    pam_ck_connector.so nox11
session     optional    pam_gnome_keyring.so auto_start
session     optional    pam_motd.so motd=/etc/motd

Куди ви поставите, це повністю залежить від того, що ще є в стеці. Але вам слід поставити його перед усім, що може знадобитися домашньому каталогу.

Перегляньте man 8 pam_mkhomedirваріанти, які він підтримує.


Дивовижно. Дякую за відповідь. Наші користувачі в даний час не входять у систему, вони входять у веб-додаток, який розміщено в системі. Чи є тригер, який може створити їх домашній каталог після первинного входу в веб-додаток?
Ніколас Андерсон

1
Якщо веб-додаток використовує стек пам’яті, він буде працювати (хоча, можливо, вам доведеться помістити його в authстек замість session). Якщо додаток не використовує стек пам’яті, то вам доведеться щось вбудувати у сам додаток.
Патрік

Схоже, надається лише сесійний модуль, я спробував, і фактично pam_mkhomedir не працює з модулем auth. У мене така ж проблема, як у Ніколаса Андерсона, у мене є веб-додаток. Чи є спосіб вирішити цю проблему в модулі автентичності?
Фабіано Тарлао

6

В Ubuntu 14.04 system-loginнемає, але інший файл, названий як common-sessionприсутній.

Я пішов туди і поклав:

root@GW:~# vim /etc/pam.d/common-session

#
session optional        pam_systemd.so skel=/etc/skel/ umask=0077

Це створить домашній каталог, якщо його немає, також встановіть дозвіл 700


Umask, запропонований help.ubuntu.com/community/LDAPClientAuthentication є umask=0022. Я вважаю, що ваша система видаляє ВСІ можливості, включаючи readякі можуть перешкоджати роботі деяких механізмів автентифікації / довіри на роботі в багатокористувацькій системі або інших випадках.
dragon788

0

Я рекомендую використовувати oddjob-mkhomedir :

Для Centos 7 це працює:

yum install oddjob-mkhomedir

Додайте це /etc/pam.d/system-authі /etc/pam.d/password-auth:

session     optional      pam_oddjob_mkhomedir.so skel=/etc/skel

І, нарешті:

systemctl enable oddjob; systemctl start oddjob

Це було опубліковано спочатку тут: https://www.centos.org/forums/viewtopic.php?t=48631

Примітка. Якщо ви тільки що змонтували свій /homeрозділ, не забудьте зробити цеrestorecon /home

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.