Как се пуска NFS под WINDOWS

За тези, които не знаят какво е NFS – Network File System.

    Като за начало, да споделя опита постигнат през тези около 3 седмици безбройни и неуморни тестове. Концепцията ни се промени няколко пъти, след което достигнахме до консенсус: винаги има ограничения при преминаване от една файлова система в друга. В нашия случай искаме да преминем от jfs към NTFS. Аналогично се преминава и от ex3 към NTFS. Общо казано преминаваме от Linux/Unix машини към Windows такива. Има още един основен проблем, когато вместо към NFS Root директориите да се закачаме с NFS клиенти – ние използваме обикновен windows share за целта. Проблема идва оттам, че командата mount  в Unix може да монтира и NFS файлови системи без разлика дали е мрежови диск или локален, каквато дава windows share-a. Както и да е. Да започваме вече, тъй като материала е доста и не чак толкова лесен.

    На първо време трябва ясно да уточним за какво точно ни е нужно това чудо NFS и кои от екстрите да си пуснем, за да ни върши добра работа. Ясно е, че ще се използва Microsoft Windows Services for UNIX за целта, тъй като в схемата на Active Directory ® може по-лесно да се вгради подобна структура. Би било по-добре, ако и UNIX-а ни е изграден на базата на тази прословута директория, но …. Съдба. Разчитаме на текстови файлове, уеднаквени на всички възможни сървъри съдържащи информация за потребителите и групите в които членуват. Оттам следва, че ще се прави съпоставка и уеднаквяване (Mapping) на потребители и групи от едната операционна система в другата. В конкретния случай използваме версия 3.5 (конкретна версия : Microsoft Windows Services for UNIX 3.5  [8.0.1969.1]) на тези Services for UNIX.

    С Керам решихме да инсталираме само по-базовите неща, без да се увъртаме в услуги, които няма да използваме. Конфигурацията се състои само в Server for NFS, Client for NFS, User Name Mapping, Password Synchronization, която е изключена, тъй като намерихме за неуместно да я използваме. Инсталацията се намира на системния диск на Storage-server в директория : C:\SFU (важно е да се отбележи, че не може да има интервали в инсталационната директория). Покрай това се инсталираха и няколко unix-ки команди, които ни помогнаха по-късно да си настроим системата, както си искаме. На сървъра са заделени два дискови дяла I: и N:.

Настройки - Server for NFS:

  Настройки – Client for NFS

    Тук нищо не е променяно, тъй като нямаме друг NFS сървър наоколо, а сървърът като такъв няма да прави заявки към себе си през NFS-a.

  Настройки – User Name Mapping

 В тази част става интересно.

Configuration

Текущата конфигурация не използва NIS (Network Information Server) сървър. Затова разчитаме на имена на потребители и групи само от локални файлове.

C:\SFU\etc\passwd
C:\SFU\etc\group

В тези файлове имаме следните данни:

root:!:0:0::/:/usr/bin/ksh
dkishev:*:211:0:Dimitar Kishev:/home/dkishev:/usr/bin/ksh
adabov:*:1006:0:Angel Dabov:/home/adabov:/usr/bin/ksh

и

system:!:0:root,bortov,emarinov,kmanoukian,chzlatkov,pkazandjiev,dkishev

Благодарение на тях е възможно да се осъществи съпоставката на различните потребители и групи.

 Maps

Важно е да се отбележи, че не използваме simple maps а поотделно за всеки потребител от passwd файла посочваме истински домейн потребител. Аналогично за групите. Тук трябва да споменем следното:

 

Толкова за настройките в конзолата за управление на сървъра за NFS.

 Настройки в Active Directory®

    Като за начало – трябва да се създаде потребител root който да се използва за служебни цели а именно за да монтира в AIX NFS директориите. Също така, той е еквивалентен на Administrator потребителя (на него му се дават пълни права върху директориите). Root се прави да бъде член на всички групи, чиито потребители ще имат достъп до NFS директориите. Други настройки в групите не са необходими. Важно да се спомене е, че потребителят sbalabanov е направен да бъде член на групата Payment Systems ,тъй като е включен в групата oinstall в AIX и за него няма отделно дефинирана група. Така той получава същите права в AIX, както и всички от Платежни Системи.

 Настройки на директориите

