Централизованное хранение учётных записей с возможностью работы без сети
- Общее описание
- Хранение учётных записей на центральном сервере с автоматическим заведением пользователей на локальном сервере (с последующим импортом на пользовательские компьютеры). Штатная работа предусматривает отключение сети.
- Постановка задачи
- Есть несколько компьютерных классов с выделенными серверами — маршрутизаторами. Необходимо распространить учётные записи пользователей на все компьютеры классов, а также штатно заводить домашние каталоги пользователей.
- Условия
- Работоспособность системы не должна зависеть от связности локальных сетей в классах:
- Добавление/запрет пользователей (не удаление) производятся в единственном месте.
- Интерфейс добавления/запрета допускает массовые операции
- Центральный сервер может быть недоступен, но обновление на локальных серверах производится автоматически, если он доступен.
- Изменение учётных записей на локальных серверах не играет роли
- При неработоспособности сети внутри компьютерного класса пользовательские компьютеры должны загружаться и работать, но не обязаны распознавать пользователей и/или предоставлять им домашние каталоги,
- Образ файловой системы пользовательского компьютера находится на сервере (допустипо делать chroot).
- Пример решения
- Rsync+tcb+автосценарии
- При старте локального сервера выполняется некая команда синхронизации учётных записей с центральным сервером, если он доступен.
Команда синхронизации — это rsync без удаления старый файлов, при этом /etc/passwd конструируется автоматически ( ), автоматически же заводятся домашние каталоги.
- Учётный записи могут присутствовать в нескольких экземплярах (для сервера и для образа пользовательских компьютеров)
В классе работает synchrone ( положить ссылку на домашнюю страницу), поэтому синхронизацией образа локальных компьютеров заниматься не надо
- Дополнительное условие
- Серверная часть должна быть оформлена в виде виртуального окружения OpenVZ
- Критерий успешности
- По имеющейся инструкции можно настроить центральный и локальные серверы и пользовательский компьютер. После изменения данных на центральном сервере следует выполнить команду на локальном сервере (или перезагрузить его). После перезагрузки пользовательского компьютера он должен содержать актуальные учётные записи и давать доступ ко всем актуальным домашним каталогам.