Назад | Перейти на главную страницу

OpenLdap синхронизирует домашний каталог между клиентом и сервером

Я недавно установил Ubuntu ldap client authentication на кармических клиентах и ​​клиентах lucid для настольных ПК, и сервер ldap работает на сервере 10.04 LTS и этот это ссылка, по которой я перешел для настройки клиента, и, вероятно, это также работает для 11.04. Я мог войти в систему для клиентов с учетными записями пользователей ldap, а также на клиентах, которые я использовал запись session required pam_mkhomedir.so umask=0022 skel=/etc/skel в pam.d /common-session для автоматического создания домашнего каталога на клиентских компьютерах при первом входе пользователя в систему. Я предполагаю, что был бы способ синхронизировать домашний каталог с клиента на сервер и наоборот, чтобы у пользователей были свои документы, на каком бы клиенте они ни входили.

Мне осталось выполнить следующую задачу:

  1. Синхронизируйте домашние каталоги между клиентом и сервером (как перемещаемый профиль в Windows).

Я пробовал с autofs но проблема заключается в локальных учетных записях пользователей (администратор, гость) на клиентских компьютерах, которые также синхронизируются или перезаписываются (что я не хочу, чтобы они монтировались), когда я помещаю запись * server:/ldaphome/& в /etc/auto.home для синхронизации домашнего каталога пользователя ldap (включая запись /home /etc/autofs.home в /etc/autofs.master).

У кого-нибудь есть какой-нибудь трюк, чтобы сделать это или каким-либо другим способом, чтобы я мог входить в клиенты с учетными данными как ldap, так и локального пользователя, имея домашний каталог, синхронизированный для пользователей ldap ?. Я знаю, что здесь много мастеров, как бы это сделать с их стилем?

Обновление: 1

Я попытался autofs автоматическое монтирование другого каталога (ldaphome) кроме home на клиенте, и я попытался связать ldaphome/$USER и home/$USER на том же клиенте, так что когда ldaphome на сервере монтирует ldaphome на клиенте, домашний каталог пользователя home / $ USER будет синхронизироваться из-за символической ссылки. Итак, я отредактировал /etc/profile.d/custom.sh файл и размещен ln -sf "/ldaphome/$USER" "/home/$USER" чтобы связать эти каталоги при входе в систему. Я понял, что символические ссылки не работают должным образом для каталога, поскольку они создают имя ссылки в / home / $ USER / $ USER.

DROPPED THIS SYMLINK METHOD!

Обновление: 2

Нет никакого другого выхода, кроме изменения домашнего каталога локального пользователя на клиентах и ​​автоматического монтирования home каталог в autofs но тот же локальный администратор на клиентах, которых я стремлюсь защитить, также доступен как учетные записи пользователей на сервере (admin, guest) ...

Обновление: 3

Я пошел на компромисс, просто переехал (usermod -m -d /local-home/admin admin) уже существующие локальные учетные записи пользователей в другой домашний каталог, а затем я настраиваю автоматическое монтирование для home на клиенте. Я снова столкнулся с проблемой, когда клиент аутентифицирован ldap, он не получает домашние документы с сервера, а работает, только если я его вручную монтирую (mount ldapserver:/ldaphome/test /home/test) на клиенте. Клиент karmic...

Конфигурация клиента:

vim /etc/nsswitch.conf:

# pre_auth-client-config # passwd:         compat
passwd: files ldap
# pre_auth-client-config # group:          compat
group: files ldap
# pre_auth-client-config # shadow:         compat
shadow: files ldap

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

# pre_auth-client-config # netgroup:       nis
netgroup: nis

vim /etc/ldap.conf:

base dc=mydomain,dc=net
uri ldap://192.168.1.2
ldap_version 3
rootbinddn cn=admin,dc=mydomain,dc=net
bind_policy soft
pam_password md5
nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,colord,daemon,games,gdm,gnats,hplip,irc,kernoops,libuuid,lightdm,list,lp,mail,man,messagebus,news,proxy,pulse,root,rtkit,saned,speech-dispatcher,sshd,statd,sync,sys,syslog,usbmux,uucp,vboxadd,www-data

vim /etc/ldap/ldap.conf:

BASE    dc=mydomain,dc=net
URI     ldap://192.168.1.2

