Mars - emulátor NetWare serveru

1.11.1998

Tento článek obsahuje popis instalace Marsu ze zdrojových kódů dostupných na Internetu a posléze rozebírá konfigurační soubor Marsu /etc/nwserv.conf. Pokud si Mars nainstalujete do Linuxu přímo z distribuce RedHatu, můžete kompilaci vynechat, ale budete pravděpodobně muset projít jeho konfigurační soubor, abyste Mars přizpůsobili svým požadavkům. Nejdůležitější sekce se nacházejí na začátku konfiguračního souboru.

Článek o konfiguraci IPX v Linuxu je dostupný na adrese: http://www.spsselib.hiedu.cz/~kerslage/manuals/linux/IPX.html

Download

Domácí stránka Marsu: http://www.compu-art.de/download/mars_nwe.html
Mirror: http://ftp.spsselib.hiedu.cz/pub/mirrors/mars.www/
Použitá verze Marsu: mars_nwe-0.99.pl8.tgz

Kompilace a instalace

Kompilace a instalace zdrojových kódů je jednoduchá. Nejprve rozbalíme archív, pak spustíme make poprvé, vytvoří se soubory config.h a mk.li, které můžeme upravit dle svých požadavků. Upravit bude nejspíše nutné poslední dva řádky v souboru config.h:
    #define SHADOW_PWD       0
    #define QUOTA_SUPPORT    0
Pokud používáme ve svém systému shadow password nebo quotu, změníme nulu v příslušném řádku na jedničku. V některých rozlehlých sítích, kde je v síti více serverů, bude potřeba přeložit Mars s upravenou řádkou v souboru net.h:
    #define MAX_SERVER_NAME  48

Dalším make Mars zkompilujeme, pak nainstalujeme, upravíme konfigurační soubor /etc/nwserv.conf a můžeme ho spustit. Vysvětlení obsahu konfiguračního souboru najdete v následujících odstavcích.

    tar xzf mars_nwe-0.99.pl8.tgz
    cd mars_nwe
    make
    [editace config.h a mk.li]
    make
    make install
    make install_ini  [pokud chceme přepsat starý /etc/nwserv.conf]
    [editace /etc/nwserv.conf]

Spuštění serveru

Před prvním spuštěním je potřeba upravit konfigurační soubor /etc/nwserv.conf, jehož struktura je popsána v další kapitole. Vlastní start serveru zajistíme zadáním příkazu:
    nwserv
Emulátor NetWare serveru se spustí, projde svůj konfigurační soubor, nastaví podle něj síťová rozhraní, aktivuje vnitřní IPX router a začne se do sítě ohlašovat pomocí protokolů SAP a RIP. Od tohoto okamžiku je možné se k němu přihlásit. Úspěšný start serveru můžeme zkontrolovat pomocí následujících příkazů (cesty k logům je možné předefinovat v konfiguračním souboru):
    cat /proc/net/ipx_interface
    cat /proc/net/ipx_route
    cat /var/log/nw.log
    cat /var/log/nw.routes
Nejčastější problémy jsou s nastavením IPX rozhraní. Pokud Mars neběží tak, jak má, bude problém s největší pravděpodobností zde. Zkotrolujte zejména sekce 3 a 4 konfiguračního souboru a pokud problémy přetrvávají, obraťte se na svého síťového administrátora.

Při změně konfiguračního souboru až po startu systému je potřeba dát Marsu najevo, že si má konfigurační soubor znovu přečíst. Nejjednodušeji to lze provést zadáním příkazu:

    nwserv -h
Mars znovu načte svůj konfigurační soubor bez toho, aby byli právě připojení uživatelé odpojeni. Pokud si přejete Mars ukončit, použijte příkaz:
    nwserv -k
Server oznámí všem připojeným uživatelům pomocí broadcastů ukončení své činnosti, odpojí je a skončí. Rychlost, s jakou dojde k zastavení serveru a zasílání zpráv uživatelům můžete nastavit v konfiguračním souboru.

Konfigurační soubor

