PHP - Copertina - Indice |
Articolo
Si evidenzia che, poichè l'autore di questa sperimentazione conosceva in maniera soltanto approssimativa i sistemi Novell, è assolutamente possibile che alcune impostazioni scelte non siano ottimali, in particolare per quanto riguarda i trustees assegnati.
Dopo un messaggio di benvenuto, dovranno essere effettuate alcune scelte:
IP | 192.168.0.1 |
netmask | 255.255.255.0 |
gateway | in bianco |
nameserver | in bianco |
# Run gettys in standard runlevels
1:12345:respawn:/sbin/mingetty tty1
2:4:respawn:/sbin/mingetty tty2
3:4:respawn:/sbin/mingetty tty3
4:4:respawn:/sbin/mingetty tty4
5:4:respawn:/sbin/mingetty tty5
6:4:respawn:/sbin/mingetty tty6
poi modifichiamo il comportamento alla pressione dei tasti CTRL-ALT-DEL
come segue:
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t10 -h now
per salvare premere CTRL-K X
groupadd marsnwe
Poi per ognuno degli utenti che utilizzeranno il server (compreso supervisor)
digitare:
useradd -G marsnwe <loginutente>
dove al posto di <loginutente> bisogna mettere di volta in volta i vari
identificativi degli utenti. Notare che non è stata scelta nessuna
password, in questo modo alla console tutti i login risultano disabilitati.
Ora abilitiamo al login locale l'utente supervisor digitando:
passwd supervisor
e inserendo una opportuna password quando richiesto. Notare che la password
che si sta immettendo non deve essere necessariamente eguale a quella che
si userà eseguendo il login da un cliente. La password che si imposta
qui vale soltanto per eseguire il login a linux dalla console (la schermata
con il pinguino) e non viene utilizzata dal pacchetto mars_nwe. A questo
punto tutti gli utenti hanno una loro entrata nel database di linux, anche
se solo root e supervisor possono eseguire il login dalla console e ancora
niente è stato fatto per configurare mars-nwe. Nel nostro caso dobbiamo
creare gli utenti supervisor, leva1, leva2, consi1, consi2, nusele1, nusele2,
numedi1, numedi2, ricono.
alias net-pf-5 off
per salvare si preme CTRL-K X
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifup-ipx
Iniziamo digitando netconf al prompt e selezionando "IPX interface setup".
Nella finestra che apparirà occorre selezionare "Enable IPX networking",
"Autoconfigure primary", "Frame type 802.3", e deselezionare "Autoconfigure
interfaces frame types" e "Frame type 802.2". Quando si esce verrà
chiesto se attivare subito le variazioni, rispondere affermativamente.
Ora dobbiamo correggere un piccolo baco, quindi editiamo l'ultimo file digitando al prompt joe /etc/sysconfig/network-scripts/ifup-ipx e modificando l'ultima parte come segue:
frametype in 802_2 802_3 ETHERII SNAP ; do
# Yes, this kind of evaluation is really necessary to do this.
# Welcome to shell programming... No, we were not smoking some
# particularly good floppies while we wrote this. :-)
case $(eval echo $(echo \$`echo IPXACTIVE_$frametype`)) in
yes|true)
case $(eval echo $(echo \$`echo IPXPRIMARY_$frametype`)) in
yes|true) primary=-p ;;
*) primary= ;;
esac
# ------ inizio modifica ------
case $frametype in
802_2) /usr/bin/ipx_interface add $1 $primary 802.2 \
$(eval echo $(echo \$`echo IPXNETNUM_$frametype`))
;;
802_3) /usr/bin/ipx_interface add $1 $primary 802.3 \
$(eval echo $(echo \$`echo IPXNETNUM_$frametype`))
;;
*) /usr/bin/ipx_interface add $1 $primary $frametype \
$(eval echo $(echo \$`echo IPXNETNUM_$frametype`))
;;
esac
# ------ fine modifica ------
;;
esac
done
exit 0
Occorre fare attenzione perchè i caratteri "\" che compaiono al
termine di alcune righe devono essere veramente l'ultimo carattere della
riga (non ci devono essere spazi dopo!). Come solito salvare con CTRL-K
X.
Ora il sistema IPX è correttamente configurato, e per verificarlo possiamo eseguire al prompt i comandi:
sh /etc/rc.d/init.d/network restart
ifconfig
che ci permettono di far ripartire il supporto di rete e di verificarne
le nuove impostazioni. Dovremmo ottenere un output di questo tipo:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
eth0 Link encap:Ethernet HWaddr 00:40:C7:57:D0:BA
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
IPX/Ethernet 802.3 addr:0040C757D0BA
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Interrupt:3 Base address:0x300
dove vengono descritte le configurazioni associate al Local Loopback (un
dispositivo di rete fittizio) e della scheda di rete eth0. Notiamo che
l'indirizzo di rete IPX, avendo l'unica esigenza di essere diverso da quelli
di tutte le altre macchine sulla LAN, è stato determinato automaticamente
a partire dal MAC address (HWaddr) della scheda di rete. Se il sistema
non è già connesso ad una rete locale, potranno comparire
periodicamente dei messaggi che avvertono di ipotetici problemi al cavo,
del tipo:
eth0: Tx timed out, cable problem? TSR=0x0, ISR=0x0, t=12004.
questi messaggi spariranno non appena il sistema verrà fisicamente
connesso ad una LAN.
Notiamo inoltre che il sistema sta cercando inultimente di configurare
una rete interna IPX che a noi non serve, quindi per motivi puramente estetici
possiamo risolvere il probelma digitando il comando joe /etc/sysconfig/network
ed aggiungendo la riga:
IPXINTERNALNET="off"
salviamo con CTRL-K X poi editiamo allo stesso modo il file /etc/rc.d/init.d/network
che modifichiamo in 2 punti come segue:
case "$IPX" in
yes|true)
/sbin/ipx_configure --auto_primary=$IPXAUTOPRIMARY \
--auto_interface=$IPXAUTOFRAME
# ------ inizio prima modifica ------
case "$IPXINTERNALNET" in
yes|true)
/sbin/ipx_internal_net add $IPXINTERNALNETNUM \
$IPXINTERNALNODENUM
;;
esac
# ------ fine prima modifica ------
;;
esac
touch /var/lock/subsys/network
;;
stop)
for i in $interfaces; do
./ifdown $i boot
done
# ------ inizio seconda modifica ------
case "$IPXINTERNALNET" in
# ------ fine seconda modifica ------
yes|true)
/sbin/ipx_internal_net del
;;
esac
al solito salvare con CTRL-K X. in questo modo spariranno i messaggi di
errore riguardanti la rete interna IPX.
SYS:LOGIN\LOGIN.EXE
SYS:LOGIN\SLIST.EXE
SYS:LOGIN\CONSOLE.COM
SYS:LOGIN\TOKEN.RPL
SYS:PUBLIC\LOGIN.EXE
SYS:PUBLIC\LOGOUT.EXE
SYS:PUBLIC\SYSCON.EXE
SYS:PUBLIC\FCONSOLE.EXE
SYS:PUBLIC\FILER.EXE
SYS:PUBLIC\$RUN.OVL
SYS:PUBLIC\CMPQ$RUN.OVL
SYS:PUBLIC\IBM$RUN.OVL
SYS:PUBLIC\NBACKUP.OVL
SYS:PUBLIC\SELDIBI.OVL
SYS:PUBLIC\SYS$ERR.DAT
SYS:PUBLIC\NET$LOG.DAT
SYS:PUBLIC\DIBI$DRV.DAT
SYS:PUBLIC\SYS$HELP.DAT
SYS:PUBLIC\SYS$MSG.DAT
ora infiliamo il dischetto così preparato nel server che stiamo
configurando ed eseguiamo i seguenti comandi:
mount /mnt/floppy
cp /mnt/floppy/login/* /var/mars_nwe/sys/login
cp /mnt/floppy/public/* /var/mars_nwe/sys/public
umount /mnt/floppy
È importante che i files appena introdotti nel sistema abbiano il nome
scritto con lettere minuscole, altrimenti il sistema non funzionerà.
Per verificare se è tutto ok usiamo i comandi:
ls -l /var/mars_nwe/sys/login
ls -l /var/mars_nwe/sys/public
e se i file hanno lettere maiuscole per rinominarli usiamo i comandi:
mv /var/mars_nwe/sys/login/VECCHIONOME /var/mars_nwe/login/nuovonome
mv /var/mars_nwe/sys/public/VECCHIONOME /var/mars_nwe/public/nuovonome
applicandoli singolarmente ad ogni file.
Procediamo fermando il programma mars-nwe, che si trova attualmente in esecuzione, digitando il comando
sh /etc/rc.d/init.d/mars-nwe stop
poi cancelliamo i file di bindery attualmente esistenti
rm -rf /var/mars_nwe/bindery/*
quindi eseguiamo una copia del file di default /etc/nwserv.conf con il
comando:
cp /etc/nwserv.conf /etc/nwserv.conf.orig
e procediamo a modificarlo come segue (notare che il file originale è
ricco di commenti che possono agevolare la comprensione della sintassi
e l'utilità dei vari parametri impostati):
#
# Configurazione di mars-nwe personalizzata per Organi della Leva
# Distretto Militare di Como - Nucleo Elaborazione Dati
# by C.le Piunno Simone 7° sca 1998, maggio 1999
# =========================================================================
# Section 1: volumes (required)
1 SYS /var/mars_nwe/sys kt
# =========================================================================
# Section 2: servername (optional)
2 MASTERLINUX
# =========================================================================
# Section 3: Number of the internal network (required)
3 auto 1
# =========================================================================
# Section 4: IPX-devices (strongly recommended)
4 0x10 eth0 802.3 1
# =========================================================================
# Section 5: Saving of ipx-routes (required)
5 0
# =========================================================================
# Section 6: version-"spoofing"
6 1
# =========================================================================
# Section 7: password handling of DOS-clients (required)
7 0
# Section 10: UID and GID with minimal rights
# =========================================================================
10 99
11 99
# =========================================================================
# Section 12: supervisor-login (required)
12 SUPERVISOR supervisor a-secret-password
# =========================================================================
# Section 13: user-logins (optional)
# =========================================================================
# Section 15: automatic mapping of logins (decision required)
15 1 top-secret
# =========================================================================
# Section 16: Tests on startup
16 1
# --------------------------------------------------------
# You usally don't want to change anything below this line
# --------------------------------------------------------
# Sections 100-106: amount of debug-information
100 0 # debug IPX KERNEL (0 | 1)
101 1 # debug NWSERV
102 1 # debug NCPSERV
103 1 # debug NWCONN
104 0 # debug (start) NWCLIENT
105 0 # debug NWBIND
106 0 # debug NWROUTED
# Sections 200-202: logging of "nwserv"
200 1 # 0 = no logfile and dont daemonize nwserv/nwrouted
# 1 = daemonize nwserv/nwrouted and use logfile
201 /var/log/mars_nwe.log # filename of logfile
202 0 # 1=creat new logfile, 0=append to logfile
# Sections 210,211: timing
210 5 # 1 .. 600 (default 10) seconds after server
# really goes down after a down command
211 60 # 10 .. 600 (default 60) broadcasts every x seconds
# Sections 300-302: logging of routing-information
300 1 # > 0 print routing info to file every x broadcasts.
# ( normally minutes )
301 /var/run/mars_nwe.routes # filename of logfile
302 1 # 1 = creat new routing info file
# 0 = append to this file
# Section 310: watchdogs
310 7 # send wdog's only to device net < x ticks.
# Section 400:
# station file for special handling of stations.
400 /etc/nwserv.stations # for syntax see file in the examples directory.
# Section 401: nearest server
#
# for special handling of the 'get nearest server request'.
401 0 # 0 = ignore entry 400, get nearest response ever enabled.
Salvare con CTRL-K X. In sostanza il file mostrato setta il comportamento
di mars-nwe in modo che:
sh /etc/rc.d/init.d/mars-nwe start
se tutto è a posto il programma risponderà con:
Starting NetWare emulator-server: nwserv
Mars_nwe V0.99pl10 started using /etc/nwserv.conf.
If you have problems, please read mars_nwe/doc/BUGS !
Errors/warnings will be reported in /var/log/mars_nwe.log
ora possiamo verificare che il sistema sia in grado di ``vedere se stesso''
attraverso il loopback digitando il comando slist e ottendo un output del
tipo:
Known NetWare File Servers Network Node Address
--------------------------------------------------------------------------
MASTERLINUX 00000010 000000000001
Inoltre possiamo verificare che il server ha correttamente impostato l'indirizzo
di rete interna al valore 0x00000010 usando il comando ifconfig ed ottenendo
un output del tipo:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
eth0 Link encap:Ethernet HWaddr 00:40:C7:57:D0:BA
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
IPX/Ethernet 802.3 addr:00000010:0040C757D0BA
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Interrupt:3 Base address:0x300
Un'altra prova che si può fare è auto-condividere la directory
gestita da mars-nwe utilizzando il comando:
ncpmount -S MASTERLINUX -U supervisor /mnt
e digitando la password comoleva appena richiesta. Verifichiamo che la
condivisione sia avvenuta con successo digitando il comando mount e ottendo
un output del tipo:
/dev/hda1 on / type ext2 (rw)
none on /proc type proc (rw)
MASTERLINUX/SUPERVISOR on /mnt type ncpfs (rw)
ora chiudiamo la condivisione con ncpumount /mnt.
Proviamo ad eseguire il login come supervisor da un cliente. Se ci sono problemi a questo stadio dobbiamo verificare la posizione degli eseguibili DOS installati al punto 5.1, oppure la configurazione dei clienti. Se il login è avvenuto con successo, prepariamo le ultime impostazioni tramite l'utility FILER.EXE, ovvero creiamo le directory SYS:COMO e SYS:LEVA alle quali poi consentiamo l'accesso a tutti quanti (gruppo everyone) con flags RWCEMFA, poi variamo i trustees della directory SYS:PUBLIC in modo che sia accessibile al gruppo everyone con flags RF. Per finire utilizzando l'utility SYSCON.EXE cambiamo la password d'accesso di supervisor e di tutti gli altri clienti.
Ora possiamo provare ad eseguire il login con un cliente diverso da supervisor e verificare se sia possibile creare, leggere, cancellare i files nelle directory SYS:COMO e SYS:LEVA.
PHP - Copertina - Indice |