OS/2 sectie |
Linux sectie |
---|---|
NFS zit in de map \CID\SERVER\TCPAPPS van de bootable installatie CD.
Met het hierin aanwezige install.cmd wordt de Feature Installer Plugin van Netscape gelanceerd.
Voor het gebruik van OS/2 als Network File System client hoeft u maar weinig te doen. Net als onder samba zitten de belangrijke instellingen aan de server kant.
De CONFIG.SYS moet het stuurbestand voor het NFS bestandssysteem laden.
IFS=H:\MPTN\BIN\NFS300.IFS
U moet uw numerieke gebruikers en groeps ID op de NFS server weten. Het mount utility vraagt ernaar. Ze staan in /etc/passwd op de server, maar u kunt ze opvragen met de opdracht "id [naam]" tijdens een telnetsessie:
sjoerd@zolder:~ > id uid=500(sjoerd) gid=100(users) groups=100(users)
Voor details zie: Linux gebruiken in de Linux sectie.
Het bestand /etc/exports op de Linux PC moet de te exporteren mappen weergeven.
/ visser(ro) /samba visser(rw)
In dit geval wordt de rootmap read-only aan de host "visser" vrijgegeven. De map /samba is read-write voor "visser".
Ook de Linux server moet de portmap daemon draaien. Voor de OS/2 client is dit aanbevolen, maar niet noodzakelijk. Voor details zie: Network File System in de Linux sectie.
Onder OS/2 kunt u de NFS exportlijst opvragen met het showexp opdracht:
[H:\]showexp zolder IBM NFS for OS/2 SHOWEXP Version 3.99 Release: m16 Export list for zolder: /samba visser.thuis /usr/doc visser.thuis /home/sjoerd visser.thuis
De mount opdracht kent aardig wat opties (mount | more):
IBM NFS for OS/2 MOUNT Version 3.99 Release: m16 NFS client MOUNT Version 3.99 command usage information: Function: This command allows one to attach an NFS server disk to the local file system. Syntax: mount <options> <drive> <hostname>:<mountpoint> <drive> Local drive. <hostname> Host to attach. <mountpoint> Directory to attach and any server specific parameters. Options: (There should be no spaces between the option name and the option value.) -u[UID] Set the UID. -g[GID] Set the GID. -lLOGINID Set server Login id (username). -pPASSWORD Set Password. -v[PASSWORD] Set VM-style password. -ac[S|M|L] Attribute Cache size. [M] -acto[TIMEOUT] Attribute Cache Time Out, in seconds [15]. -dc[S|M|L] Data Cache size. [M] -dcto[TIMEOUT] Data Cache Time Out, in seconds [15]. -c Set CR/LF translation option. -crlf Set CR/LF translation option. -cs Case Sensitive file name comparisons. -cl Check Lower case file names only. -rc Respect Case when creating files. -b[VALUE] Set transfer Buffer size, in bytes. [8192] -s Use Network Lock Manager. -rt[VALUE] Set RPC ReTry count. [5] -t[VALUE] Set RPC Timeout, in seconds. [1] -r[VALUE] Set number of Read biods, 0 - 8. [4] -w[VALUE] Set number of Write biods, 0 - 8. [0] -a Set Archive option. -um[VALUE] Set umask, 000 - 777 (octal). [0600] -fcbits[VALUE] Set file create permission bits, 000 - 777 (octal). [0700] -dcbits[VALUE] Set directory create permission bits, 000 - 777 (octal). [0700] -f Set deFault attributes for migrated MVS data sets. -tr Turn on TRacing. -? Display this information. Examples: mount z: catch22:/home/catch22 mount -b512 k slipserv:d:\karl mount -u312 -g1 k aix03:/home/wayne mount -v v vm1:myid.191,ro,u=myid mount -tr -c -lbruce -pmypasswd m: nfsserv:/usrs/bruce
Het mounten van de map /samba op station V gaat dan als volgt:
[H:\]mount V: zolder:samba IBM NFS for OS/2 MOUNT Version 3.99 Release: m16 MOUNT: zolder:samba UID: 500 GID: 100 NFS Drive V: was attached successfully.
Of in één keer:
[H:\]mount -u500 -g100 v: zolder:samba IBM NFS for OS/2 MOUNT Version 3.99 Release: m16 MOUNT: zolder:samba NFS Drive v: was attached successfully.
Op deze mappen gelden de UNIX bestandspermissies. Sjoerd (met UID=500 en GID=100) is eigenaar van de map samba, maar niet van de root map. Die is van root (met UID=0 en GID=0)
[H:\]mount w: zolder:/ IBM NFS for OS/2 MOUNT Version 3.99 Release: m16 MOUNT: zolder:/ UID: 0 GID: 0 NFSU1003: Drive w: could not be attached to the file system. NFSU1018: Access denied by server. Use the following command to show the export list of the server: showexp zolder Note: The VM NFS server does not support this command.
Om veiligheidsredenen kan het NFS niet door root worden gemount, ook niet met de \lroot en \pwachtwoord optie (als root inloggen onder telnet lukt ook niet, hiervoor is de su opdracht bedacht).
NFS bleek bij een kopieer actie naar JFS even snel als de harde schijf van de Linux PC (rond de 600 k/s, geen DMA).
Hebt u er genoeg van, dan verwijdert u het netwerkstation weer.
[H:\]umount v: IBM NFS for OS/2 UMOUNT Version 3.99 Release: m16 Unmounting v: zolder:samba ... The drive was successfully unmounted.
De opdracht (u)mount zonder opties toont alle opties.
De NFS client heeft problemen met moderne NFS versie 3 servers .
[F:\]mount -u1000 -g100 x: zolder:tvixhd1 IBM NFS voor OS/2 MOUNT-versie 3.99 Release: m23 MOUNT: zolder:tvixhd1 NFSU1003: Station x: kan niet worden aangesloten op het bestandssysteem. NFSU1028: Fout bij maken NLM-client. Gebruik de volgende opdracht om de exportlijst van de server af te beelden: showexp zolder Opmerking: Deze opdracht wordt niet ondersteund door de VM NFS-server. [F:\]showexp zolder IBM NFS voor OS/2 SHOWEXP-versie 3.99 Release: m23 NFSU3002: Er is een fout opgetreden tijdens een poging een transporthandle voor een RPC-client op afstand te maken: RPC_PMAP_FAILURE - RPC_CANT_SEND
De beta had blijkbaar toch een oudje... Mocht u een andere (maart 1997) versie hebben: ftp://ps.boulder.ibm.com/ps/products/tcpip/fixes/nfslatest/server/nfsd.exe
In eCS 1.2. zit wel een recente versie:
OS/2 Command Interpreter version 4.5 [F:\]detach portmap The Process Identification Number is 1213. [F:\]nfsd NFSD0310: Gelicentieerd materiaal - Eigendom van IBM NFSD0311: IBM TCP/IP NFSD0312: (c) Copyright IBM Corp. 1992, 1997. Alle rechten voorbehouden. ************************************************** IBM OS/2 NFS Server Network File System (NFS) Server Versie: 3.05 Release: m17 ************************************************** NFSD0010: NFS-server is klaar voor opdrachten.
Met NFS kan OS/2 als bestanden server optreden voor UNIX systemen. Vooral Linux komt voor de thuisgebruiker in beeld.
Het op UDP sockets (blocks) gebaseerde NFS is in principe sneller dat het door Windows en OS/2 gebruikte "streaming" TCP/IP via NetBIOS (SMB) protocol. Dat bleek inderdaad het geval. Ik moet de finesses nog testen, maar de OS/2 PC was in ieder geval via NFS door Linux te benaderen, zoals de Midnight Commander in de secure shell terminal op de eCS desktop laat zien.
De exporterende computer moet de poortmapper draaien. Dat kan zowel als onzichtbare (detach portmap) of als een zichtbare (start portmap) CMD sessie. Alleen de laatste verschijnt in het Taakoverzicht. In het TCP/IP Configuratie Notebook kan portmap.exe op beide manieren als Autostart Service gestart worden.
U wilt de OS/2 computer laten optreden als NFS server. De OS/2 computer exporteert dan haar bestanden naar andere computers op het TCP/IP netwerk. NFS werkt niet met wachtwoorden. Hoe voorkomt u dat iedereen op uw systeem kan komen?
U moet de "exports" (geëxporteerd mappen) expliciet opgeven.
U moet de computers die hen mogen benaderen (ro of rw) expliciet opgeven.
Deze gegevens worden vastgelegd in het \mptn\etc\exports bestand.
i:\ -ro zolder 192.168.0.3 # Data op HPFS i:\ -rw zolder 192.168.0.3 # Data op HPFS d:\ -ro zolder laptop # D-schijf d:\ -rw zolder # D-schijf e:\ -ro zolder # E-schijf e:\ -rw zolder # E-schijf j:\ -ro zolder # JFS j:\ -rw zolder # JFS
Als u niets doet blijft het exports bestand leeg en heeft niemand via NFS toegang.
Open het TCP/IP configuratie notebook.
Ga naar het achterste tabblad met de naam NFS.
U
moet allereerst een map opgeven die geëxporteerd moet worden.
Dat gaat met de Add knop onderin het TCP/IP notebook op de Tab NFS
(hierboven niet in beeld).
Daarna komt het NFS Directory Entry popup menu (rechts) in beeld. Hier geeft u de map die geëxporteerd moet worden op. Hier gaat het om de rootdirectory van station I:, maar i:\home\sjoerd mag ook en heeft vaak de voorkeur. Bedenk steeds dat u niet alleen de map maar ook de subdirectories exporteert, dus ook eventuele wachtwoordbestanden in die mappen. Voor andere mappen klikt u opnieuw op Add.
U mag een commentaar invullen, maar laat de Alias ingang leeg. Het invoeren van een alias leidt bij mij steevast tot een foutmelding bij het starten van de NFS daemon:
Reading the exports file... Invalid access option [-alias] specified for mount point i:\. ReadOnly (-ro) and HOST security will be assumed.
Daarna is de map niet meer read write te benaderen. Ik weet niet of die bug ook voor de laatste nfsd.exe geldt. Voorlopig kunt u maar beter geen alias invoeren.
Het bestand etc/exports zou er zo uit kunnen zien (geef j:\vrij voor zolder en suse of beter hun IP adressen).
j:\ -rw zolder.thuis suse.thuis
Vervolgens moet u per map de computers opgeven die u toegang wilt verschaffen. Dat gaat via de Add knop van de Hosts list voor de export (hier i:\).
Zoals u in de afbeelding ziet hebt u vier mogelijkheden:
Make directory public
Allow all hosts read only
Specify hosts
Allow all hosts read/write
Specify hosts lijkt me hier de veiligste weg. Zoals u in de afbeelding ziet kunt de computers (in TCP/IP termen "hosts") die de exports benaderen mogen via hun IP adres (192.168.0.3) of via hun hostnaam (zolder) opgeven.
Let er op dat u als u een export wisselend alleen lezen (rw) en lees en schrijf (rw) benaderen (mounten) wilt, u dit ook expliciet aangeven moet. U moet dan twee ingangen in het \mptn\etc\exports bestand hebben: -rw alleen volstaat niet.
i:\ -ro zolder 192.168.0.3 # Data op HPFS i:\ -rw zolder 192.168.0.3 # Data op HPFS
U exporteert naar een multi-user UNIX systeem. Om de bestandspermissies tijdens het exporteren op de OS/2 PC gelijk te houden met die van Linux zijn de volgende CONFIG.SYS ingangen nodig:
REM #### OS/2 und NFS ###### IFS=H:\MPTN\bin\nfs300.ifs SET UNIX.UID=000500 SET UNIX.GID=000100 SET NFS.PERMISSION.BITS=755 SET NFS.PERMISSION.DBITS=755
Uw UNIX Gebruikers ID (UID) en groeps ID (GID) vraagt u in een telnet sessie op met het id commando. De waarde 755 volgt uit de umask opdracht (777-022). Voor details zie: Octale getallen gebruiken met chmod en umask in de Linux sectie.
Last login: Sat Apr 21 22:24:07 2001 from visser.thuis Have a lot of fun... You have new mail. sjoerd@zolder:~ > id uid=500(sjoerd) gid=100(users) groups=100(users) sjoerd@zolder:~ > umask 022 sjoerd@zolder:~ >
Dit levert de volgende output van de nfs daemon op:
IBM TCP/IP for OS/2 Network File System (NFS) Server Version: 1.06 (32 Bit) Date : Dec 15 1997 Reading the exports file... Registering MOUNTD with Portmapper. Registering NFSD with Portmapper. NFS: File ownership set to uid 500, gid 100. NFSD: Initialization complete. Server running.
Standaard is root (met uid 0 en gid 0) de eigenaar van de bestanden. Maar daar valt als gebruiker nooit mee te werken.
Met Ctr-C kunt u de NFS serveerdiensten beëindigen. U kunt de CONFIG.SYS instellingen weglaten (of overrulen) met een NFSD script.
@echo off detach portmap rem NFSD501.CMD rem NFS toegang voor Bouke (uid 501) @SET UNIX.UID=000501 @SET UNIX.GID=000100 @SET NFS.PERMISSION.BITS=755 @SET NFS.PERMISSION.DBITS=755 cd %etc% start h:\mptn\bin\nfsd.exe exit
Daarnaast moet u in het TCP/IP configuratie notebook onder de Tab Security / NFS server / Configure aangeven gebruiker sjoerd met Uid 500 en Gid 100 ook daadwerkelijk NFS toegang krijgt.
De linux computer treedt op als client van OS/2 NFS server visser.
/etc/fstab
# visser:data /mnt/data_nfs nfs bg,rw,noauto,user,exec 0 0 # visser:i:\ /mnt/data_nfs nfs bg,rw,user,noauto,exec 0 0 visser:i:\ /mnt/data_nfs nfs defaults,user,noauto 0 0 # visser:i:\ /home/sjoerd/data nfs defaults,user,noauto 0
Het kan van de NFS client en server functies afhangen welke fstab ingang nodig is. Onder eCS 1.2 ging het gewoon met:
visser:d: /mnt/data nfs noauto,user 0 0
Ik had mezelf (chown) eigenaar van het mountpunt /mnt/data gemaakt.
De Linux kant:
sjoerd@zolder:/ > cd /mnt/data sjoerd@zolder:/mnt/data > ls sjoerd@zolder:/mnt/data > cd sjoerd@zolder:~ > mount /mnt/data sjoerd@zolder:~ > cd /mnt/data sjoerd@zolder:/mnt/data > ls -l total 1 drwxrwxrwx 1 sjoerd users 512 Sep 5 2000 ACROBAT3 drwxrwxrwx 1 sjoerd users 512 Sep 11 2000 Actueel drwxrwxrwx 1 sjoerd users 512 Sep 8 2000 BACKMAST -rw-rwSrw- 1 sjoerd users 1102 Dec 21 22:25 CONFIG.SYS drwxrwxrwx 1 sjoerd users 512 Apr 4 13:10 Data drwxrwxrwx 1 sjoerd users 512 Feb 14 22:44 FP9Nl drwxrwxrwx 1 sjoerd users 512 Feb 14 22:45 FTp drwxrwxrwx 1 sjoerd users 512 Oct 8 2000 Office51 drwxrwxrwx 1 sjoerd users 512 Dec 21 22:51 SPOOL drwxrwxrwx 1 sjoerd users 512 Apr 5 12:05 Sslurp drwxrwxrwx 1 sjoerd users 512 Oct 7 2000 Temp -rw-rw-rw- 1 sjoerd users 68 Apr 14 13:24 chkdsk.log drwxrwxrwx 1 sjoerd users 512 Dec 25 00:06 cmd drwxrwxrwx 1 sjoerd users 512 Oct 7 2000 home drwxrwxrwx 1 sjoerd users 512 Apr 15 00:28 homepage drwxrwxrwx 1 sjoerd users 512 Mar 3 00:25 tmp drwxrwxrwx 1 sjoerd users 512 Sep 10 2000 var sjoerd@zolder:/mnt/data >
Er is in de nsfd versie van TCP/IP 4.3 echter een groot probleem. We komen niet in de subdirecties!!
Version: 1.06 (32 Bit) Date : Mar 3 1997
Zie ook: Unable to see files listed on OS/2®
Het probleem is opgelost als u de laatste versie (Dec 15 1997) gebruikt:
Version: 1.06 (32 Bit) Date : Dec 15 1997
Op de Nederlandse eCS 1.2 (IBM OS/2 NFS Server versie: 3.05, Release: m17) was het probleem afwezig.
ftp://ps.boulder.ibm.com/ps/products/tcpip/fixes/nfslatest/server/nfsd.exe
Daarna blijkt NFS zeer buikbaar en loeiend snel (sneller dan de gemiddelde doorvoersnelheid van mijn harde schijf (;-).
Anders dan u zou verwachten zitten de de NFS utilities niet in \TCPIP\BIN, maar in \MPTN\BIN. De meeste beginnen met nfs, maar er bestaan ook utilities als showlock. De configuratiebestanden zitten standaard in \MPTN\etc (d.m.v. de SET %ETC% = variabele in de CONFIG.SYS). .
Onder WPS zag ik een trap error bij het openen van bepaalde mappen op V onder NFS. Op dat moment was dezelfde map op Linux zowel onder samba als NFS gemount. De oorzaak kan het volgende zijn gelegen:
SMB servers (ook die van OS/2) gebruiken een eigen buffermechanisme ("oplocking") om de effectiviteit van de bestanden serveerdiensten te verhogen. De gegevens die de SMB server aanbiedt zullen door de buffer niet stroken met die van NFS. De gelijktijdige schrijftoegang voor dezelfde mappen onder samba en NFS leidt dan tot bestands I/O fouten. Daarnaast zullen bestanden door de "opportunistic locking" langer open staan dan ze daadwerkelijk door de applicaties worden gebruikt. Dat kan verwarring scheppen voor de WPS en andere applicaties en zeker voor NFS dat geen "oplocking" toepast.
Een andere eigenaardigheid was het feit ik dit bestand niet onder Apache op kon vragen, terwijl ik het via NFS bewerkte. Ik vermoed dat het ook om een geval van file-locking ging.
Forbidden You don't have permission to access /hp/ecs-os2/tcpip43.html on this server. Apache/1.3.9 Server at zolder.thuis Port 80
Onder samba gebeurt dit nooit.
Onder Samba komen soms WP ROOT. SF en WP SHARE. SF bestanden op het EXT2FS terecht (gevolg van kopieeracties?).