Mars používá jediný konfigurační soubor /etc/nwserv.conf. Je poměrně obsáhlý, dobře komentovaný v angličtině a má jednoduchou strukturu. Kromě komentářů uvozených znakem # obsahuje mnoho sekcí, které se liší významem i parametry. Každý řádek musí začínat číslem sekce, prázdné řádky jsou nevýznamné. Některé sekce mohou mít řádků několik (vždy znovu uvozené číslem sekce), jiné jen jeden a v případě, že chybí úplně, použijí se standardní hodnoty určené před kompilací (pokud je to možné). Oddělovačem v souboru mohou být mezery i tabelátory. Následující text se týká konfiguračního souboru pro mars_nwe-0.99.pl8.

1 - diskové svazky

První sekce je povinná a určuje, které svazky budou Marsem poskytovány a jakým adresářům budou odpovídat na straně Linuxu. Jejich tvar je:
    1    jméno_svazku  adresář  [volby]  [umaskdir umaskfile]
První definovaný svazek musí mít název SYS a měl by obsahovat adresáře LOGIN, PUBLIC, SYSTEM, MAIL. Další případné řádky mohou definovat další svazky, ale pozor na maximální možný počet svazků nastavený před kompilací v souboru config.h nebo v sekci 61 tohoto konfiguračního souboru.

Jméno_svazku může mít maximálně 8 znaků a určuje, který adresář bude jeho vrcholem.

Volby u jednotlivých svazků mohou být kombinovány (bez mezer) a umožňují upřesnit, jak bude se soubory na svazku nakládáno. Bez uvedení voleb uvidí uživatelé jen soubory se jmény s velkými písmeny a číslicemi ve formátu 8+3.

Volba Význam
- znak bez významu
i ignorování velkých/malých písmenek, je to velmi pomalé a mělo by to být používáno jen při skutečné nezbytnosti
k používat malá písmenka u jmen, jestliže nepoužijete tuto volbu ani volbu i, všechna jména musí být velkými písmeny
m výměnitelné svazky (CD-ROM) nebo svazky, které chcete odpojovat během činnosti Marsu
n svazek bez inodů, tj. DOS-svazky, CD-ROM, ... důležité pro maniulaci s atributy a přístupovými právy
r svazek jen pro čtení, ohlašuje 0 volných bytů
o pro svazky s více jak 0xFFFFFFF inody (malé o)
p PIPE-svazek (komentář pod tabulkou)
O OS/2 namespace - dlouhá jména i pro Windows'95 po aplikaci opravy do registrační databáze (velké O) Ve Windows'95 je potřeba upravit registry.
N NFS namespace - zatím experimentální

Pokud chcete ve Windows'95 používat dlouhá jména, je potřeba provést následující úpravu v registrační databázi. Nejjednodušeji to můžete provést tak, že tento úsek uložíte do souboru s příponou .reg a na ten pak ve Windows'95 kliknete. Nezapomeňte Windows restartovat a upravit také sekci 6!

    REGEDIT4
    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\NWREDIR]
    "SupportLFN"=hex:02

Volba p označuje speciální svazek, který obsahuje programy spustitelné v Linuxu. Pokud klient (např. DOS stanice) začne číst ze souboru umístěném na tomto svazku, Mars spustí tento soubor (program) a jako parametr mu předá READ. Standardní výstup tohoto programu je předán klientovi, jako by to byl obsah čteného souboru. Při otevření souboru pro zápis je předán programu parametr WRITE a vstup je přesměrován na standardní vstup spuštěného programu. Podobně funguje operace vytváření souboru, která předává programu parametr CREAT.

Následující jednoduchý skript se bude chovat tak, že pokud z něj začneme v DOSu (resp. na připojené stanici) číst, přečteme tarový soubor, který bude obsahovat zálohu domácího adresáře uživatele Hužva na Linuxu. Pokud naopak budeme něco do tohoto souboru zapisovat, dojde k přepsání Linuxového domácího adresáře Hužvy archívem, který do souboru zapisujeme.

    #!/bin/sh
    case "$1" in
    'CREAT')
            ;;
    'WRITE')
            # přepiš adresář Hužvy zálohou
            cd /home/huzva && tar xf - 2>> /tmp/zaloha.obnoveni
            ;;
    'READ')
            # vytvoř zálohu domácího adresáře Hužvy
            cd /home/huzva && tar cf - * 2> /dev/null
            ;;
    *)
            ;;
    esac
