Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Централизованное управление в Linux сети (1,2,3,4,5,8 из 8) [уже в wiki]  (Прочитано 18963 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Внимание! Обновлённый оригинал статьи находится на вики по адресу:



Вступление


Не секрет, что за использование нелицензионного ПО в организации администратор может всхлопотать от 2-ух до 5-ти лет. Сложнее становится администраторам работающим в образовательных учреждениях, т.к. в ходе изучения как правило используется множество пакетов-гигантов, таких как photoshop, corel, flash и прочих. Если школы что-то могут еще получить худо-бедно от государства, то дополнительному образованию государством показан, простите, х%@!
Вобщем в конце-концов, пригрозив начальству увольнением, начальство согласилось переходить на свободное ПО.

Выбор клиентской  ОС был недолгим :). И, конечно, самым первым вопросом был вопрос о централизованном управлении и сетевых ресурсах. Домен под самбой и авторизация в самбе линукс-клиентов был отметен сразу, овчинка выделки не стоит из-за массы проблем с этой авторизацией. Сказать что готовых систем управления для Unux очень мало - это ничего не сказать. Мне удалось найти 3: nowell, какой то дистр за 10 т.р. Linux Xp и вроде как у дебиана что-то есть. Но хотелось реализации на Ubuntu, т.к. разбираться с новыми системами времени уже нет, сентябрь не загорами.
В качетсве серверной ОС планировалось взять любимую FreeBSD, но, даже настроив авторизацию клиентов linux в NIS домене FreeBSD, существовала еще куча проблем с оборудованием, в частности с поддержкой принтеров, и прочих мелких недочетов по совместимости linux и FreebSD. Скрипя сердцем и раскинув мозгами была выбрана Ubuntu Server, все-таки совместимости с клиентами будет больше да и с оборудованием по легче.

Вобщем, выбр пал на Ubuntu 8.04 Server, Ubuntu 9.04 desktop и на связку NIS и NFS. Каких то готовых how-to по этой связке очень мало, в основном все разбросано по малым кусочкам. Если NIS домен поднять сложностей не составляет, то вопросы, например, по автомонтированию шар для клиентов (да еще для каждого свои ресурсы), разобраны очень скудно.  В процесе сборки выявлялось масса мелких недочетов, которые тормозили весь процесс.


Собственно перед вами HOW-TO: Централизованное управление в Linux сети на базе NIS и NFS.



Основные задачи

- Централизованное управление пользовательскими учетными записями;
- Централизованное управление настройками клиентских Ос (частично);
- Централизованное управления общими и личными (для пользователя) ресурсами;
- Ограничение доступа к ресурсам с использованием прав ACL;
- Организация сервера печати;
- Дисковые квоты;

ИСПОЛЬЗОВАЛОСЬ:

- Ubuntu Server 8.04
- Ubuntu Desktop 9.04
- NIS
- NFS
- WEBMIN, DHCPD3, BIND9, NTPD.

ПРЕДПОЛАГАЕТСЯ ЧТО:

- Установлен сервер Ubuntu 8.04, выполнены последние обновления
- Установлен клиент Ubuntu 9.04, выполнены последние обновления
- Установлено и настроено на сервере: WEBMIN, DHCPD3, BIND9 (опционально), NTPD (опционально)
- Вы знакомы с основными командами Unix, такие как копирование, смена прав, создание ссылок, редактирование файлов и др.

Все остальное в процессе How-to.


Примечание к статье

Ув. читатели! Статья, в первую очередь, пишется для себя, чтобы через пол года не думать над конфигами "а зачем я делал вот это?". Во-вторую очередь, т.к. информации по этой теме достаточно мало, а интерес пользователей по-моему растет. Более того, в качестве серверной ОС я всегда использовал FreeBSD, она мне ближе, но здесь будет описана конфигурация Server Ubuntu. Кто пользует FreeBSD, знает, что часто синтаксис и конфигурация в этих системах имеет расхождения.  В связи с этим, убедительная просьба не высказывать свое "фи", если вдруг вы увидели, что тот или иной момент решен, так сказать, костылем. Вместо того чтобы писать свои любимые "man команда" лучше предложите более элегантный способ решения того или иного момента, описав по-шагово что и как. Одним словом если вам есть что конструктивно дополнить или изменить в статье, то я только За, если кроме своего "фи" у вас больше ничего нет, то просто промолчите, в конце-концов описанные здесь решения проверены и работают.

