Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:централизованное_управление_linux [2011/05/15 10:42] [Настройка сервера NFS] |
wiki:централизованное_управление_linux [2016/02/17 15:01] (текущий) корректировка предыдущей правки |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Централизованное управление в сети Linux на базе NIS и NFS ====== | ====== Централизованное управление в сети Linux на базе NIS и NFS ====== | ||
- | ^ Поддерживаемые версии Ubuntu ^ Завершенность \\ статьи ^ | + | |
- | |Ubuntu 8.04 Server \\ Ubuntu 9.04 Desktop \\ Ubuntu 9.10 Desktop - Теоретически \\ Ubuntu 9.04-9.10 Server - Теоретически \\ Ubuntu 10.04 Desktop| 80% | | + | ^ Поддерживаемые версии Ubuntu ^ Завершённость \\ статьи ^ |
+ | |Ubuntu 8.04 Server \\ Ubuntu 9.04 Desktop \\ Ubuntu 9.10 Desktop --- теоретически \\ Ubuntu 9.04-9.10 Server --- теоретически \\ Ubuntu 10.04 Desktop| 80% | | ||
===== Вступление ===== | ===== Вступление ===== | ||
- | Не секрет, что за использование нелицензионного ПО в организации администратор может всхлопотать от 2-ух до 5-ти лет. Сложнее становится администраторам работающим в образовательных учреждениях, т.к. в ходе изучения как правило используется множество пакетов-гигантов, таких как photoshop, corel, flash и прочих. Если школы что-то могут еще получить худо-бедно от государства, то дополнительному образованию государством практически ничего не выделяется! | + | Не секрет, что за использование нелицензионного ПО в организации администратор может всхлопотать от 2-ух до 5-ти лет. Сложнее становится администраторам, работающим в образовательных учреждениях, т.к. в ходе изучения, как правило, используется множество пакетов-гигантов, таких как photoshop, corel, flash и прочих. Если школы что-то могут еще получить худо-бедно от государства, то дополнительному образованию государством практически ничего не выделяется! |
- | Вобщем в конце-концов, пригрозив начальству увольнением, начальство согласилось переходить на свободное ПО. | + | |
+ | В общем, в конце-концов, пригрозив начальству увольнением, начальство согласилось переходить на свободное ПО. | ||
+ | |||
+ | Выбор клиентской ОС был недолгим :) И, конечно, самым первым вопросом был вопрос о централизованном управлении и сетевых ресурсах. Домен под самбой и авторизация в самбе линукс-клиентов был отметен сразу, овчинка выделки не стоит из-за массы проблем с этой авторизацией. Сказать, что готовых систем управления для Unux очень мало - это ничего не сказать. Мне удалось найти 3: nowell, какой то дистр за 10 т.р. Linux Xp, и вроде как у дебиана что-то есть. Но хотелось реализации на Ubuntu, т.к. разбираться с новыми системами времени уже нет, сентябрь не загорами. | ||
- | Выбор клиентской ОС был недолгим :). И, конечно, самым первым вопросом был вопрос о централизованном управлении и сетевых ресурсах. Домен под самбой и авторизация в самбе линукс-клиентов был отметен сразу, овчинка выделки не стоит из-за массы проблем с этой авторизацией. Сказать что готовых систем управления для Unux очень мало - это ничего не сказать. Мне удалось найти 3: nowell, какой то дистр за 10 т.р. Linux Xp и вроде как у дебиана что-то есть. Но хотелось реализации на Ubuntu, т.к. разбираться с новыми системами времени уже нет, сентябрь не загорами. | + | В качетсве серверной ОС планировалось взять любимую FreeBSD, но, даже настроив авторизацию клиентов linux в NIS домене FreeBSD, существовала еще куча проблем с оборудованием, в частности с поддержкой принтеров, и прочие мелкие недочеты по совместимости linux и FreebSD. Скрепя сердце и раскинув мозгами, была выбрана Ubuntu Server, все-таки совместимости с клиентами будет больше да и с оборудованием полегче. |
- | В качетсве серверной ОС планировалось взять любимую FreeBSD, но, даже настроив авторизацию клиентов linux в NIS домене FreeBSD, существовала еще куча проблем с оборудованием, в частности с поддержкой принтеров, и прочих мелких недочетов по совместимости linux и FreebSD. Скрипя сердцем и раскинув мозгами была выбрана Ubuntu Server, все-таки совместимости с клиентами будет больше да и с оборудованием по легче. | + | |
- | Вобщем, выбр пал на Ubuntu 8.04 Server, Ubuntu 9.04 desktop и на связку NIS и NFS. Каких то готовых how-to по этой связке очень мало, в основном все разбросано по малым кусочкам. Если NIS домен поднять сложностей не составляет, то вопросы, например, по автомонтированию шар для клиентов (да еще для каждого свои ресурсы), разобраны очень скудно. В процесе сборки выявлялось масса мелких недочетов, которые тормозили весь процесс. | + | В общем, выбор пал на Ubuntu 8.04 Server, Ubuntu 9.04 desktop и на связку NIS и NFS. Каких-то готовых how-to по этой связке очень мало, в основном все разбросано по малым кусочкам. Если NIS домен поднять сложностей не составляет, то вопросы, например, по автомонтированию шар для клиентов (да еще для каждого свои ресурсы), разобраны очень скудно. В процесе сборки выявлялось масса мелких недочетов, которые тормозили весь процесс. |
Собственно перед вами HOW-TO: **Централизованное управление в Linux сети на базе NIS и NFS**. | Собственно перед вами HOW-TO: **Централизованное управление в Linux сети на базе NIS и NFS**. | ||
Строка 18: | Строка 21: | ||
**Примечание к статье** | **Примечание к статье** | ||
- | Ув. читатели! В качестве серверной ОС я всегда использовал FreeBSD под свои нужды, она мне ближе, но здесь будет описана конфигурация Server Ubuntu. Кто пользует FreeBSD, знает, что часто синтаксис и конфигурация в этих системах имеют расхождения. В связи с этим, если вдруг вы увидели, что тот или иной момент решен, так сказать, костылем, просьба предложить лучший вариант. | + | Уважаемые читатели! В качестве серверной ОС я всегда использовал FreeBSD под свои нужды, она мне ближе, но здесь будет описана конфигурация Server Ubuntu. Кто пользует FreeBSD знает, что часто синтаксис и конфигурация в этих системах имеют расхождения. В связи с этим, если вдруг вы увидели, что тот или иной момент решен, так сказать, костылем, просьба предложить лучший вариант. |
Приведенная конфигурация администрирования вполне успешно внедрена в государственном учреждении дополнительного образования и не менее успешно функционирует в учебном процессе. | Приведенная конфигурация администрирования вполне успешно внедрена в государственном учреждении дополнительного образования и не менее успешно функционирует в учебном процессе. | ||
- | Т.к. статья предполагается большой, наполнятся она будет частями по мере свободного времени.</note> | + | Т. к. статья предполагается большой, наполнятся она будет частями по мере свободного времени.</note> |
===== Основные задачи ===== | ===== Основные задачи ===== | ||
- | | ||
* Централизованное управление пользовательскими учетными записями; | * Централизованное управление пользовательскими учетными записями; | ||
Строка 47: | Строка 49: | ||
===== Что такое NIS? ===== | ===== Что такое NIS? ===== | ||
- | //NIS, что является сокращением от Network Information Services (Сетевые Информационные Службы), которые были разработаны компанией Sun Microsystems для централизованного администрирования систем UNIX® (изначально SunOS™). В настоящее время эти службы практически стали промышленным стандартом; все основные UNIX-подобные системы (Solaris™, HP-UX, AIX®, Linux, NetBSD, OpenBSD, FreeBSD и так далее) поддерживают NIS. | + | //NIS, что является сокращением от Network Information Services (сетевые информационные службы), разработан компанией Sun Microsystems для централизованного администрирования систем UNIX(r) (изначально SunOS(tm)). В настоящее время эти службы практически стали промышленным стандартом; все основные UNIX-подобные системы (Solaris(tm), HP-UX, AIX(r), Linux, NetBSD, OpenBSD, FreeBSD и так далее) поддерживают NIS. |
NIS первоначально назывались Yellow Pages (или yp), но из-за проблем с торговым знаком Sun изменила это название. Старое название (и yp) всё ещё часто употребляется. | NIS первоначально назывались Yellow Pages (или yp), но из-за проблем с торговым знаком Sun изменила это название. Старое название (и yp) всё ещё часто употребляется. | ||
Строка 53: | Строка 55: | ||
Это система клиент/сервер на основе вызовов RPC, которая позволяет группе машин в одном домене NIS совместно использовать общий набор конфигурационных файлов. Системный администратор может настроить клиентскую систему NIS только с минимальной настроечной информацией, а затем добавлять, удалять и модифицировать настроечную информацию из одного места. | Это система клиент/сервер на основе вызовов RPC, которая позволяет группе машин в одном домене NIS совместно использовать общий набор конфигурационных файлов. Системный администратор может настроить клиентскую систему NIS только с минимальной настроечной информацией, а затем добавлять, удалять и модифицировать настроечную информацию из одного места. | ||
- | Это похоже на систему доменов Windows NT®; хотя их внутренние реализации не так уж и похожи, основные функции сравнимы.// ((Цитата c описанием заимствована из документации ресурса http://www.freebsd.org. Более подробное описание по работе с NIS, вы сможете найти [[ http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-nis.html | здесь]]. )) | + | Это похоже на систему доменов Windows NT®; хотя их внутренние реализации не так уж и похожи, основные функции сравнимы.// ((Цитата c описанием заимствована из документации ресурса http://www.freebsd.org. Более подробное описание по работе с NIS, вы сможете найти на [[ http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-nis.html|freebsd.org]]. )) |
- | Очень рекомендуется перед использованием почитать о принципах работы NIS, чтобы в полном объеме понимать, о чем пойдет тут речь. Почитать можно, например, [[http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-nis.html | здесь]]. Установка сервера NiS и настройка клиентов достаточно проста. Чего не скажешь о мелких неприятностях в процессе работы, их я упомяну чуть ниже. | + | Очень рекомендуется перед использованием почитать о принципах работы NIS, чтобы в полном объеме понимать, о чем пойдет тут речь. Почитать можно, например, [[http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-nis.html|здесь]]. Установка сервера NIS и настройка клиентов достаточно проста. Чего не скажешь о мелких неприятностях в процессе работы, их я упомяну чуть ниже. |
===== Установка сервера NIS ===== | ===== Установка сервера NIS ===== | ||
Строка 61: | Строка 63: | ||
Для установки NIS потребуется пакет **nis** и **portmap**, ставим их: | Для установки NIS потребуется пакет **nis** и **portmap**, ставим их: | ||
- | <code> sudo apt-get install portmap, nis </code> | + | <code>sudo apt-get install portmap, nis</code> |
- | Далее, кто желает досканально ковыряться в конфиге, может проследовать в **/var/yp/Makefile**, кто экономит время, то идем в **WEBMIN** **"Сеть - Клиент и сервер NIS"** и выбираем раздел **"Сервер NIS"**. Для базовой настройки этого достаточно, а напильником обработать всегда можно позже. | + | Далее, кто желает досканально ковыряться в конфиге, может проследовать в **/var/yp/Makefile**, кто экономит время, то идем в **WEBMIN** **Сеть - Клиент и сервер NIS** и выбираем раздел **Сервер NIS**. Для базовой настройки этого достаточно, а напильником обработать всегда можно позже. |
Выставляем опции: | Выставляем опции: | ||
Строка 72: | Строка 74: | ||
* Все остальные параметры рекомендуется пока оставить как есть. | * Все остальные параметры рекомендуется пока оставить как есть. | ||
- | + | <note>Немного о т. н. картах NIS. Карты nis пердоставляются сервером для клиентов домена. Основные карты это **passwd.**, **group.**, **shadow.**, **netgroup.**. Если одним словом, то у клиента NIS как бы подменяются (дополняются) эти файлы соответствующими данными из файлов сервера. Таким образом, каждый клиент NIS будет знать о существовании, например, пользователей сервера NIS. Отдельно стоит отметить сетевые группы (карта **netgroup**), но о них чуть позже.</note> | |
- | <note>Немного о т.н. картах NIS. Карты nis пердоставляются сервером для клиентов домена. Основные карты это **passwd.**, **group.**, **shadow.**, **netgroup.**. Если одним словом, то у клиента NIS как бы подменяются (дополняются) эти файлы соответствующими данными из файлов сервера. Таким образом, каждый клиент NIS будет знать о существовании, например, пользователей сервера NIS. Отдельно стоит отметить сетевые группы (карта **netgroup**), но о них чуть позже.</note> | + | |
После нажимаем кнопку **"Сохранить и применить"**. Можно сказать что домен поднят. Проверьте, что демон **ypserv** и **portmap** стартанули: | После нажимаем кнопку **"Сохранить и применить"**. Можно сказать что домен поднят. Проверьте, что демон **ypserv** и **portmap** стартанули: | ||
Строка 88: | Строка 89: | ||
Если что-то не запустилось, для начала перезагрузитесь, попробуйте вручную запустить сервер **/etc/init.d/nis start** и смотрите логи. Чтобы сервер не тормозил при старте и рестарте, проверьте что параметр **NISCLIENT=false** в файле **/etc/init.d/nis**. | Если что-то не запустилось, для начала перезагрузитесь, попробуйте вручную запустить сервер **/etc/init.d/nis start** и смотрите логи. Чтобы сервер не тормозил при старте и рестарте, проверьте что параметр **NISCLIENT=false** в файле **/etc/init.d/nis**. | ||
+ | |||
Теперь внимание: по nis могут авторизироваться пользователи только с UID более 1000 (это указано в настройках сервера NIS), более того, при добавлении, удалении, изменении параметров пользователей и групп необходимо заново перестраивать карты nis сервера. Это можно сделать написав команду **make**, предварительно зайдя в каталог **/var/yp** или нажав кнопку **"Сохранить и применить"** в WEBMIN **"Сеть - Клиент и сервер NIS" - "Сервер NIS"**. | Теперь внимание: по nis могут авторизироваться пользователи только с UID более 1000 (это указано в настройках сервера NIS), более того, при добавлении, удалении, изменении параметров пользователей и групп необходимо заново перестраивать карты nis сервера. Это можно сделать написав команду **make**, предварительно зайдя в каталог **/var/yp** или нажав кнопку **"Сохранить и применить"** в WEBMIN **"Сеть - Клиент и сервер NIS" - "Сервер NIS"**. | ||
Строка 101: | Строка 103: | ||
Далее отредактируйте файлы: | Далее отредактируйте файлы: | ||
- | - Добавить в конец файла /etc/passwd: **+::::::** | + | - Добавить в конец файла /etc/passwd: ''%%+::::::%%'' |
- | - Добавить в конец файла /etc/group: **+:::** | + | - Добавить в конец файла /etc/group: ''%%+:::%%'' |
- | - Добавить в конец файла /etc/shadow: **+** | + | - Добавить в конец файла /etc/shadow: ''+'' |
Приведите файл **/etc/nsswitch.conf** в такой вид: | Приведите файл **/etc/nsswitch.conf** в такой вид: | ||
Строка 139: | Строка 141: | ||
gateway 192.168.1.1 | gateway 192.168.1.1 | ||
- | где **eth0** - сетевой интерфейс рабочей станции, **address** - ip адрес станции, **netmask** - сетевая маска вашей сети, **gateway** - шлюз по умолчанию для вашей сети. При необходимости, здесь же, добавьте маршрутизацию. Перезапустите сетевой интерфейс или перезагрузите рабочую станцию. | + | * **eth0** --- сетевой интерфейс рабочей станции, |
+ | * **address** --- IP-адрес станции, | ||
+ | * **netmask** --- сетевая маска вашей сети, | ||
+ | * **gateway** --- шлюз по умолчанию для вашей сети. | ||
+ | |||
+ | При необходимости, здесь же, добавьте маршрутизацию. Перезапустите сетевой интерфейс или перезагрузите рабочую станцию. | ||
Строка 148: | Строка 155: | ||
После этих манипуляций вся загрузка будет происходить четко и быстро. | После этих манипуляций вся загрузка будет происходить четко и быстро. | ||
- | Вот и все, клиент настроен. | + | Вот и всё, клиент настроен. |
Для проверки что клиент NIS действительно готов, можно выполнить ряд небольших действий. Для начала проверьте что все необходимые демоны запущены: | Для проверки что клиент NIS действительно готов, можно выполнить ряд небольших действий. Для начала проверьте что все необходимые демоны запущены: | ||
Строка 179: | Строка 187: | ||
Теперь нужно добавить нового пользователя на сервере, перестроить карты NIS и можно входить в домен с клиента. | Теперь нужно добавить нового пользователя на сервере, перестроить карты NIS и можно входить в домен с клиента. | ||
+ | |||
Сделать это можно либо через команду **adduser**, либо через **WEBMIN**: **"Система - Пользователи и группы - Создать нового пользователя"**. Обратите внимание, что пароль в WEBMIN должен задаваться в поле **Обычный пароль**. В разделе **"При создании.."**, можно везде поставить **"нет"**. | Сделать это можно либо через команду **adduser**, либо через **WEBMIN**: **"Система - Пользователи и группы - Создать нового пользователя"**. Обратите внимание, что пароль в WEBMIN должен задаваться в поле **Обычный пароль**. В разделе **"При создании.."**, можно везде поставить **"нет"**. | ||
После добавления пользователей необходимо не забыть перестроить карты NIS. Это можно сделать написав команду **make**, предварительно зайдя в каталог **/var/yp** или нажав кнопку **"Сохранить и применить"** в WEBMIN **"Сеть - Клиент и сервер NIS" - "Сервер NIS"**. | После добавления пользователей необходимо не забыть перестроить карты NIS. Это можно сделать написав команду **make**, предварительно зайдя в каталог **/var/yp** или нажав кнопку **"Сохранить и применить"** в WEBMIN **"Сеть - Клиент и сервер NIS" - "Сервер NIS"**. | ||
Строка 197: | Строка 206: | ||
====== ЧАСТЬ 2: Конфигурация сервера и клиента NFS ====== | ====== ЧАСТЬ 2: Конфигурация сервера и клиента NFS ====== | ||
- | **Network File System** (NFS) — это сетевая файловая система, позволяющая пользователям обращаться к файлам и каталогам, расположенным на удалённых компьютерах, как если бы эти файлы и каталоги были локальными.((Рекомендуется более детально ознакомиться с принципами работы NFS, например, [[http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-nfs.html|здесь]].)) Собственно чем мы и займемся. | + | **Network File System** (NFS) --- сетевая файловая система, позволяющая пользователям обращаться к файлам и каталогам, расположенным на удалённых компьютерах, как если бы эти файлы и каталоги были локальными.((Рекомендуется более детально ознакомиться с принципами работы NFS, например, [[http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-nfs.html|здесь]].)) Собственно чем мы и займемся. |
Как и настройка NIS, настройка NFS до безобразия проста. | Как и настройка NIS, настройка NFS до безобразия проста. | ||
Строка 244: | Строка 253: | ||
</code> | </code> | ||
- | Теперь необходимо экспортировать((В NFS термин экспортировать означает представить в общее пользование. Здесь и далее я буду использовать также термин "расшарить" (от. лат. share).)) каталоги для дальнейшего пользования клиентами. За список расшаренных ресурсов отвечает файл **/etc/exports**. При любых изменениях в этом файле, дабы активировать изменения, необходимо запускать команду **sudo exportfs -a**. | + | Теперь необходимо экспортировать((В NFS термин экспортировать означает представить в общее пользование. Здесь и далее я буду использовать также термин "расшарить" (от англ. share) )) каталоги для дальнейшего пользования клиентами. За список расшаренных ресурсов отвечает файл **/etc/exports**. При любых изменениях в этом файле, дабы активировать изменения, необходимо запускать команду **sudo exportfs -a**. |
Немного о синтаксисе файла. Каждая строка подразумевает расшаривание одного ресурса. Указывается местоположение экспортируемого каталога и некоторые опции, например: | Немного о синтаксисе файла. Каждая строка подразумевает расшаривание одного ресурса. Указывается местоположение экспортируемого каталога и некоторые опции, например: | ||
Строка 260: | Строка 269: | ||
* **Третья строка:** доступ разрешен всем на чтение и запись. | * **Третья строка:** доступ разрешен всем на чтение и запись. | ||
- | Частоиспользуемые опции файла **/etc/exports**: | + | Часто используемые опции файла **/etc/exports**: |
^ Команда ^ Краткое описание ^ | ^ Команда ^ Краткое описание ^ | ||
- | | **secure** |Требует, чтобы запрос на удаленный доступ поступал из привилегированного порта;| | + | | **secure** |Требует, чтобы запрос на удаленный доступ поступал из привилегированного порта | |
- | | **rw** |Экспорт для чтения и записи (по умолчанию);| | + | | **rw** |Экспорт для чтения и записи (по умолчанию) | |
- | | **ro** |Экспорт только для чтения;| | + | | **ro** |Экспорт только для чтения | |
- | | **async** |Асинхронная обработка всех запросов на запись (отложенная запись); при наличии \\ этой опции повышается производительность операций записи, равно как повышается \\ вероятность потери данных в случае краха сервера;| | + | | **async** |Асинхронная обработка всех запросов на запись (отложенная запись); при наличии \\ этой опции повышается производительность операций записи, равно как повышается \\ вероятность потери данных в случае краха сервера | |
- | | **sync** |Синхронная обработка (прямая запись); запись будет производится немедленно при операции \\ записи, без буферизации. Медленнее, но зато надежнее.| | + | | **sync** |Синхронная обработка (прямая запись); запись будет производится немедленно при операции \\ записи, без буферизации. Медленнее, но зато надежнее. | |
Остальные опции (их много) можно прочитать **man exports**, в документации они очень хорошо описаны. | Остальные опции (их много) можно прочитать **man exports**, в документации они очень хорошо описаны. | ||
Строка 275: | Строка 284: | ||
===== Настройка клиента NFS ===== | ===== Настройка клиента NFS ===== | ||
- | + | C настройкой клиента ещё проще. Изначально ядро уже поддерживает NFS, поэтому дополнительных манипуляций и не требуется, кроме установки пакета **nfs-common**: | |
- | C настройкой клиента еще проще. Изначально ядро уже поддерживает NFS, поэтому дополнительных манипуляций и не требуется, кроме установки пакета **nfs-common**: | + | |
<code>apt-get install nfs-common</code> | <code>apt-get install nfs-common</code> | ||
Все. :) На всякий случай конфиг используется этот: **/etc/default/nfs-common**. Клиент готов монтировать ресурсы NFS. | Все. :) На всякий случай конфиг используется этот: **/etc/default/nfs-common**. Клиент готов монтировать ресурсы NFS. | ||
- | Монтирование шар NFS производится командой **mount**. Самый простейший способ смонтирова, такой: | + | Монтирование шар NFS производится командой **mount**. Самый простейший способ смонтировать, такой: |
<code>sudo mount sytserver:/media/Work/tmp /mnt</code> | <code>sudo mount sytserver:/media/Work/tmp /mnt</code> |