Tato vlastnost se dá využít kromě zálohování třeba na jednoduché posílání faxů nebo pošty. Na další možnosti jistě přijdete sami.

umaskdir umaskfile jsou oktalová čísla užívaná při vytváření adresářů a souborů, předefinovávají hodnoty pro jednotlivé svazky ze sekce 9. Pokud uvedeme 0, je použita standardní umask, -1 způsobí přebírání módu dle rodičovského adresáře.

    1       SYS             /var/local/nwe/SYS      k
    1       CDROM           /cdrom                  kmnor
    1       HOME            ~                       k     -1
    1       HOMETMP         ~/tmp                   kiO
    1       PRIVAT          ~/privat                kO   700 600
    1       WORLD           /var/world              kiO  777 666
Znak ~ zastupuje domácí adresář příslušného přihlášeného uživatele, což je velice sympatický rys, který určitě využijeme. Pokud použijeme řádku se svazkem HOME z příkladu nahoře, můžeme v login skriptu provést mapování MAP H:=HOME:, kterým se namapuje na disk H: každému přihlašujícímu se uživateli jeho vlastní domácí adresář.

2 - jméno serveru

Nepovinná sekce určující jméno NW serveru. Pokud není uvedeno, použije se plné doménové jméno převedené na velká písmena. Jméno serveru vidíme například na výstupu příkazu slist.
    2       MONKEY

3 - vnitřní číslo sítě

Vnitřní číslo sítě slouží ke snadné adresaci místa, které nám poskytuje nějakou službu. Toto číslo nesmí kolidovat s jinými čísli sítí. Protože IP adresy musí být také jedinečné a jejich délka v bytech se shoduje s délkou čísla sítě u IPX protokolu, lze jednoduše použí IP adresu jako vnitřní číslo sítě. Tento převod je zde označen jako automatická konfigurace a snižuje riziko špatné konfigurace na minimum za předpokladu správné konfigurrace TCP/IP. Pokud chceme určit vnitřní číslo sítě sami, můžeme uvést přímo hodnotu.
    3       auto

4 - síťová rozhraní

Mars při svém startu připojí na síťové rozhraní rámce, které uvedeme v této sekci. I kdyz je možné použít automatickou detekci, je vhodnější uvést všechny údaje přímo. Pokud se připojujete do sítě, kde je již veden IPX provoz, musíte uvést správné rámce a k nim příslušná čísla sítí. Více informací najdete v kapitole o IPX v Linuxu.
    4   číslo_sítě    zařízení  rámec   [TICKS]
Zařízení je jméno síťového rozhraní (např. eth0). Rámec může být ethernet_ii, 802.2, 802.3, snap, token, auto.
    4   0x12    eth0    ethernet_ii  1
    4   0x13    eth0    802.3        1
Automatická detekce je možná stejně jako je posáno v kapitole o IPX v Linuxu. Lze detekovat jak čísla sítí (uvedeme nulu), tak typy rámců (uvedeme klíčové slovo auto a to znamená, že rozhraní mohou být přidávána a odebírána za běhu dle situace na síti). Hvězdička na místě zařízení znamená všechna síťová rozhraní.
    4   0x0     *    auto  1
Zatím není možné nakonfigurovat rozhraní předem a přinutit Mars, aby je ponechal. V příští verzi by to už mělo být možné.

5 - speciální příznaky

Tato sekce umožňuje manipulovat se speciálními příznaky, které ovlivňují chování IPX zařízení. Hodnota, kterou je potřeba uvést, je součtem čísel u požadovaných vlastností. Standardně uvádíme 0.