Тук наистина става малко сложно и объркано ;)

Настройки

Така изглежда дървото на директориите в NFS сървъра.

Директорията NFS Root е основната директория, която ще използваме за необходимите ни цели. Тя е разделена на поддиректории по показания начин и не е  шерната  с NFS share.

  Гледана през unix интерфейс изглежда така:

drwx------  1 +Administrators  Domain Users  0 Jul  7 13:37 NFS Root

 Гледана през Windows интерфейс изглежда така:

Administrators(bsdomain\Administrators) – Full Control /This Folder, Subfolders and Files/
CREATOR OWNER – Full Control /Subfolders and Files only/

    Няма наследяване на права от по-горна директория. Тази директория не трябва да се пипа с chown!

    Навътре в директорията има още 4 поддиректории – по една за всеки отдел, имащ достъп от AIX машините и една обща наречена public, където всички да могат да споделят файлове (от всички отдели).

    Директорията nfspublic е такава, че всички потребители и съответните групи, към които принадлежат да имат пълен контрол над нея, без да могат да я изтрият самата нея. Шерната е с нормален windows share и nfs share. Видима е от двете операционни системи. Монтира се в AIX като /nfspublic.

Гледана през unix интерфейс изглежда така:

drwxrwx---+ 1 root             ROOT                            0 Jul  6 14:22 nfspublic

Гледана през Windows интерфейс изглежда така:

Administrators(bsdomain\Administrators) – Full Control /This Folder, Subfolders and Files/
Everyone – Special /This Folder, Subfolders and Files /
- Read Attributes
- Read Extended Attributes
- Read Permitions
Root – Full Control /This Folder, Subfolders and Files/
Всички групи участнички – Full Control /This Folder, Subfolders and Files/
CREATOR OWNER – Full Control /Subfolders and Files only/

    Няма наследяване на права от по-горна директория. Тази директория трябва да се пипа с chown!

    Действия на създателя и:

  1. chown :ROOT nfspublic
  2. настройка на гореописаните позволения над директорията
  3. смяна на собственика и (през windows интерфейса) на root
  4. шерване на директорията служебно с права всички групи да имат full control. 
  5. NFS Share на директорията по описаното по-надолу правило

    При спазване на реда на действията – ще се получи желания резултат
    * Директорията nfspublic е собственост на групата СОИС, тъй като СОИС съответства на system, което я прави най-добрия собственик на такъв тип директория.

Директория nfsиме_на_отдел (да вземем за пример директорията nfsdba). При създаването на директорийното дърво от администратора, всички директории имат за собственик/потребител Administrators и собственик/група Domain Admins. Тъй като нямаме дефинирана връзка между потребител от UNIX и Windows отговарящи за тези потребители и групи е необходимо да се направят собственост на някой познати ни групи и потребители. Шерната е с нормален windows share и nfs share. Видима е от двете операционни системи. Монтира се в AIX като /nfsdba.

Гледана през unix интерфейс изглежда така:

drwxr-x---+ 1 root             System Support and Development  0 Jul  6 14:19 nfsdba

Гледана през Windows интерфейс изглежда така:

Administrators(bsdomain\Administrators) – Full Control /This Folder, Subfolders and Files/

System Support and Development – Read, Write & Execute /Subfolders and Files only/

- Traverse Folder /Execute Files/
- List Folder /Read Data/
- Read Attributes
- Read Extended Attributes
- Create Files
- Create Folders
- Write Attributes
- Write Extended Attributes
- Read Permitions

System Support and Development – Read & Execute /This Folder only/

- Traverse Folder /Execute Files/
- List Folder /Read Data/
- Read Attributes
- Read Extended Attributes
- Read Permissions

Root – Full Control /This Folder, Subfolders and Files/
CREATOR OWNER – Full Control /Subfolders and Files only/

 Няма наследяване на права от по-горна директория. Тази директория трябва да се пипа с chown!

Действия на администратора:

  1. chown :”System Support and Development” nfsdba
  2. подобно на настройките за public директорията и тук се следват посочените разрешения за тази директория.
  3. смяна на собственика и през windows интерфейса на root
  4. служебно шерване на директорията като nfsdba$ с права за съответната група (System Support and Development) Full Control.
  5.  NFS Share на директорията по описаното по-надолу правило

