v 0.1.0  16 janvier 2001


2. Configurer le serveur.

2.1 Avant propos.

Lorsque vous installer le package mars-nwe-0.XX.rpm vous disposez, entre autre, des fichiers suivant :

/etc/nwserv.conf : La configuration du serveur NOVELL
/etc/rc.d/init.d/mars-nwe : Le démarrage et l'arrêt du serveur NOVELL
/var/mars_nwe/bindery : La base de données des utilisateurs et du réseau NOVELL
/var/mars_nwe/sys/login : Les fichiers de `login` pour les utilisateurs
/var/mars_nwe/sys/public : Des fichiers accessible pour les utilisateurs.
/var/mars_nwe/sys/system :
/var/mars_nwe/sys/mail : Des fichiers accessible pour les utilisateurs.
/var/mars_nwe/sys/print : Les dossiers des `spooler` d'imprimante.

nb: Si certains dossiers n'existent pas, vous pouvez les créer.

Remarque : La base de données des utilisateurs et du réseau est créée lors du premier démarrage du serveur, et mis à jour lors de son utilisation. En cas de changements important dans la configuration du réseau, il est préférable de stopper le serveur; Effacer la base et redémarrer le serveur, pour qu'il récréer une base correspondante au réseau.

Il n'est pas utile de procéder à la configuration de la gestion des adresses IPX pour la carte réseau du serveur. En effet cela va être fait par le fichier de configuration du serveur. La seule chose dont vous devez être sûr, c'est que le support IPX soit prévu dans votre noyau. Ce qui est généralement le cas.

L'adresse IP de votre carte, doit être converti en un nombre hexadécimal. Exemple, pour un serveur de réseau Classe C, 192.168.10.254, l'adresse IPX du serveur est C0.A8.0A.FE. C'est cette adresse qu'il va falloir utiliser dans le fichier de configuration.

Un serveur Linux-NOVELL met à disposition des clients ses imprimantes et les `dossiers` partagés. Depuis les postes clients, les dossiers seront accessibles comme des `lecteurs réseaux` : E:\, F:\, G:\, ....
Par convention, le lecteur `SYSTEM` est le lecteur `F:\`, et il pointe vers `/var/mars_nwe/sys/` défini par `SYS` dans le fichier de configuration.

Les utilisateurs du serveur NCP (Novell) doivent avoir un compte valide sur le serveur Linux. Vous devez vérifier que vous pouvez vous connecter, avec ces comptes, depuis le serveur Linux (a tester en mode console, par exemple).
Pour cet exemple, je considère avoir créé :

- un compte `eleve` (UID=1000), faisant parti du groupe `eleves` (GID=1000).
- compte `joshua` (UID=501), faisant parti du groupe `root`.
- un compte `admin` (UID=510), faisant parti du groupe `admin` (GID=510).

2.2 La configuration du serveur.

Je donne ici les points important du fichier de configuration, en ne faisant pas apparaître les champs qui ne doivent pas changés. Je rajoute des commentaire entre `#%`

#
# This is the configuration-file for "mars_nwe", a free netware-emulator
# for Linux.
#
# last change: 17-Jul-96
# Syntax of this config-file:
#       - everything after a "#" is treated as a comment (particularly
#         it does never belong to the values themselves)
#       - entries _must_ begin with a number, indicating the section
#         they belong to
#       - hexadecimal values are prepended by "0x"
#
# All examples are verbatim.
#
# The term "DOS-client" does not refer to the special operating-system
# "DOS" in _this_ file. "DOS-client" is only a synomym for all possible
# ipx-clients (it's choosen for the people who are confused by the
# meaning of "client" and "server").
# The "Linux-side" of the game is always the "mars_nwe"-server.

# =========================================================================
# Section 1: volumes (required)
# -------------------------------------------------------------------------
# Syntax:
#       1       VOLUMENAME      DIRECTORY               OPTIONS
#
# VOLUMENAME:   the name of the mars_nwe-volume (max. 8 characters)
# DIRECTORY:    the directory on your Linux-system associated with that
#               volume; use the special name "~" to refer to the users
#               individual home-directory
#
# OPTIONS:      none or some of the following characters (without a seperator)
#       k       allow lowercase-filenames (if you don't set this, all
#               files _must_ be upper-case)
#       m       removable volume (e.g. cd-roms)
#       r       volume is read-only and always reports "0 byte free"
#               (this is intended for copies of CD-ROMs on harddisks)
#       o       volume has only one filesystem/device/namespace
#               this is for filesystems with high inode > 0xFFFFFFF.
#               because for namespace services mars_nwe normally use the
#               first 4 bit of 32 bit inode for distinguish
#               between several devices/namespaces for one volume.
#       p       "PIPE"-filesystem. All files are pipe commands.
#               See `doc/PIPE-FS'.
#
#       O       + OS/2 namespace.
#       N       + NFS  namespace.
#%      k       Accepte les noms de fichiers en minuscule. La gestion des noms
#%              de fichiers est la sources de soucis. Ils ne sont pas vu depuis
#%              les clients si cela n'est pas respecté, ou si les droits ne sont
#%              pas corrects.
#%      m       Disque ejectable (Zip, Jazz, CDROM, DVD, ....) Doit être monté
#%              depuis le serveur pour être utilisable. Vous pouvez utiliser
#%              `automount` sur le serveur.
#%      r       Volume en lecture seul.
# -------------------------------------------------------------------------
#
# Examples:
#       1       SYS             /var/local/nwe/SYS      k
#       1       HOME            ~                       k
# Use /var/netware for the SYS volume, and make it read-only
#% Le dossier système (Disque `F:\`).
1 SYS         /var/mars_nwe/sys             kr
#% Le dossier personnel de l'utilisateur, peut être `H:\`.
1  HOME       ~                             k
#% Le dossier des eleves qui se connectent.
1  ELEVES     /home/eleves                  k
#% Le dossier qui contient les applications partagées en réseau.
1  APPS       /home/college/apps            k
#% On partage le lecteur de CDROM du serveur. 1 seul suffit pour le réseau.
1  CD         /mnt/cdrom                    kmr
#
# =========================================================================
# Section 2: servername (optional)
# -------------------------------------------------------------------------
# Syntax:
#       2       SERVERNAME
#
# SERVERNAME:   a name for this nw-server
# -------------------------------------------------------------------------
2  MARS
# =========================================================================
# Section 3: Number of the internal network (required)
# -------------------------------------------------------------------------
# Syntax:
#       3       INTERNAL_NET    [NODE]
#
# INTERNAL_NET: the hexadecimal value of your "internal ipx-network". Use
#               "0x0" or "auto" to refer to your ip-addresse (it's a kind of
#               automagically setup)
# NODE:         use "1" if you don't know what this entry is for (optional)
# -------------------------------------------------------------------------
#
# Example:
#       3       auto     1       # automatic setup
3       auto 1
# =========================================================================
# Section 4: IPX-devices (strongly recommended)
#
# -------------------------------------------------------------------------
#
# Examples:
#       4       0x0     *       AUTO    1       # automatic setup
#       4       0x10    eth0    802.3   1       # manual setup
#       4       0x10    eth0    802.3   1
#% Le réseau de classe C : 192.168.10.0, relié sur la carte eth0, donne une
#% adresse IPX : 0xC0A80A00 (adressee du réseau). La trame IPX utilisée est
#% en 802.2
4               0xC0A80A00 eth0 802.2   1
# =========================================================================
# Section 5: Saving of ipx-routes (required)
#
# -------------------------------------------------------------------------
# Syntax:
#       5       SAVE_FLAG
#
# SAVE_FLAG:
#       0       don't save routes (default)
#       1       do save routes
# -------------------------------------------------------------------------
#
5       0
# =========================================================================
# Section 6: version-"spoofing"
# -------------------------------------------------------------------------
# Syntax:
#       6       SERVER_VERSION
#
# SERVER_VERSION: the version-number reported to DOS-clients
#       0       Version 2.15 (default)
#       1       Version 3.11
#       2       Version 3.12 (not implemented yet)
# -------------------------------------------------------------------------
#
6       1
# =========================================================================
# Section 7: password handling of DOS-clients (required)
# -------------------------------------------------------------------------
# Syntax:
#       7       FLAG
#
# FLAG:
#       0       enforce encryption of _all_ passwords by the DOS-client
#               (default)
#       1       as "0", but allow the non-encrypted version of the
#               "change password"-routine.
#       7       allow all non-encrypted stuff but no empty nwe passwords.
#       8       allow all non-encrypted stuff and also allow empty
#               nwe-passwords.
#       9       use all non-encryted calls + "get crypt key" will allways fail
#               so the login program will use the old unencryted calls.
#               this will *not* work with all clients !! (OS2/client)
# -------------------------------------------------------------------------
7       0
# =========================================================================
# Section 10: UID and GID with minimal rights
# -------------------------------------------------------------------------
# Syntax:
#       10      GID
#       11      UID
#
# GID   numeric number of the group
# UID   numeric number of the user
# -------------------------------------------------------------------------
#
# Example:
#       10      65534
#       11      65534
10      99
11      99
# =========================================================================
#% Pour les sections 12 / 13 et 15, les comptes Linux doivent exister, et
#% les logins Linux testés.
# Section 12: supervisor-login (required)
#
# -------------------------------------------------------------------------
# Syntax:
#       12      NW_LOGIN        LINUX_LOGIN     [PASSWORD]
#
# NW_LOGIN:     the login-name for the "mars_nwe"-server (traditionally,
#               this is "SUPERVISOR")
# LINUX_LOGIN:  the account on the Linux-side associated with the NW_LOGIN
# PASSWORD:     the password for the NW_LOGIN. It must be clear-text but
#               will be encrypted and permanent stored in the
#               bindery-files, so it (the password or the whole section, at
#               your option) can be deleted after the first start of
#               "nwserv".
#
#               Make sure this file is not world-readable as long
#               as the password stands here.
#
#               If you leave this field blank when starting "mars_nwe" the
#               first time, the supervisor-login will be completely
#               disabled. In other words: there is no way to supply the
#               supervisor with no password ("null-password").
# -------------------------------------------------------------------------
#
# Example:
#       12      SUPERVISOR      nw-adm          top-secret
12  SUPERVISOR  joshua      faelken
# =========================================================================
# Section 13: user-logins (optional)
#
#
# Example:
#       13      MARTIN          martin
13    ADMIN     admin
13    ELEVE     eleve
# =========================================================================
# Section 15: automatic mapping of logins (decision required)
#
# -------------------------------------------------------------------------
# Syntax:
#       15      FLAG    DEFAULT_PASSWORD
#
# FLAG:
#       0       DON'T map the Linux-logins automatically to
#               "mars_nwe"-logins (default)
#       1       YES, DO the automatic mapping and provide every login
#               created this way with the common password given with
#               "DEFAULT_PASSWORD"
#       99      re-read the logins from /etc/passwd and overwrite even the
#               already existing logins from the bindery (this will also
#               reset all the passwords to "DEFAULT_PASSWORD")
#
# DEFAULT_PASSWORD: the common password for all automatically created
#               logins (only needed if FLAG is not "0"); everything about
#               password in section 12 applies to this.
# -------------------------------------------------------------------------
15   1
# =========================================================================
# Section 16: Tests on startup
16      1
# =========================================================================
# Section 21: print queues (optional)
#
# Which of the printers connected to your Linux-box should be accessible
# from the DOS-clients?
# Multiple entries are allowed.
#
# -------------------------------------------------------------------------
# Syntax:
#       21      QUEUE_NAME      QUEUE_DIR       PRINT_COMMAND
#
# QUEUE_NAME:   the name of the print queue on client-side (to make it
#               perfectly clear: _not_ the Linux-queue)
# QUEUE_DIR:    spooling directory for the print-jobs; this directory must
#               exist before printing (_not_ the spooling-directories of
#               the Linux-lpd)
# PRINT_COMMAND: command used for serving the print-jobs under Linux
#               (see "man lpr" and "man magicfilter" for details)
#
# Examples:
#       21      LASER           SYS:/PRINT/L    lpr -Plaser
#       21      OCTOPUSS        SYS:/PRINT/O    lpr -Php_deskjet
# -------------------------------------------------------------------------

21 LP SYS:/PRINT/LP lp
 
 

2.3 Le démarrage du serveur.

Vous devez démarrer le serveur.

/etc/rc.d/init.d/mars-nwe start

Afin de vérifier le support IPX de vote noyau, vous pouver contrôler des fichiers de `/proc` :

cat /proc/net/ipx
cat /proc/net/ipx_interface
cat /proc/net/ipx_route

Si cela fonctionne, vous devriez avoir le message suivant dans le fichier `/var/log/messages` :

tail -f /var/log/messages

Joshua nwserv: Mars_nwe V0.99pl14 started using /etc/nwserv.conf.
Joshua nwserv: If you have problems, please read mars_nwe/doc/BUGS !
Joshua nwserv: Errors/warnings will be reported in /var/log/mars_nwe.log
Joshua nwserv:
Joshua nwserv:
Joshua mars-nwe: nwserv startup succeeded
Joshua kernel: NET4: Linux IPX 0.38 for NET4.0
Joshua kernel: IPX Portions Copyright (c) 1995 Caldera, Inc.

Quiiter en appuyant sur `CTRL+C`

Voir les services NOVELL:

ps axf

17156 ?        S      0:00 nwserv
17160 ?        S      0:00  \_ nwbind MARS c0.a8.a.fe:0.0.0.0.0.1:4.51 4002
17161 ?        S      0:00  \_ ncpserv MARS c0.a8.a.fe:0.0.0.0.0.1:4.51 4002 4000

Voir les messages de MARS_NWE.

tail -f /var/log/mars_nwe.log

NWS 0   0:Starting Version: 0.99pl14
NWS 0   0:DEVICE=eth0, FRAME=802.2, NETWORK=0x0
NWS 0   0:SERVER name='MARS', INTERNAL NET=0xc0a80afe, NODE=0x00:00:00:00:00:01
NWS 0   0:USE_PERMANENT_OUT_SOCKET enabled
NWS 0   0:IPX_MAX_DATA=1058, RW_BUFFERSIZE =1024

Voilà, notre serveur est prêt à être utilisé. Mais pour l'instant personne ne peut se connecter dessus. En effet il faut quelques fichiers (BATCH, DOS, ...) pour permettre aux clients de se connecter.

Nous allons donc installer les clients DOS, afin de permettre la connexion des postes sous DOS, Win3.11 WorksGroup, Win95/98.