Příznak Význam
0x1 Neodstraňovat z IPX routovací tabulky řádky, které byly přidány vnitřním routerem Marsu. Pokud není uveden, všechny přidané řádky budou při ukončení Marsu odstraněny (default)
0x2 Pokud máte problémy s automatickou detekcí (Win95), zkuste tento přepínač. Měl by být použit jen na začátku nebo při testování.
0x4 Při ukončení Marsu odstranit všechna IPX zařízení a vyprázdnit routovací tabuku.

6 - verze NetWare

Mars se standardně vydává za NetWare verze 3.11 (hodnota 1). Pokud chcete použít podporu dlouhých jmen (OS/2 namespace), musíte uvést hodnotu 1 (verze 3.11) nebo 2 (verze 3.12). Pokud byste měli s některými programy potíže, můžete zkusit verzi 2.15 (hodnota 0), protože některé funkce skutečných serverů 3.11 a 3.12 nejsou zatím do Marsu implementovány. Druhá hodnota povoluje tzv. burstmode, pokud ho chcete vyzkoušet, musíte při kompilaci Marsu nastavit ENABLE_BURSTMODE na 1 v souboru config.h. Tento režim však má zatím chyby a je zatím určen jen k experimentování.
    6       1   0x0

7 - kódováni hesel

Pokud měníme heslo pro Mars z DOS klienta (pomocí LOGIN.EXE, SYSCON.EXE, SETPASS.EXE), může být heslo kódováno při jeho přepravě po síti. Tato sekce určuje, jak se ke kódováni Mars bude stavět. Tato sekce ovlivňuje pouze kódování při přenosu hesla ze stanice k serveru, server heslo ukládá VŽDY v zakódované podobě.
    7     hodnota

Hodnota Význam
0 požadovat po klientovi kryptování vždy (default)
1 jako 0, při změně hesla se povoluje používání i nezakódovaných
7 umožnit používání nezakódovaných, ale nikoliv prázdných hesel
8 umožnit používání nezakódovaných i prázdných hesel
9 používat výhradně nezakódovaná hesla, použití zakódovaných je zakázáno (zakódovaná hesla nemusí fungovat se všemi klienty - např. OS2/client)

8 - speciální login/logout/security příznaky

Hodnota je součtem čísel požadovaných příznaků jako v sekci 5.

Příznak Význam
0x1 povolit změnu souborů i mimo adresář LOGIN, když uživatel není přihlášen a klient to podporuje
0x2 je možné otevírat soubory pro zápis, i když jsou pro uživatele jen ke čtení (readonly)
0x4 povolit přejmenovávání adresářů (NCP funkce 0x45)
0x8 ignorovat restrikce na stanici a dobu přihlášení pro uživatele SUPERVISOR
0x10 povolit smazání souboru, i když jej má otevřen jiný uživatel
0x20 ukládat informace o souborech, normálně jsou ukládány informace pouze o adresářích. Nezbytné při používání ncpfs jako klienta Marsu (ke sdílení disků mezi Linuxy je určitě lepší použít NFS!!!)
0x40 limitovat hlášení volného místa na svazku na 2GB (nutné pro některé klienty)

9 - standardní mód pro vytváření adresářů a souborů

Tyto hodnoty jsou globální pro všechny svazky definované v sekci 1, jsou interpretovány jako oktalová čísla. Pro každý svazek můžeme v první sekci nastavit rozdílné hodnoty a tak tyto předefinovat. Pokud uvedeme 0, je použita standardní umask, -1 způsobí přebírání módu dle rodičovského adresáře.
    9   0755   0664

10, 11 - UID a GID s minimálními právy

Tato UID/GID jsou aplikována v případě, že je klient připojen k serveru, má zpřístupněn adresář LOGIN, ale ještě není přihlášen. Tento uživatel a skupina by měl mít v adresáři LOGIN pouze práva čtení, abychom nenarušovali bezpečnost našeho serveru. Ve většině Linuxů je k tomuto účelu vyhražen uživatel a skupina nobody. Hodnoty jsou čísla, nikoliv jména!
    10      65534
    11      65534

12 - SUPERVISOR