След настройката на всички директории за всеки отдел поотделно трябва да получим следния резултат в директорията NFS Root:

I:\NFS Root>ls -la

total 0

drwx------  1 +Administrators  Domain Users                    0 Jul  7 13:37 .
drwxrwxr-x+ 1 +Administrators  +SYSTEM                         0 Jul  6 11:50 ..
drwxrwx---+ 1 root             ROOT                            0 Jul  6 14:22 nfspublic
drwxr-x---+ 1 root             ROOT                            0 Jul  6 17:06 nfsroot

 

Настройка на поддиректории в директорията за всеки отдел

    Както вече посочих – в директорията за всеки отдел ще има няколко утвърдени поддиректории а именно : home, install и public като public директорията е присъща за всеки отдел поотделно. В home директорията ще има поддиректория за всеки потребител, в която самият той ще има пълни права а всички останали само ще могат да четат нещата му. Потребителите не могат да пишат директно в home а само в собствените си директории. Директорията install ще бъде достъпна за цялата група, но никой освен root потребителя няма да може да трие и записва в нея данни. Тя не може да бъде изтрита от никой друг освен Administrator/root потребителите. Директорията public ще е общодостъпна за групата. В нея всеки може да пише и чете каквото си иска, като всички могат да трият създадени от друг директории и файлове. Администраторът има достъп както на другите потребители, но той може и да изтрие самата директория, докато те сами не могат. Тъй като при отваряне на директорията на отдела през Windows и през UNIX потребителите ще виждат едни и същи 3 поддиректории (home, public, install) умишлено сме забранили да се създават и трият каквито и да било други директории.

Настройки на home директорията

Гледана през unix интерфейс изглежда така:

drwxr-x---+ 1 root             System Support and Development  0 Jul  6 15:05 home

Гледана през Windows интерфейс изглежда така:

Administrators(bsdomain\Administrators) – Full Control /This Folder only/
System Support and Development – Read /This Folder, Subfolders and Files only/

- List Folder /Read Data/
- Read Attributes
- Read Extended Attributes
- Read Permissions

System Support and Development – Read & Execute /This Folder and Subfolders/

- Traverse Folder /Execute Files/
- List Folder /Read Data/
- Read Attributes
- Read Extended Attributes
- Read Permissions

Root – Full Control /This Folder, Subfolders and Files/

 Няма наследяване на права от по-горна директория. Тази директория трябва да се пипа с chown!

Действия на администратора:

  1. създават се поддиректории на home с имената на потребителите
  2. chown :” System Support and Development” home
  3. подобно на настройките за nfsdba директорията и тук се следват посочените разрешения за тази директория
  4. смяна на собственика и през windows интерфейса на root

Настройка на директорията на всеки отделен потребител (в примера ще използваме luserski).
След като е създадена на конкретен потребител директорията тя наследява права от по-горната home директория. Тук се налагат няколко промени.

Гледана през unix интерфейс изглежда така:

drwxr-x---+ 1 Luserski  System Support and Development  0 Jul  6 14:24 ltomovski

Гледана през Windows интерфейс изглежда така:

Administrators(bsdomain\Administrators) – Full Control / This Folder, Subfolders and Files / (наследеното)

System Support and Development – Read /Subfolders and Files only/ (наследеното)

- List Folder /Read Data/
- Read Attributes
- Read Extended Attributes
- Read Permissions

System Support and Development – Read & Execute /This Folder and Subfolders/ (наследеното)

- Traverse Folder /Execute Files/
- List Folder /Read Data/
- Read Attributes
- Read Extended Attributes
- Read Permissions

Root – Full Control /This Folder, Subfolders and Files/ (наследеното)

Ltomovski – Full Control /This Folder, Subfolders and Files/

 Има наследяване на права от по-горна директория. Тази директория трябва да се пипа с chown!

  1.   chown :” System Support and Development” ltomovski
  2. подобно на настройките за home директорията и тук се следват посочените разрешения за тази директория, но в случая те са наследени => трябва да се внимава да не са останали някакви други права за потребителите, които не са наследени
  3.  ненаследените права се изтриват
  4. добавя се право на конкретния потребител за пълен достъп до директорията, поддиректорията и файловете в нея.
  5. сменя се собственика през windows интерфейса