Т.к. статья предполагается большой, наполнятся она будет частями по мере свободного времени.


(Нажмите, чтобы показать/скрыть)

  • Дополнения и изменения в ЧАСТЬ 1:

    18.06.09 (22.21) - Замечено, что нет-нет да клиент NIS иной раз все же раньше стартанет. В связи с этим "отодвинул" запуск NIS клиента на чуть позднее переименовав в /etc/rc2.d ссылку @S18nis в @S80nis. В тексте части добавлен этот момент.
    19.06.09 (14:42) - Добавлен блок отладки при настройки клиента NIS
    25.07.09 (11:18) - Добавлено несколько общих строк о безопастности NIS.
(Нажмите, чтобы показать/скрыть)

  • Дополнения и изменения в ЧАСТЬ 2:

    20.06.09 (00:55) - Опечатался. Пакет nfs-common обязателен для установки на клиенте.
PS Форум отказался принимать более 3000 символов  :( . Если у модераторов есть возможность убрать ограничение для статьи, то соеденю все в одну.

В третьей части: Домашние папки храним на сервере NFS
В четвертой части: Подключаем шары NFS при входе в систему
В пятой части: Настраиваем права (или ACL, группы и иже с ними)
В шестой части: Сервер печати
В седьмой части: Общий репозиторий для клиентских машин (не обещаю эту часть)
В восьмой части: Квоты (или делим место на винчестере)
Приложение 1: Стандартные права Unix, SUID, SGID, Sticky биты (к 5 части)
Приложение 2: Решение задачи (к 5 части)
Приложение 3: Замена программ Windows их аналогами для школ (список)
Приложение 4: Вопросы лицензирования (или как уберечься от неумных "Маски Шоу")
« Последнее редактирование: 28 Января 2010, 05:41:01 от ubuntar »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Продолжение (3 и 4 часть из 8)

Цели и задачи: Цели и задачи
В первой части: Установка и настройка домена NIS, клиента NIS
Во второй части: Конфигурация сервера и клиента NFS


(Нажмите, чтобы показать/скрыть)

  • Дополнения и изменения в ЧАСТЬ 3:

    22.06.09 (22:45) - Поспешил с заявлением "Сделаем для всех групп детей один общий домашний каталог". К сожалению, трюк, который я планировал сделать, не увенчался успехом. Убунте обязательно надо, чтобы пользователь, входящий в систему, обязательно был владельцем своего домашнего каталога. Все же, похоже, придется для каждой группы детей создавать свой домашний каталог, что по большому счету не критично, просто добавляет лишние телодвижения. Текст в части подправил.

    10.08.09 (21:25) - При использовании профиля на файловой системе tmpfs наблюдаются неполадки с работой FireFox. Возможно, после очередного обновления.

    03.09.09 (23:45) - Ввиду эксплуатации unionfs возникли некоторые сложности. При разборе полетов выяснилось, что unionfs заменен пакетом aufs, который является тем же самым, но полностью переписан с нуля в целях обеспечения устойчивости работы. В связи с этим, логично, что использовать стоит aufs. Синтаксис ее остался прежним, поэтому в статье, по тексту, следует установить пакет aufs-tools из репозиториев вместо unionfs-tolls, а в файле pam_mount.conf.xml строку:
    <volume user="child" fstype="unionfs" path="unionfs" mountpoint="/home/srv/child" options="dirs=/tmp/tmpfs:/home/srv/child=ro" />
    следует заменить строкой:
    <volume user="child" fstype="aufs" path="aufs" mountpoint="/home/srv/child" options="dirs=/tmp/tmpfs:/home/srv/child=ro" />
    остальное все по тексту.
    Оба варианта работоспособны, но какой из них более стабильнее покажет время.



(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 29 Сентября 2009, 23:10:54 от allexnew »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Продолжение (5 часть из 8)

Цели и задачи: Цели и задачи
В первой части: Установка и настройка домена NIS, клиента NIS
Во второй части: Конфигурация сервера и клиента NFS
В третьей части: Домашние папки храним на сервере NFS
В четвертой части: Подключаем шары NFS при входе в систему


(Нажмите, чтобы показать/скрыть)

  • Дополнения и изменения в ЧАСТЬ 5:

    26.07.09 (02:56) - Не совсем ясно получилось с эффективными масками. В частности, в середине статьи, где пользователь child все-таки может удалить файл qwert несмотря на то, что эффективная маска - r--, плюс пользователь не является владельцем файла и не принадлежит группе root. Вобщем либо баг, либо я чего-то до конца не догоняю. Воздержусь пока от применения эффективных масок на практике.

    31.08.09 (02:04) - Наконец-то дошли руки опубликовать решение задачи, которая описывается в конце части. Решение задачи в ПРИЛОЖЕНИЕ 2.




В шестой части: Сервер печати
В седьмой части: Общий репозиторий для клиентских машин (не обещаю эту часть)
В восьмой части: Квоты (или делим место на винчестере)
Приложение 1: Стандартные права Unix, SUID, SGID, Sticky биты (к 5 части)
Приложение 2: Решение задачи (к 5 части)
Приложение 3: Замена программ Windows их аналогами для школ (список)
Приложение 4: Вопросы лицензирования (или как уберечься от неумных "Маски Шоу")
« Последнее редактирование: 28 Сентября 2009, 12:29:08 от allexnew »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Приложение 1

Цели и задачи: Цели и задачи
В первой части: Установка и настройка домена NIS, клиента NIS
Во второй части: Конфигурация сервера и клиента NFS
В третьей части: Домашние папки храним на сервере NFS
В четвертой части: Подключаем шары NFS при входе в систему
В пятой части: Настраиваем права (или ACL, группы и иже с ними)
В шестой части: Сервер печати
В седьмой части: Общий репозиторий для клиентских машин (не обещаю эту часть)
В восьмой части: Квоты (или делим место на винчестере)

(Нажмите, чтобы показать/скрыть)

  • Дополнения и изменения в ПРИЛОЖЕНИЕ 1:

    06.09.2009 (04:00) - Исправил несколько досадных опечаток (не критичных).

Приложение 2: Решение задачи (к 5 части)
Приложение 3: Замена программ Windows их аналогами для школ (список)
Приложение 4: Вопросы лицензирования (или как уберечься от неумных "Маски Шоу")

« Последнее редактирование: 28 Сентября 2009, 12:30:48 от allexnew »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Приложение 2

Цели и задачи: Цели и задачи
В первой части: Установка и настройка домена NIS, клиента NIS
Во второй части: Конфигурация сервера и клиента NFS
В третьей части: Домашние папки храним на сервере NFS
В четвертой части: Подключаем шары NFS при входе в систему
В пятой части: Настраиваем права (или ACL, группы и иже с ними)
В шестой части: Сервер печати
В седьмой части: Общий репозиторий для клиентских машин (не обещаю эту часть)
В восьмой части: Квоты (или делим место на винчестере)
Приложение 1: Стандартные права Unix, SUID, SGID, Sticky биты (к 5 части)

(Нажмите, чтобы показать/скрыть)

  • Дополнения и изменения в ПРИЛОЖЕНИЕ 2:

    Пока нет.


Приложение 3: Замена программ Windows их аналогами для школ (список)
Приложение 4: Вопросы лицензирования (или как уберечься от неумных "Маски Шоу")
« Последнее редактирование: 29 Сентября 2009, 23:43:55 от allexnew »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
    • Дополнения и изменения в ЧАСТЬ 4:

      пока нет



  • Дополнения и изменения в ЧАСТЬ 3 (продолжение):

    28.09.09 (13.00) Первоначальной идей было создание единственного домашнего каталога для всех пользователей-детей, изменения в котором происходили только на время сессии, а при завершении сессии домашний каталог оставался в первоначальном виде, таким, каким его настроил администратор (см. Дополнения и замечания в ЧАСТЬ 3 от 22.06.09 (22.45)).
    Сразу воплотить идею полностью не удалось. В частности попытка с созданием единственного домашнего каталога для нескольких пользователей провалилась сразу и требовала разбора и анализа. После того, как мне надоело копировать туеву хучу детских каталогов, сел за оптимизацию и собственно добился желаемого результата.

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

    Как видно из статьи для пользователей, имеющих общую домашнюю папку, использовалась т.н. темповая файловая система на основе unionfs. Я не буду объяснять ее принцип действия, он прост, если разобраться. Сразу расскажу как реализовать ОДНУ домашнюю папку для нескольких пользователей.

    Весь фокус заключается в правильном формировании строки для монтирования unionfs (теперь aufs) в файле  pam_mount.conf.xml.

    Итак, старая запись выглядела так:

    Цитировать
    <volume user="child" fstype="tmpfs"  path="tmpfs" mountpoint="/tmp/tmpfs" options="size=25M,uid=child,gid=child,mode=0700" />
    <volume user="child" fstype="aufs" path="aufs" mountpoint="/home/srv/child" options="dirs=/tmp/tmpfs:/home/srv/child=ro" />

    Новая запись выглядит так:

    Цитировать
    <volume pgrp="children" fstype="tmpfs"  path="tmpfs" mountpoint="/tmp/%(USER)" options="size=25M,uid=%(USER),gid=children,mode=770" />
    <volume pgrp="children" fstype="aufs" path="aufs" mountpoint="/tmp/%(USER)" options="dirs=/tmp/%(USER):/home/srv/.child=ro" />

    Рассмотрим изменения:

    1. pgrp="children" (в обоих строках) - означает, что монтирование будет происходить для всех пользователей, входящих в основную группу children.

    2. mountpoint="/tmp/%(USER)" (в обоих строках) - Сообщает о точке монтирования на клиенте. В старом методе было статически указана точка: mountpoint="/tmp/tmpfs", здесь же монтирование будет происходить в каталог с предварительным созданием этого каталога в /tmp, который будет называться именем пользователя. Такой подход обеспечит универсальность не только для обычного входа пользователя, но и в том случае, если пользователи работают по "терминалу" (XDMCP), подключаясь к одному терминальному серверу. (!)

    3. options="dirs=/tmp/%(USER):/home/srv/.child=ro" - Несколько изменился путь к домашнему каталогу. Теперь он указывает на скрытый каталог. Путь соответствует пути на клиенте (помним что все домашние папки подключаются при загрузке клиентской машины).

    Теперь касаемо изменений в параметра пользователей. Необходимо чтобы все пользователи использующие общую домашнюю папку входили в определенную основную группу (в моем случае children), у всех пользователей домашний каталог должен быть выставлен один и тот-же (в моем случае) /home/srv/.child.

    Очень важно сконфигурировать сам домашний каталог (его содержимое). Приведу листинг того, что должно быть в нем:

    Цитировать
    root@sytserver:/media/Profil/home/.child# ls -l -a
    total 72
    drwxrwxr-x 18 root children 4096 2009-09-23 18:54 .
    drwxr-xr-x  9 root root     4096 2009-09-21 20:50 ..
    drwxrwxr-x  6 root children 4096 2009-09-08 21:31 .config
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 default
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 .fonts
    drwxrwxr-x  5 root children 4096 2009-09-08 20:50 .gconf
    drwxrwxr-x  9 root children 4096 2009-09-08 20:50 .gnome2
    drwxrwxr-x  3 root children 4096 2009-09-18 23:36 .kde
    drwxrwxr-x  4 root children 4096 2009-06-19 20:30 .mozilla
    drwxrwxr-x  3 root children 4096 2009-06-19 20:30 .openoffice.org
    drwxrwxr-x  9 root children 4096 2009-08-10 21:15 .opera
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 Видео
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 Документы
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 Картинки
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 Музыка
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 Общедоступная
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 Рабочий стол
    drwxrwxr-x  2 root children 4096 2009-06-19 20:30 Шаблоны
    root@sytserver:/media/Profil/home/.child#

    Обратите внимание на права. Заметьте, что нет критичных файлов .dmrc, .ICEauthority, которые препятствуют многопользовательскому доступу. Они будут созданы в процессе входа пользователя на временной файловой системе, в связи с этим для каждого пользователя будут свои. Также важно отсутствие некоторых каталогов, каких уже не вспомню. Приведенная структура каталогов, сохранила в себе настройки окружения пользователя, а также настройки программ. Также можно добавлять конфигурационные каталоги других необходимых (но не системных) программ.

    Вот собственно и все. Теперь у кучи детей один общеиспользуемый домашний каталог.

    ЗЫ Если система будет ругаться на то, что кроме владельца доступ имеет еще и группа, следует разрешить использование системы в этом случае. Для этого сделайте: Система - Администрирование - Окно входа в систему - Безопасность - уберите галку с "Разрешать вход только если пользователь..."


    31.10.2009 (17:39) 25 мегабайт для пользовательских нужд на временном разделе, пожалуй, недостаточно. Этот параметр следует увеличить, в моем случае увеличил до 50 мб:

    Цитировать
    <volume pgrp="children" fstype="tmpfs"  path="tmpfs" mountpoint="/tmp/%(USER)" options="size=50M,uid=%(USER),gid=children,mode=770" />
    [/size]

[/list]




В пятой части: Настраиваем права (или ACL, группы и иже с ними)
В шестой части: Сервер печати
В седьмой части: Общий репозиторий для клиентских машин (не обещаю эту часть)
В восьмой части: Квоты (или делим место на винчестере)
Приложение 1: Стандартные права Unix, SUID, SGID, Sticky биты (к 5 части)
Приложение 2: Решение задачи (к 5 части)
Приложение 3: Замена программ Windows их аналогами для школ (список)
Приложение 4: Вопросы лицензирования (или как уберечься от неумных "Маски Шоу")
« Последнее редактирование: 31 Октября 2009, 17:56:44 от allexnew »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

Оффлайн Malamut

  • Ubuntu Member
  • Администратор
  • Старожил
  • *
  • Сообщений: 3337
  • Я добрый, честно!
    • Просмотр профиля
    • Моя страница на Launchpad
Несколько сообщений были выделены в отдельную тему:
https://forum.ubuntu.ru/index.php?topic=66827.0
"Носителем суверенитета и единственным источником власти в Российской Федерации является ее многонациональный народ" Конституция РФ

Оффлайн allexnew

  • Автор темы
  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Окончание (8 часть из 8)

Цели и задачи: Цели и задачи
В первой части: Установка и настройка домена NIS, клиента NIS
Во второй части: Конфигурация сервера и клиента NFS
В третьей части: Домашние папки храним на сервере NFS
В четвертой части: Подключаем шары NFS при входе в систему
В пятой части: Настраиваем права (или ACL, группы и иже с ними)
В шестой части: Сервер печати
В седьмой части: Общий репозиторий для клиентских машин (не обещаю эту часть)


(Нажмите, чтобы показать/скрыть)

  • Дополнения и изменения в ЧАСТЬ 8:

    Пока нет.



Приложение 1: Стандартные права Unix, SUID, SGID, Sticky биты (к 5 части)
Приложение 2: Решение задачи (к 5 части)
Приложение 3: Замена программ Windows их аналогами для школ (список)
Приложение 4: Вопросы лицензирования (или как уберечься от неумных "Маски Шоу")

« Последнее редактирование: 28 Сентября 2009, 12:24:59 от allexnew »
Если ничего не помогает, попробуйте все-таки прочесть инструкцию.

 

Страница сгенерирована за 0.076 секунд. Запросов: 22.