Administrátor, který má v systému neomezená práva se v prostředí NetWare jmenuje supervisor. Ve světě Unixů má takový všemocný uživatel jméno root. Abychom zvýšili bezpečnost našeho systému, je vhodnější udělat pro supervisora v Linuxu samostaný účet a nepoužíva pro něj účet root.
    12      Mars_uživatel   Linux_uživatel   heslo
Uživatel definovaný v této sekci má v Marsu interní číslo 1 na rozdíl od uživatelů ze sekce 13, kde získá zcela náhodné číslo. Můžeme sice nadefinovat v sekci 13 uživatele se jménem supervisor, avšak bude postaven na roveň ostatním běžným uživatelům a nebude mít administrátorská oprávnění. Administrátora pro Mars je nutné definovat v této speciální sekci a jeho jméno je libovolné. Pokud uvedeme například místo jména supervisor jméno root, nestane se nic zvláštního kromě toho, že porušíme zavedenou tradici ve světě NetWare.

Heslo je potřebné jen při prvním startu systému nebo v případě, že chceme administrátorovi heslo změnit. Proto ho po prvním spuštění z bezpečnostních důvodů odstraňte. Pokud neuvedeme heslo při prvním startu Marsu, bude účet administrátora nepřístupný. Mars zkrátka neumožňuje v této sekci nadefinovat administrátora bez hesla a v případě, že heslo chybí, nechává bidery databázi beze změny. Heslo je v bidery databázi uvedeno v zašifrované podobě.

13 - uživatelské účty

Tato sekce je nepovinná a umožňuje nám mapovat jakákoliv uživatelská jména v Marsu na uživatele v Linuxu. Každý uživatel Marsu musí mít ekvivalentního uživatele v Linuxu (třeba i rozdílného jména). Pokud uživatel Marsu nemá svého protějška v Linuxu (například z důvodu překlepu), budou mu přidělena minimální práva ze sekce 10 a 11. V Marsu může existovat několik různých uživatelů, kteří budou odpovídat stejnému uživateli v Linuxu.
   13  Mars_uživatel  Linux_uživatel [heslo]  [volby]
Pokud místo hesla uvedeme znaménko mínus -, znamená to, že uživatel nemá heslo (to je rozdíl oproti sekci 12). Jediná volba, kterou lze v současné době využít, je hodnota 0x1, která zakazuje uživateli měnit si své vlastní heslo (vhodné například pro anonymní účty).
   13  HOST  nobody  -  0x1

Tuto sekci je také možné využít ke změně hesla uživateli bez toho, abychom se museli přihlašovat jako administrátor do Marsu. Aby se změna promítla do bindery databáze, je potřeba buď příkazem nwserv -h nechat Mars znovu přečíst konfigurační soubor nebo Mars restartovat.

Zrušit uživatele může pouze administrátor pomocí NCP služeb NetWare buď programem syscon od Novellu nebo jinou volně šířenou jednoúčelovou utilitou.

15 - automatické vytváření uživatelských účtů

Pokud chcete všem uživatelům v Linuxu vytvořit automaticky účty v Marsu, použijete jistě tuto sekci, která se řídí podle souboru /etc/passwd. Tato sekce není příliš bezpečná a bezproblémová hlavně proto, že všechny nové účty budou mít stejné heslo. Pokud chcete zabránit zneužívání účtů nově založených uživatelů na svém serveru, je lepší nastavit nově zavedeným uživatelům jiná a hlavně různá hesla. Ještě vhodnější je ruční zakládání účtů pomocí již zmíněné sekce 13.

Aby nové účty byly zavedeny do bindery databáze, je potřeba buď příkazem nwserv -h nechat Mars znovu přečíst konfigurační soubor nebo jej restartovat. Mars nevytvoří účty uživatelům, kteří mají místo hesla v Linuxu znak x nebo * (zamčené účty) nebo mají UID menší než 100.

    15   volba    heslo
Heslo je nastaveno všem nově vytvořeným uživatelům, řídí se stejnými pravidly, jako v sekci 12. Možné volby jsou uvedeny v následující tabulce:

Volba Význam
0 NEvytvářet automaticky nové účty
1 vytvářet nové účty a každému novému přiřadit heslo nadefinované v této sekci
99 znovu vytvořit a přepsat všechny účty v bidery databázi dle současného stavu souboru /etc/passwd včetně přiřazení hesla dle této sekce

16 - testy prováděné při staru Marsu

Pokud není hodnota v této sekce nulová, provádí Mars při svém startu kontrolu systému. Vytvoří případné chybějící adresáře SYS:LOGIN, SYS:MAIL, SYS:MAIL/XXX, SYS:PUBLIC, SYS:SYSTEM, ... a samozřejmě zkontroluje přístupová práva do těchto adresářů. Tuto činnost byste měli povolit zejména při přechodu na novou verzi Marsu. Pokud ji necháte zapnutou trvale, nemusíte se obávat viditelného zpomalení činnosti Marsu, protože kontroly zaberou jen minimum času při jeho startu.

Volba Význam
0 žádné testy
1 základní testy
2 jako 1 + kontrola a komprese bidery databáze

Zajímavá a užitečná vlastnost je, že Mars kromě vytvoření mailových adresářů pro všechny uživatele vytvoří i adresář SYS:MAIL\USER, do kterého umisťuje linky s přihlašovcími jmény uživatelů. Tyto linky ukazují do adresáře SYS:MAIL\%ID příslušného uživatele. Hodí se to v případě, že chceme zkontrolovat, jestli uživatel má v Marsu účet nebo když se potřebujeme snadno dostat do mailového adresáře nějakého uživatele. Ke vstupu do mailových adresářů samozřejmě potřebujeme příslušná práva.

21 - tiskové fronty

Tiskové fronty slouží v prostředí NetWare ke zpřístupnění sdílených tiskáren. Do fronty, která je umístěna na Netware serveru, jsou stanicemi ukládány tiskové úlohy a odtud si je vyzvedávají tiskové servery, které už přímo obsluhují tiskárnu. Tiskový server může být jak na severu, tak na stanici nebo může být implementován jako malé jednoúčelové hadwarové zařízení. V Marsu je zavedeno zjednodušení, které umožňuje tiskovou frontu NetWare přímo propojit s místním tiskovým systémem Linuxu bez potřeby definovat tiskový server. Sekcí může být více s různými parametry.
     21   jméno_fronty   [svazek:adresář]    [příkaz]
Jméno_fronty je jméno, pod kterým bude fronta přístupná ze stanice. Svazek:adresář je adresář (spool-dir), který musí před započetím tisku již existovat (Mars si jej umí v rámci testů při staru vytvořit), musí být umístěn na prvním definovaném svazku ze sekce 1 (obvykle SYS:) a zadává se ve tvaru, pod kterým je přístupný ze stanice. Slouží k dočasnému uložení úlohy, která je přijímána ze stanice a odtud je teprve předána příkazu nebo tiskovému serveru. Pokud místo něj uvedeme znaménko mínus -, bude použito standardní jméno ve tvaru SYS:SYSTEM\id_fronty.QDR. Tento adresář nemá žádnou spojitost s adresářem pro tiskové fronty v Linuxovém systému!

Příkaz je nepovinný parametr. Pokud není uveden, tiskové úlohy se ukládají do výše zmíněného adresáře, odkud si je musí vyzvednout nějaký NetWare tiskový server nebo jeho emulátor. Pokud ho uvedeme, může sloužit k provedení nějaké činnosti s úlohou, která je umístěna ve frontě nebo může dokonce odeslat úlohu přímo do tiskového systému Linuxu. Uvedením znaku vykřičník ! jako posledního parametru tohoto příkazu dosáhneme toho, že do tiskové úlohy jsou zařazeny položky banner_user_name a banner_file_name, které identifikují tiskovou úlohu a mohou být dále zpracovány/vytisknuty.

     21   LASER    -    lpr -Plaser
     21   INKJET
První tisková fronta LASER je umístěná ve standardním adresáři a tiskové úlohy jsou předávány příkazem lpr do místní Linuxové tiskové fronty laser. Příchozí úlohy jsou vytištěny tiskovým systémem Linuxu a není je potřeba žádným dalším způsobem zpracovávat. Druhá tisková fronta INKJET je klasickou NW frontou. Příchozí úlohy jsou ukládány do standardního adresáře a zde budou uloženy do té doby, než si je vyzvedne nějaký NW tiskový server.

22 - tiskové servery

Tiskové servery definované v této sekci jsou uloženy do bindery databáze a umožňují tak tisk pomocí příkazu pserver z balíku ncpfs. Tiskový_server a fronta jsou jména odpovídající našemu přání. Tiskový server je zařazen do bindery databáze.
     22    tiskový_server   jméno_fronty

30 - burst mode

Tento oddíl se hodí zatím pouze pro experimentování, protože urychlovací funkce provádějící cachování obsahují zatím chyby. Velikost obou bufferů je standardně 0x2000.
     30    max_buffer_pro_čtení  max_buffer_pro_zápis

40 - adresáře pro některé pracovní soubory Marsu

Tyto sekce jsou nepovinné. Pokud adresáře nepředefinujeme, použijí se ty, které byly při kompilaci nastaveny v souboru config.h.

Sekce Význam
40 cache pro dlouhá jména (mapování inodů) = OS/2 namespace
41 adresář pro zámky souborů
42 interní spool adresář pro tiskové fronty
45 adresář, kde budou uloženy soubory s bindery databází
46 adresář pro atributy a přístupová práva
    40  /var/spool/nwserv/.volcache
    41  /var/spool/nwserv/.locks
    42  /var/spool/nwserv
    45  /etc
    46  /var/lib/nwserv/attrib

50 - konverzní tabulky

Tyto tabulky slouží k převodu kódování jmen souborů ukládaných na disk. Windows a DOS používají pro ukládání souborů kódování stránky 852 na rozdíl od Unixů, kde je pro nás standardem mezinárodní norma ISO-8859-2. Tyto tabulky slouží pouze k převodu kódování jmen souborů, aby byly v Linuxu správně čitelné. Na obsah souborů nemají tyto konverze vliv. Více informací naleznete v souboru doc/README.NLS v dokumentaci k Marsu.

60 - změny některých nastavení z config.h

Sekce Význam
60 maximální možný počet současně připojených uživatelů (nepoužívejte číslo větší než 255)
61 maximální možný počet svazků v sekci 1
63 maximální počet DIR_BASE_ENTRIES
68 pro čtení ze souborů používat funkci mmap
69 zpracovávat všechny typy SAP nebo jen typ 4
70 sériové číslo (4 byte)
71 číslo aplikace (2 byte)
80 maximální počet otevřených adresářů na jedno spojení

100 - úroveň zapisování ladících informací

Hodnota 0 znamená, že nebudou zapisovány žádné informace, hodnota 1 znamená, že budou zapisovány jen chyby a upozornění, hodnota 99 zajistí vypisování všech ladících informací.
    100     0               # debug IPX KERNEL (0 | 1)
    101     1               # debug NWSERV
    102     0               # debug NCPSERV
    103     0               # debug NWCONN
    104     0               # debug (start) NWCLIENT, musí být vždy '0' !
    105     0               # debug NWBIND
    106     1               # debug NWROUTED

200 - logování programu nwserv

Sekce Hodnoty Význam
200 0 žádné logování, nwserv se nestane démonem
1 logovat, nwserv pracuje jako démon
201 syslog logování přes syslogd
soubor s cestou logování do uvedeného souboru
202 0x0 přidávat k souboru
0x1 vytvořit nový soubor
0x2 chybové hlášení nesměrovat do souboru, ale do syslogd

Nwserv bude pracovat jako démon, při každém startu přemaže předchozí soubor s logy:

    200     1
    201     /var/log/nw.log
    202     0x1

210 - ukončování Marsu

Při ukončování Marsu příkazem nwserv -h je možno nadefinovat časovou prodlevu, za kterou server skutečně skončí a v sekci 211 je možné definovat interval mezi broadcasty, kterými server uživatelům oznamuje, že bude ukončen. Oba údaje se zadávají dekadicky ve vteřinách. Hodnoty z příkladu zajistí, že server se korektně ukončí 10 vteřin po zaslání signálu a uživatelům bude zasláno jen jedno hlášení oznamující ukončení činnosti serveru.
    210     10
    211     60

300 - logování routovacích informací

Sekce Význam
300 číslo větší než nula určuje, po kolika broadcastech jsou routovací informace zapsány do souboru (obvykle minuty)
301 jméno logovacího souboru /var/log/nw.routes
302 0x0 - přidávat do souboru
0x1 - vytvořit nový soubor
0x2 - rozložit informace do více souborů (přípony .1, .2, .3, ...)

Každou minutu bude vytvořen nový soubor, kde budou uvedeny routovací informace:

    300     1
    301     /var/log/nw.routes
    302     0x1

310 - Watchdog

Pokud stanice například z důvodu havárie neukončí korektně své spojení se serverem, zůstane toto spojení trvale otevřené a zbytečně zabírá místo a systémové prostředky na serveru. Proto jsou stanicím, které momentálně se serverem nekomunikují, zasílány kontrolní pakety, na které funkční stanice odpoví a tím serveru oznamuje, že spojení má být udržováno. Pokud stanice neodpoví ani po několika pokusech, server její spojení zruší. Tato sekce umožňuje nastavit, že vzdálenějším stanicím nebudou tyto kontrolní pakety zasílány. Obvykle je tato hodnota nastavena na 7, nula znamená, že budou zasílány všem a hodnota menší než nula zakazuje serveru jejich používání.

400 - soubor se stanicemi pro zvláštní přístup

Tento soubor umožňuje v součinnosti s dalšími sekcemi změnit chování Marsu k některým stanicím v síti.
    400  /etc/nwserv.stations
Tento soubor má podobnou syntaxi, jako konfigurační soubor Marsu - na každém řádku je nejprve číslo sekce. Sekce číslo 1 je určena pro definice chování na žádost "Get nearest server", sekce druhá na restrikce připojení stanic. Pak následují údaje net:node:socket, kde net je číslo sítě, node je MAC adresa stanice a socket určuje číslo soketu, na který se záznam vztahuje. Záznamy jsou hexadecimální a jsou podrobeny jen jednoduchému porovnávání řetězců, proto dejte pozor na správnou syntaxi.
    1  0.0.0.22:0.80.48.55.3f.33:50.3    # jeden speciální soket
    1  0.0.0.22:0.80.48.55.3f.33:40.*    # jeden speciální soket >= 0x4000
    1  0.0.0.22:0.80.48.55.3f.32:*       # jeden klient
    1  0.0.0.22:0.80.48.55.3f.2?:*       # klineti 20 až 29
    1  0.0.0.21:*                        # jedna celá síť

401 - Get nearest server request

Pokud na stanici spustíme klienta NetWare, klient vyšle do sítě broadcast, ve kterém žádá nejbližší server, aby mu odpověděl. Odpověď, která přijde nejdříve, je považována za odpověď od nejbližšího serveru. Podobným způsobem se chovají BootROM, které se snaží otevřít obraz bootovací diskety na nejbližším serveru. Pokud nám nevyhovuje toto standardní chování, můžeme jej změnit i v součinnosti se sekcí 400. Standardně server odpovívá na tuto žádost vždy (hodnota 0).
    401    hodnota

Hodnota Význam
0 ignorovat sekci 400, vždy povoleno
1 povoleno všem kromě stanic dle sekce 400
2 zakázáno všem kromě stanic dle sekce 400

402 - restrikce na připojení stanic

Standardně je všem stanicím povoleno se k Marsu připojit, pokud o to požádají (tj. připojit si adresář SYS:LOGIN). Pro připojení dalších disků je samozřejmě nutné, aby se uživatel ze stanice k Marsu přihlásil. Pokud není na základě této sekce povoleno stanici se k Marsu připojit, nemůže se uživatel z této stanice ani přihlásit.
    402    hodnota
Hodnota má stejný význam, jako v sekci 401.