След настройката на всички директории за всеки потребител трябва а имаме такъв резултат:

I:\NFS Root\nfsdba\home>ls -la

total 0

drwxr-x---+ 1 root       System Support and Development  0 Jul 10 11:20 .
drwxr-x---+ 1 root       System Support and Development  0 Jul  6 14:19 ..
drwxr-x---+ 1 LTomovski  System Support and Development  0 Jul  6 14:24 luserski

Настройка на директория install

Както вече споменах по-нагоре директорията трябва да съдържа инсталации на различни продукти, всички от групата да четат и изпълняват съдържанието и, както и да не могат да записват и изтриват допълнителни неща. Само администратора може да прави това.
Гледана през unix интерфейс изглежда така:

drwxr-x---+ 1 root             System Support and Development  0 Jul  6 14:19 install

Гледана през Windows интерфейс изглежда така:

Administrators(bsdomain\Administrators) – Full Control / This Folder, Subfolders and Files /
System Support and Development – Read & Execute /This Folder and Subfolders/

- Traverse Folder /Execute Files/
- List Folder /Read Data/
- Read Attributes
- Read Extended Attributes
- Read Permissions

Root – Full Control /This Folder, Subfolders and Files/
Luserski – Full Control /This Folder, Subfolders and Files/

 Няма наследяване на права от по-горна директория. Тази директория трябва да се пипа с chown!

  1.   chown :” System Support and Development” install
  2. подобно на настройките за nfsdba директорията и тук се следват посочените разрешения за тази директория
  3. променя се собственика на директорията през windows интерфейса на root

Настройка на директория public (това е за всеки отдел)

Тук всички, които са членове на една група могат да пишат и четат свободно, като разбира се могат да трият и файловете на другите без да могат да изтрият самата директория.
Гледана през unix интерфейс изглежда така:

drwxrwx---+ 1 root             System Support and Development  0 Jul  6 14:19 public

Гледана през Windows интерфейс изглежда така:

Administrators(bsdomain\Administrators) – Full Control / This Folder, Subfolders and Files /

System Support and Development – Special  /This Folder only/

- всички права без Delete

Root – Full Control /This Folder, Subfolders and Files/

System Support and Development – Full Control /Subfolders and Files only/

 Няма наследяване на права от по-горна директория. Тази директория трябва да се пипа с chown!

  1. chown :” System Support and Development” public
  2. подобно на настройките за install директорията и тук се следват посочените разрешения за тази директория
  3. променя се собственика на директорията да бъде root

След края на промените по директориите трябва да се получи такъв резултат:

I:\NFS Root\nfsdba>ls -la

total 0

drwxr-x---+ 1 root             System Support and Development  0 Jul  6 14:19 .
drwx------  1 +Administrators  Domain Users                    0 Jul  7 13:37 ..
drwxr-x---+ 1 root             System Support and Development  0 Jul 10 11:20 home
drwxr-x---+ 1 root             System Support and Development  0 Jul  6 14:19 install
drwxrwx---+ 1 root             System Support and Development  0 Jul  6 14:19 public

Описаното се прилага и на всички отделни директории за отделните отдели, за да се получи търсеният ефект.

 

NFS SHARE

За да шернем посочените директории в NFS трябва да се изпълнят следните действия за всяка една директория, която искаме да бъде отделно видима:

  1. в администраторската конзола за MS Windows Services for UNIX дефинираме предварително групите компютри, които ще са клиенти на NFS-a
  2. в конкретната директория на меню NFS Sharing се отбелязва името, под което ще се вижда директорията.
  3. при натискане на бутона Permissions добавяме необходимите ни групи за конкретния share като позволяваме root достъп и възможност за писане и четене 

В зависимост колко групи компютри имаме и какъв достъп те ще имат до съответния ресурс – прилагаме тази процедура, докато получим необходимия резултат.

Забележка: NFS Share се прилага само на главната nfspublic директория и на всички директории за отделите. Нито ниво по-навътре

Няма коментари

Обратно към списъка със статиите

Тази страница последно е променяна на 2024-04-29 02:51:33