Что происходит с аутентификацией пользователей LDAP и общими каталогами домашних каталогов NFS, когда они находятся вне сети?

В настоящее время у меня есть несколько компьютеров в домашней сети, которые представляют собой смесь статических настольных компьютеров и ноутбуков. Для меня становится неуправляемым и непрактичным для всех них иметь локальные домашние каталоги, настройки и безопасность, поэтому я рассматриваю возможность использования LDAP для общего управления пользователями и NFS для общих домашних каталогов.

Что происходит, когда один из ноутбуков находится в дороге? Домашняя сеть недоступна, поэтому произойдет ли сбой аутентификации и откатится к локальному хранилищу? Кроме того, когда ноутбук возвращается, есть ли способ повторно синхронизировать домашнее хранилище с сервером NFS?

9
задан 16 October 2010 в 10:23

2 ответа

Ни NFS, ни LDAP не поддерживают разъединенную операцию: т.е. когда ноутбук не может достигнуть серверов, он не сможет получить доступ к любым смонтированным NFS каталогам, и при этом он не сможет выполнить пользовательские поиски. В основном это застрянет.

Несколько обходных решений могли быть следующими.

Вместо того, чтобы изречь корневые каталоги через NFS, Вы могли сохранить локальные каталоги унисоном использования для синхронизации их с тем на центральном сервере. Можно выполнить унисон от крона, который охраняет тест, который прерывает операцию, если сервер недостижим. Это сообщение на AskUbuntu и это другое обеспечивают обсуждение темы синхронизации и некоторых полезных предложений.

Относительно аутентификации пользователя / проблема авторизации, решения вращаются вокруг использования libnss-db как источник для получения информации о пользователе:

  • Установка libnss-db, затем настройте /etc/nsswitch.conf искать db источник в дополнение к постоянному клиенту files:

    пароль: группа дб файлов: тень дб файлов: дб файлов

    db исходные файлы расположены в /var/lib/misc (/var/lib/misc/passwd.db и т.д.). Можно затем сохранить основную копию этих файлов на центральном сервере и синхронизировать клиенты с rsync+cron. Недостатки: нет никаких готовых сценариев управления для управления файлами дб на сервере (что я знаю о), плюс Вы подвергаются задержке синхронизации и должны установить путь к rsync соединяться с главным сервером.

  • nss-updatedb и libpam-ccreds пакеты обеспечивают более чистый способ настроить это: с nss-updatedb можно воссоздать локально passwd.db и group.db, тогда как shadow информацией управляют libpam-ccreds. Инструкции, как настроить их, могут быть найдены в README файлы, сопровождающие пакеты.

6
ответ дан 16 October 2010 в 10:23

Файлы

Что касается файлов, я пошел бы для основанной на сети синхронизации для общих файлов (скажите, что Ubuntu Один или Dropbox), и затем имеют совместно используемую папку для больших файлов (возможно, Музыка, фотографии, Видео и Ubuntu ISOs). Это мог быть NFS, монтируются, который, когда он перестал работать, не имеет значения слишком много, или доля Samba или вероятно одна из многих других технологий.

LDAP

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

Существуют некоторые пути вокруг этого. Можно настроить локальную копию и синхронизировать ее, различными способами - см. другие ответы на этот вопрос и на связанный вопрос. Можно также сказать LDAP не получать пользователей системы из каталога LDAP, но из локальных файлов. На наших серверах мы поместили следующее в конце нашего ldap.conf

# We need to ensure that various things can work without LDAP being available
# for example: booting, ssh in as root, apache ...
nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,daemon,dhcp,dhcpd,games,gdm,gnats,haldaemon,hplip,irc,klog,libuuid,list,lp,mail,man,messagebus,munin,mysql,nbd,news,ntp,nut,polkituser,proxy,pulse,root,sshd,statd,sync,sys,syslog,uucp,www-data

Вы хотели бы удостовериться, что все пользователи системы находятся в том списке. Даже затем это, достаточно вероятно, для использования ноутбука.

Из nss_ldap страницы справочника

nss_initgroups_ignoreusers <user1,user2,...,userN>
          This option directs the nss_ldap implementation of initgroups(3)
          to return NSS_STATUS_NOTFOUND if called with a listed  users  as
          its argument.

Таким образом, в основном LDAP притворяется, что не знает тех пользователей, даже не связываясь с главным сервером, таким образом, NSS возвращается к локальным пользователям, и система хорошо работает.

Одна последняя идея состоит в том, что, если Вы готовы провести время, изучая LDAP, Вы могли бы вместо этого изучить некоторую основную марионетку и использовать это для хранения всех пользователей, то же через все системы - видит этот марионеточный рецепт, например. Марионетка позволит Вам делать много других вещей также - установка общих пакетов, единый набор различных аспектов...

2
ответ дан 16 October 2010 в 10:23

Другие вопросы по тегам:

Похожие вопросы: