- Обмін інформацією через службу NIS Інформаційна служба мережі (NIS) була розроблена компанією Sun...
- Вибір між NIS і NIS +
- Налаштування NIS-сервера
- Лістинг 1. Визначення для правила all
- Налаштування NIS-клієнта
- файл nsswitch.conf
- Лістинг 2. Вихідні рядки файлу nsswitch.conf
- Загальний доступ до файлів через NFS
- Використання системи автоматичного монтування
- Лістинг 3. Фрагмент карти каталогу mnt
- Синхронізація часу
- висновок
- Ресурси для скачування
Обмін інформацією через службу NIS
Інформаційна служба мережі (NIS) була розроблена компанією Sun Microsystems і була також відома під ім'ям Yellow Pages. Системний механізм роботи цієї служби досить простий і заснований на конвертації системних баз даних, таких як / etc / hosts і / etc / passwd, в універсальний формат (в формат DBM, абревіатура якого вже давно втратила своє значення).
Бази даних розташовуються на основному NIS-сервері (NIS-майстра). Кожна окрема база поміщена в іменований домен, а загальний доступ до цих баз здійснюється через RPC-інтерфейс. Служба NIS працює з різними файлами, включаючи наступні:
- passwd (а також файл / etc / shadow, якщо він використовується)
- groups
- hosts
- netmask
- netgroup
- automount
- services
- protocols
- ethers
- aliases (файл псевдонімів для поштової служби)
Вторинні сервери (або slave-сервери - комп'ютери, що містять резервні копії баз даних) копіюють опубліковані бази з основного сервера. NIS-клієнти запитують інформацію з NIS-сервера в міру необхідності (наприклад, при вході користувача в систему) і ніколи не зберігають отриману інформацію, оскільки прив'язані до NIS-серверу за допомогою ypbind. Схема взаємодії серверів і клієнтів NIS зображена на малюнку 1 .
Малюнок 1. Схема взаємодії учасників NIS
Всі зміни, що відбуваються в базі даних NIS, передаються на slave-сервери автоматично в момент настання, або вручну за допомогою команди yppush.
Прямі зміни бази даних користувачами, наприклад, при зміні своїх паролів, передаються безпосередньо на основний NIS-сервер, який оновлює базу і передає всі зміни вторинним серверів.
Вибір між NIS і NIS +
Основна відмінність між службами NIS і NIS + полягає в тому, що NIS + підтримує аутентифікацію і шифрування при обміні даними між основними і вторинними NIS-серверами. Проте, через вимоги безпеки служба NIS + істотно складніше в налаштуванні і обслуговуванні. Крім цього NIS + розширює систему імен, поміщаючи бази даних в деревоподібну структуру об'єктів, а не в один простий домен, тим самим дозволяючи організовувати більш складні і масштабні розподілу.
Зазвичай для будь-якої стандартної середовища можливостей служби NIS виявляється досить, і при правильному налаштуванні не створюється загрози безпеки мережі, що має вихід в Інтернет. Службу NIS + слід використовувати тільки в тих середовищах, в яких приватні мережі більш уразливі, наприклад, в університетах або розподілених конфігураціях, коли дані NIS передаються через публічні мережі.
Налаштування NIS-сервера
У системах Solaris, AIX® і HP-UX підтримка NIS включена за замовчуванням. Дистрибутиви Linux® часто містять NIS в якості стандартного компонента, і бібліотека glibc також включає в себе підтримку цієї служби. Тим не менш, ви можете зіткнутися з необхідністю установки додаткового набору інструментів, необхідних для налаштування і управління службою NIS. Для NIS-сервера під управлінням Linux вам необхідно встановити наступні пакети:
Після установки цих пакетів вам потрібно відредагувати поставляється make-файл (як правило, / var / yp / Makefile). Цей файл містить параметри конфігурації, які будуть використовуватися для побудови початкової бази даних YP. Вам буде необхідно відредагувати визначення для правила all, перерахувавши всі типи файлів, які повинні підтримуватися службою NIS. За замовчуванням це правило включає підтримку всіх файлів, як показано в лістингу 1 .
Лістинг 1. Визначення для правила all
all: passwd group hosts ipnodes ethers networks rpc services protocols \ netgroup bootparams aliases publickey netid netmasks c2secure \ timezone auto.master auto.home ageing \ auth.attr exec.attr prof.attr user.attr audit.user
Ви можете видалити ті файли, з якими вам не потрібно працювати - наприклад, всі файли, за винятком passwd, group і hosts.
Тепер ви готові до заповнення бази даних. Спочатку задайте ім'я NIS-домену:
$ Domainname mcslp.nis
На сервері під управлінням Linux відредагуйте файли / var / yp / securenets і /etc/ypserv.conf відповідно до настройками ваших локальних мереж. Ці файли визначають, які комп'ютери можуть обмінюватися інформацією всередині вашого NIS-домену і отримувати доступ до неї.
Тепер виконайте ініціалізацію бази даних:
$ Ypinit -m
Команда ypinit виконує за вас решту роботи, використовуючи make-файл для перетворення вихідних файлів (наприклад, / etc / passwd) в формат NIS.
При будь-якій зміні вмісту вихідних файлів перейдіть в каталог / var / yp і повторно запустіть команду make, щоб виконати перестроювання баз даних:
$ Cd / var / yp $ make
Якщо ви хочете дозволити окремим користувачам віддалено оновлювати свої паролі входу в систему, переконайтеся, що в системі запущено демон rpc.yppasswdd; він приймає клієнтські запити на пряме оновлення бази даних NIS, при цьому всі зміни передаються через основний і додаткові сервери NIS, і коректно приймаються всіма клієнтськими комп'ютерами.
Налаштування NIS-клієнта
Для настройки NIS-клієнта вам необхідно задати ім'я NIS-домену, запустити локальні служби NIS, а потім виконати ініціалізацію цих служб, щоб вони могли отримувати інформацію з основного або вторинного сервера NIS. Для цих цілей служить команда ypbind, яка приєднує клієнтські комп'ютери до NIS-сервера.
В операційній системі UNIX NIS-сервер визначається автоматично при виклику команди ypbind. У більшості версій Linux ви повинні задати список доступних NIS-серверів у файлі /etc/yp.conf. Наприклад, ви можете зробити це в такий спосіб:
ypserver 192.168.0.22
Основний процес підключення клієнта до NIS-сервера виглядає наступним чином:
- Вказівка NIS-домену: $ domainname mcslp.nis.
- Запуск демона portmap (сервера перетворення програмних номерів RPC), якщо він ще не запущений: $ / sbin / portmap.
- Створення каталогу / var / yp, який буде використовуватися для зберігання службової інформації NIS.
- Запуск ypbind: $ / usr / sbin / ypbind.
Тепер перевірте з'єднання з NIS-сервером, запустивши команду ypcat для виконання прямого запиту до бази даних. Наприклад, щоб отримати відсортований по імені знімок файлу passwd, виконайте наступну команду:
$ Ypcat passwd.byname
Ця команда створить дамп всієї бази даних passwd. Тепер, перш ніж клієнтські системи зможуть використовувати інформацію бази даних NIS, ви повинні перебудувати джерела даних, що використовуються для пошуку.
файл nsswitch.conf
Як в Linux, так і в UNIX файл nsswitch.conf зазвичай використовується для зазначення джерел інформації різного типу. Наприклад, можна налаштувати систему на пошук даних про комп'ютери за допомогою DNS-запитів, в локальних файлах або з використанням служби NIS.
Крім самих джерел даних, в файлі nsswitch.conf налаштовується також і черговість їх використання, яка може вплинути на вибір правильного джерела, а також на здатність відновлення вашої мережі в разі виникнення будь-яких збоїв.
Форматом файлу nsswitch.conf є список рядків, що складаються з двох параметрів: ім'я системної бази даних і відповідний їй список джерел даних, перерахованих в бажаному порядку використання. В лістингу 2 наведено приклад вихідного файлу nsswitch.conf; пошук інформації проводиться в службах NIS і DNS, а також в локальних файлах.
Лістинг 2. Вихідні рядки файлу nsswitch.conf
passwd: nis files shadow: nis files group: nis files hosts: nis dns files networks: nis dns files
з лістингу 2 видно, що пошук інформації для бази passwd проводиться в базі даних NIS (якщо ця служба доступна). При вході користувача в систему в першу чергу буде відбуватися звернення до таблиць NIS. Якщо служба NIS не зможе знайти в своїх таблицях вказане ім'я користувача і поверне помилку, система перейде до пошуку інформації в наступному зазначеному джерелі - в нашому випадку, в локальних файлах.
Наступні поради допоможуть вам правильно налаштувати і використовувати файл nsswitch.conf:
- Пошук в локальних файлах завжди повинен проводитися в останню чергу; особливо це стосується таких баз, як passwd, shadow і hosts. Якщо ви не налаштуєте таку черговість, комп'ютер може виявитися непрацездатним, оскільки в разі відмови служби NIS навіть користувач root не зможе увійти в систему.
- Переконайтеся, що в перерахованих джерелах містяться всі важливі облікові записи і дані про комп'ютерах, а також інша ключова інформація.
- Якщо комп'ютер підключений до Інтернету, то більш ефективним способом вирішення Інтернет-імен буде використання служби DNS, а не функції перенаправлення NIS.
Якщо ви будете дотримуватися цих рекомендацій, ви виключіть можливість бути заблокованими вашої власної системою.
Загальний доступ до файлів через NFS
Мережева файлова система (NFS) також була розроблена компанією Sun Microsystems в якості засобу обміну файлами між різними комп'ютерами. Коли загальний доступ до каталогу надано за допомогою NFS, ви можете монтувати цей каталог на іншій машині так, як якщо б він знаходився на її локальному диску. Вся інформація про безпеку, права доступу до файлів і так далі реплицируется між NFS-клієнтом і NFS-сервером. Оскільки для доступу до загальних файлів NFS використовуються ідентифікатори користувачів і груп, а також інші відомості про користувачів, то зручніше за все передавати цю інформацію через службу NIS.
У загальному випадку, перш ніж запускати NFS-сервер, вам потрібно налаштувати загальні каталоги. В ОС Linux для цього використовується файл / etc / exports, в якому визначаються загальні каталоги, а також різні опції для цих каталогів (такі як права доступу). Наприклад, щоб надати загальний доступ до каталогу / export / data тільки комп'ютерам вашої мережі, ви можете додати такий рядок:
/ Export / data * .mcslp.pri (rw, sync) * (sync)
Опція rw встановлює права на читання або запис для всіх клієнтських комп'ютерів вашої мережі і доступ тільки на читання, який є доступом за замовчуванням, для всіх інших вузлів. Опція sync забезпечує синхронізацію даних файлової системи між віддаленими точками монтування і сервером.
Для надання спільного доступу в системі Solaris використовується файл / etc / dfs / dfstab, в якому ви вказуєте команди для кожного каталогу. Наприклад, ви можете надати загальний доступ до каталогу / export / data з правами на читання або запис для всіх комп'ютерів за допомогою наступного рядка:
share -F nfs -o rw / export / data
Для надання спільного доступу до каталогів в системі AIX використовуйте інструмент smit, а в системі HP-UX - інструмент SAM.
У всіх цих випадках після підготовки файлів і настройки необхідних параметрів ви повинні запустити службу NFS-сервера.
На клієнтських комп'ютерах вам необхідно всього лише запустити службу NFS-клієнта. Після цього ви можете монтувати файлову систему NFS за допомогою команди mount, вказуючи через двокрапку ім'я сервера і повний шлях до віддаленого каталогу. наприклад:
$ Mount bear: / export / data / mnt / data
Ви можете автоматично монтувати каталоги NFS під час завантаження комп'ютера за допомогою файлів / etc / fstab або / etc / vfstab, що використовують той же самий формат рядка. Однак для спрощення процесу монтування та забезпечення його оптимальної роботи вашого сервера найкраще використовувати систему автоматичного монтування.
Використання системи автоматичного монтування
В якості додаткової можливості NFS ви можете задіяти систему автоматичного монтування. Цей компонент автоматично монтує каталоги при зверненні до них. Наприклад, якщо у вас налаштоване автоматичне монтування NFS-каталогу / mnt / data, він автоматично буде змонтований і стане доступним в той момент, коли ви наберете наступну команду:
$ Cd / mnt / data
Коли каталог перестає використовуватися, відбувається його автоматичне Демонтується. Автомонтіровщік стає особливо корисним при роботі з домашніми каталогами користувачів: користувач може увійти в систему на будь-якій машині і отримати доступ до свого домашнього каталогу, який буде автоматично змонтований з віддаленого NFS-сервера.
Використання автомонтіровщіка не тільки спрощує монтування віддалених каталогів з NFS-сервера, але також допомагає знизити навантаження на сервер, позбавляючи від непотрібних взаємодій з клієнтськими комп'ютерами, які не використовують ресурси NFS.
Функція автоматичного монтування включена в різні версії ОС UNIX. Якщо ви працюєте в ОС Linux, то перш ніж налаштовувати і запускати автомонтіровщік, ви повинні настроїти підтримку цієї функції в ядрі і перезавантажити комп'ютер. Для настройки автомонтіровщіка ви повинні спочатку відредагувати файл etc / auto.master (або /etc/autofs/auto.master) - так звану головну карту автомонтіровщіка. У цьому файлі визначені набори зіставлень верхнього рівня і вказується, які карти і в яких файлах повинні використовуватися для каталогів верхнього рівня. Наприклад, такі рядки зіставляють каталоги / home і / mnt двом іншим картками:
/ Home /etc/autofs/auto.home / mnt /etc/autofs/auto.mnt
Потім в рамках карти каталогу / mnt ви налаштовуєте його підкаталоги і відповідні їм NFS-ресурси. В лістингу 3 наведено фрагмент карти каталогу mnt.
Лістинг 3. Фрагмент карти каталогу mnt
applications atuin: / Volumes / Shared1 / Applications archiveprepare atuin: / Volumes / Shared1 / ArchivePrepare backupprepare atuin: / Volumes / Shared1 / BackupPrepare build atuin: / Volumes / Shared1 / Build correspondence atuin: / Volumes / Shared1 / Correspondence devprojects atuin: / Volumes / Shared1 / DevProjects docarchive atuin: / Volumes / Shared1 / DocArchive incoming atuin: / Volumes / Shared1 / Incoming information atuin: / Volumes / Shared1 / Information
Так як наведений вище фрагмент є картою каталогу / mnt, то при зверненні користувача до каталогу / mnt / applications автомонтіровщік монтує зіставлений йому NFS-каталог, в нашому випадку - atuin: / Volumes / Shared1 / Applications.
При роботі в UNIX вам також потрібно буде запустити службу автомонтіровщіка. У більшості версій UNIX ця служба називається automount або automountd, тоді як у багатьох версіях Linux вона називається autofs і запускається в такий спосіб:
/etc/init.d/autofs start
Синхронізація часу
При спільному використанні NIS / NIS + і NFS непогано переконатися, що на всіх серверах встановлено однаковий час. Для служб NIS / NIS + це критично важливо, так як механізми синхронізації і перевірки актуальності баз даних засновані на використанні тимчасових відбитків. Якщо час на ваших комп'ютерах що не буде синхронізовано, вторинні NIS-сервери можуть перестати приймати інформацію з основного NIS-сервера, а основний NIS-сервер може почати відхиляти поновлення баз даних.
Найпростіший спосіб синхронізувати - це використовувати протокол мережевого часу (Network Time Protocol, NTP), який є вбудованим або додатково встановлюються компонентом більшості систем Linux, і все більше і більше використовується в системах UNIX.
Ключовим компонентом після завантаження і компіляції пакета буде служба ntpd. Демон ntpd виконується в фоновому режимі і може надавати інформацію для синхронізації часу, а також автоматично оновлювати час на локальній машині відповідно до часу на сервері.
Якщо ви використовуєте службу NIS, налаштуйте основною NIS-сервер в якості джерела для синхронізації інших комп'ютерів в мережі. Сервер можна налаштувати як на використання власних вбудованих годин, так і на отримання часу від одного з багатьох публічних серверів (при наявності підключення до Інтернету). Наприклад, таку послугу надає мій Інтернет-провайдер, і файл конфігурації мого основного NIS-сервера /etc/ntp.conf містить ім'я NTP-сервера мого Інтернет-провайдера:
server ntp0.zen.co.uk minpoll 12 maxpoll 17
Потім на кожному NIS-сервері і NIS-клієнті мережі використовується однаковий файл /etc/ntp.conf, налаштований на отримання інформації про час від основного NIS-сервера:
server atuin.mcslp.pri minpoll 12 maxpoll 17
Після того, як обидві системи налаштовані, запустіть демон NTP на основному NIS-сервері, виконавши наступну команду:
/etc/init.d/ntp start
Повторіть цей процес на кожному вторинному NIS-сервері і на кожному NIS-клієнті.
висновок
Спільний доступ до даних істотно спрощує процес інтеграції ваших UNIX і Linux систем. Якщо ви забезпечите спільний вхід до облікового запису, а також до іншої інформації користувача, ваші користувачі зможуть входити в систему і працювати на машинах UNIX і Linux, не замислюючись про необхідність запам'ятовувати кілька різних паролів. Налаштувавши спільне використання даного функціоналу з функціоналом NFS, ви можете надавати користувачам загальний доступ до файлів. Якщо при цьому ви використовуєте автоматичне монтування домашніх каталогів, то незалежно від операційної системи або комп'ютерів, за якими працюють користувачі, вони зможуть використовувати свої файли і ресурси так, ніби ці файли розташовані на локальному диску.
Ресурси для скачування
Схожі теми
- Оригінал статті " Make UNIX and Linux work together "(EN).
- у статті AIX and Linux Interoperability (EN) розділу IBM Redbook обговорюються методи поліпшення спільної роботи AIX і Linux з використанням NIS, NFS і інших технологій.
- у статті Using the Network File System in AIX (EN) розкриваються основи файлової системи NFS.
- глава Understanding the automounter (EN) керівництва "Solaris Advanced System Administrator's Guide" (EN) допоможе вам правильно налаштувати і використовувати систему автоматичного монтування практично в будь-якій системі Linux і UNIX.
- Managing NFS and NIS (EN) - відмінне посібник з використання служб NIS і NFS на самих різних платформах.
- Хочете дізнатися більше? розділ AIX і UNIX ресурсу developerWorks містить сотні статей і посібників всіх рівнів складності для користувачів AIX і UNIX.
Підпишіть мене на повідомлення до коментарів
Хочете дізнатися більше?