SIZELIMIT       0
TIMELIMIT       0
DEREF           never

# TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

vim /etc/auto.master:

+auto.master

/home   /etc/auto.home

vim /etc/auto.home:

*               192.168.1.2:/ldaphome/&

я разделяю ldaphome на сервере (192.168.1.2). Теперь проблема в том, что у меня есть /home как отдельный раздел на клиенте, и я размонтировал его в fstab и смонтировал его с помощью ldaphome, который вы могли видеть в конфигурации autofs. Когда я пытаюсь войти в систему с помощью ldap, после успешной аутентификации снова появляется экран входа в систему. Когда я остановлюсь autofs service, он обычно регистрирует создание домашнего каталога, как я использовал session required pam_mkhomedir.so umask=0022 в pam.d / common-session.

Когда я пытаюсь войти в первый раз с любой новой учетной записью ldap, появляется следующая ошибка:

    Creating directory '/home/user3'.
    Unable to create and initialize directory '/home/user3'.
    No directory, logging in with HOME=/


vim /var/log/auth.log:
lucid mkhomedir_helper: PAM unable to create directory /home/user3: No such file or directory

Существует два распространенных способа работы со смесью локальных и централизованных учетных записей (будь то LDAP, NIS или что-то еще). Ваше третье обновление касается одного из них.

  1. Локальные учетные записи используют не-/home базовый каталог для дома
  2. LDAP / центральное использование не-/home базовый каталог для дома

Я обычно использую вариант №1 и создаю /local затем настройте мои локальные учетные записи, чтобы там были домашние каталоги, такие как /local/admin, /local/sysadmin, /local/joeи т.д. Затем я использую autofs для управления монтированием централизованных / удаленных домашних каталогов в /home примерно так же, как вы описываете в «Обновлении 3».

Я полагаю, ваш сервер экспортирует домашние каталоги с помощью NFS? Если вручную монтирование экспорта NFS на клиенте работает, как ожидалось, а autofs - нет, ваша проблема почти наверняка связана с настройкой autofs.

Если вам нужна помощь в решении вашей проблемы с autofs, опубликуйте содержимое /etc/nsswitch.conf, /etc/(open)ldap/ldap.conf, /etc/ldap.conf и /etc/auto.master и /etc/auto.home (или что-то там / где есть соответствующие конфигурации autofs).

Мне пришлось создать или скопировать home directory пользователей ldap под ldaphome который я поделился на сервере через nfs, и я совершенно не ожидал, что это должно быть причиной. Я думал, что домашний каталог пользователя будет автоматически создан под ldaphome, когда пользователь впервые войдет в систему на клиенте. Я сделал следующее, и каждый пользователь легко аутентифицируется и автоматизирует свой домашний каталог без вывода сообщений об ошибке, и я думаю, что запись session required pam_mkhomedir.so umask=0022 совсем не нужно:

На сервере,

cp -a /home/* /ldaphome/

Или, если домашний каталог недоступен для пользователя ldap в / home, создание каталога сработало.

mkdir /ldaphome/ldapuser
chown -R ldapuser:ldapuser /ldaphome/ldapuser

У клиента,

  • Переместите локальную учетную запись пользователя в любой каталог, скажем /local-home по,

    mkdir /local-home

usermod -m -d /local-home/username username

  • Если домашний каталог - это отдельный раздел, раскомментируйте смонтированный /home каталог в /etc/fstab файл, чтобы позволить autofs монтировать /home.

Попробуйте войти в систему с учетными данными ldap на клиенте ... сработало!

Поскольку я новичок в этой настройке на Linux, основанной на использовании в режиме реального времени, меня очень беспокоит, какова будет производительность с NFS на сервере, когда многие пользователи будут входить и монтировать одновременно. Я не знаю другого способа сделать это, если он имеет меньшую нагрузку на сервер или лучший по производительности. Если есть, мне очень интересно услышать от кого-нибудь.

Вы смотрели на pam_mount? Это то, что я использую в настоящее время, хотя мой вариант использования немного отличается от вашего. Эта запись в блоге дает довольно хороший обзор процесса, он ориентирован на сервер SAMBA, но если вы игнорируете специфические части samba, он работает с NFS (это то, что я использую) и будет работать с 10.04. 11.04 не пробовал.