SUMMARY: Re: Making floppy drive accessible (LONG!!!!)

From: Winston Seah (eleskg@nuscc.nus.sg)
Date: Tue Jun 02 1992 - 20:52:25 CDT


Last week I posted the following:

>We have just purchased a IPX with a 3.5" FDD. In order to use it, it must first
>be mounted and that requires super-user access. I have compiled a copy of
>"mntflop" but it does not mount DOS formatted diskettes. I need to allow normal
>users to mount and access the FDD, and use DOS formatted diskettes. How can
>that
>be done, or are there PD utilities available to do that? Thanks.
>

Thanks for the overwhelming response. I received a total of 41 replies,
most of which suggested that I should use "mtools". There are various
other utilities, some of which are written by the people who replied.
Acknowledgements go to the following:

Alan J. Rothstein <merccap!alan@uunet.UU.NET>
blymn@baobab.awadi.com.AU (Brett Lymn - System Admin)
Brent Alan Wiese <brent@crick.ssctr.bcm.tmc.edu>
brianc@jekyll.ucsf.EDU
brs@cs.brown.edu (Brian Stormont)
Dave Mitchell <D.Mitchell@dcs.sheffield.ac.uk>
datri@concave.convex.com (Anthony A. Datri)
Donald Ballance <donald@control.eng.glasgow.ac.uk>
doss@cs.anu.edu.au (Peter Farmer)
Eckhard.Rueggeberg@ts.go.dlr.de
eeimkey@eeiua.ericsson.se (Martin Kelly)
engp1186 (Won-Soon Lau)
fabrice@yosemite.ATMOS.Ucla.EDU (fabrice cuq)
David Fetrow <fetrow@biostat.washington.edu>
geoff@fulcrum.oz.au (Geoff Halprin)
Gustavo Vegas <gustavo@davinci.concordia.ca>
jaa101@gorton.anu.edu.au (James Ashton)
jan@dcs.qmw.ac.uk
keener@upenn5.hep.upenn.edu (Paul T. Keener)
kevinmac@ll.mit.edu (Kevin McElearney)
labute@galois.Math.McGill.CA (John LABUTE)
Larry Chin <larry@cch.com>
macphed@dvinci.usask.ca (Ian MacPhedran)
matt@wbst845e.xerox.com (Matt Goheen)
matthew@cs.adelaide.edu.au (Matthew Donaldson)
mce@sdcc10.UCSD.EDU (Mark Edwards)
"Michael A. Meystel" <MEYSTMA@DUVM.BITNET>
oran@spg.amdahl.com (Oran Davis)
hydres!paul
per@erix.ericsson.se (Per Hedeland)
phil@dgbt.doc.ca (Phil Blanchfield)
phil@pex.eecs.nwu.edu (William LeFebvre)
poffen@sj.ate.slb.com (Russ Poffenberger)
Bryan RAWSON <rawson@ocean.washington.edu>
Peter Shipley <shipley@tfs.COM>
singh@ulysses.att.com
Mr T Crummey (DIJ) <tom@sees.bangor.ac.uk>
Upkar Singh Kohli <upkar@wsu-eng.eng.wayne.edu>
VINCE@UCONNVM.UCONN.EDU
wilker@math.purdue.edu (Clarence Wilkerson)
zshouben@pcs.cnc.edu (Zhou Shouben)

The summary of the suggested methods are as follows:
===================================================

1) mtools 2.03 - Does not require user to mount any file system. Provides
                 DOS-like command for file management. Manual page follows:

        MTOOLS(1) USER COMMANDS MTOOLS(1)

        NAME
             mtools - Utilities to handle MS-DOS floppies under Unix

        DESCRIPTION
             meject - - Eject a floppy disk.

             mdir - dir - Display a MSDOS directory.

             mdel - del/era - Delete an MSDOS file.

             mmd - mkdir/md - Make an MS-DOS directory.

             mrd - rmdir/rd - remove an MS-DOS directory.

             mread - copy - read (copy) and MS-DOS file to Unix.

             mren - ren/rename - rename an existing MS-DOS file.

             mtype - type - display contents of an MS-DOS file.

             mwrite - copy - write (copy) a Unix file to MS-DOS.

             mattrib - attrib - change attributes of a file.

             mlabel - label - change the diskette label.

             mkmanifest - - tool for mapping legal Unix
                                     filenames into legal MS-DOS names.

             MCWD - cd - change working directory.

             The environmental variable MCWD may be used to establish a
             current working directory (relative to the MSDOS diskette).

        SEE ALSO
             dos(1), mwrite(l), mdel(l), mdir(l), mmd(l), mrd(l),
             mread(l), mren(l), mtype(l), mwrite(l), eject(1), meject(l),
             mattrib(l), mformat(l), mkmanifest(l)

        BUGS
             The program names are unfortuneate.

             Syntax can get interesting, it is a good idea to quote MS-
             DOS arguements.

        SOURCE
             cs.ubc.ca:~ftp/src/mtools.2.03.tar.Z. Created March 19,1991.
             Version 2.03.

             cerl.cecer.army.mil

             comp.sources.unix at Jan 13 11:15:37 1992.
             Check for mtools2 in Volume 25, Issue 97.

        ------------------------------------------------------------------

2) mntflop - Suggestion: mntflop -d

3) FloppyWorks - marketed by Digital Equipment Corp.

4) smount - provides secure mount/unmount. uuencoded file follows;
             Have at it, just ... uudecode, uncompress, untar, "make",
             su, "make install install.man".

---------------- Included file till end-of-message ----------------
begin 664 smount.tar.Z
M'YV0<]J\J>.&S@L "!,J7,BPH<.'$"-*G(@0A,4;-VJ & 11(T9,#9V!"'#
MALB1*$-ZA#&#1HP8+6EHM/B1A@V.%'/JW,FSI\^?0(,*'4JTJ-&C$@,.+/A"
M*4$Z+L8@G2JTHPT;-$YZ!*F5I$F.*$'0*#F#)DL:,&+(F"$C1L<;:F'@I$JW
MKMV[>//JW3OUA0H%3@M&;4&XL.'#B!,K7LRXL0*_"BQ.*4.G19TT9%K(>?.&
M#H@[<L+ @5-&#@@S;TP+?/JBSNJ"(.B\ 1&&#9LW=T (E$.G]IS8LU][#N.&
M3&00!(6#@#/&S&\43::T(/)DRNG;H_.DH%T<!)HYSD&@&$*DA90G3;:;2<.F
M#(@Y>>;0*=-FCHOC5-"4F>-^??OW\<W71FQYD/9;&'*X)T89;*11AAUED &"
M&YT!]UX=HZ7F&7^5[7$9&2R<@5D?QQ$GX1RDC9%&;:>QMQ\+W$EXAWMWL,<&
M"&^XP48>R/&GVU*>P?%&&@7]AF(9*JX7X7%$GB9?&&+ .,=L=*"1AI%H#,2&
MA N^%X89[J& FFEAD$%&&G2DD2.+8[S1QIATP%BFA%66<9P(%,[QH0@XPI%F
MCB TZ5QO40;J&0I-3D%0=6*Y$(.CV^6XXW()0ECD<1RVX"%F(8X(HQAU!%D:
M&J+]UF2=IX5:1X(NM)K"?<=5,4<89Y2APWO"\:&G<O[M%R!]?)R9X!BRR9&'
M L<%$6J6<MP*16D@(!$A@R:"P -I<@!16AIXN+#M&'-,Z88+_/F@@ HO(#L"
MD6.P40<9[O$@WYEON("&N>NZT>Z[\;914!F"W:LNO.NYX9X14U 1A! @B/ "
M96.\,"B4(B@P L%$NM?$$U4X047#K<TAQ\-T1"Q<Q1>74;![56S<\<<.UR$R
MR1&[!F3%CZD PA7NM2'SAI2! $405" !PH)CNE<&'D@2><:/3[W'KGMA;*=<
MC;;UZ-[011]GX=)(0EW0%X,6&&8:WKH @A!)'/$>DJNBR6.6_^466G%N"DTT
M$MN9Z+485FOHFVYIG(&&9Q1Z1BJ$((0\,L3BW:%?@F+30;9\9@<ZQW:GZI>&
M'%YSC83:2OS\MF>H IPFY0#;\7F.;:@NY9=4=S='&FW T9[:88V$K@)CD&J:
M"JUOT04(/8"PA]<-B]Z#XZV-(88.T(M!)/4R/UZR""PP#P/S?>R [-+SR>$&
M",$C"((*<A )+QXHI""^ FV$020*")XQAIQRG&%'"@H@TG#Z-P;QI6]X*LB?
M'<2WO)$<<'UP.$,;Q#<2(R2!"458WYO@0,&.R$<.=2"6;OX%&Q7XBPX=M(@
M3[,4"24/!O,;21K,()[\C0$$(4B>#$# !S[0IG]VV$(,NK %&!POAR XP0M.
ML)WE)< ,<&A?0<R @GF51@XP$H&L:&4K$)3@-[V"CWSHPT,0" M)Q<H#%]S
MO1_ZKXA=D)\"$K T-*$@!G(<"8F8-T/QH""" TJ>%-^'/R#"$49*9.)V>I \
M)U2!"4P 8 ( B3PW!M&(*00!@_@S1T"N8 69[&,5Z2"',>3NCQ+,8F#H(()%
MOE"2E$R>RSR6R4W::9(2K&3+.$9+9,F0ABA P08KR:$3J@X%"%.8$+(HAU:Z
M$@2.A&03.WG%U" S80N3(QWQ8$<\9I)$(Y&<B_QXPDK6B@[&+(@PH9B"[2 Q
MFI%4WAQ%^4%3PD&8!6F!#TYX.3>$(7;\>^,0GQF2'LYQ)/4\Y0GUR4]A!32(
M T7>*^69@%^*!S4$(<,T$_#$* J0BE:4 Q8;%H0V6.\,=1B(D5(TPS2,(0Q_
M<L.MOKC&-BI0B'$4'T?K2(<[:E./!^T(/4EI3WQ69I]CHX/9LL@<Y[02AR\$
M@0E,,,<$)/2>"T6JY91*FBQ^QZGNG*@3.RI%.H"4#O 2:1:-,$XQ"HA I/'B
M;Q)'&]O@)D(U[1Y'$Y!5?G*U#-K<9C=_VA$25;0C&"W.)W4*SL+Z4JC #$%B
M-4I1*);UK&D=J0B^.*$*3390YZ,I&Q^*4Q@E,YLZY:E/O_E8BX"M765 91M@
M!$C2#A%&*'B@"E( QBU+H\=P=9FY"!;^7'4+YIDV@W-8+_V2.AW(U&M-Q5
MHI@ ,(.0 A$-(!$UP7 KP%AG" ,:S N?@! ;++">XR < $ #7/ &
MTKBA1FYH 9'0!( #M+>_K.!N P! @?ZZP'Q3,@,=$G( 7G#7 00VL/G8$ ;Y
M,!@;W!T!3B" !3V-R\,T(%=OTB25 A, (0A(2 <@\-T$N*!^["FEHP!0 S&@
M^+T"T %"6!P +"#DQ ! FX^P'X L !YW0!*<,PAM(,9#X &'*0:8$0#C1B
MPV:H@POJP(;5=0L., U>>DV,D 1 H\K>^"X"7BPS-,@ !S<A0PW.@! %J#@6
M1GZ 23_GK3A<!@XN:)"%$?)> 0@ &4 (L'<!LZWV65+Q@#&3;3AB^ 1C11
M<8$6^)*7CM#@TUKY2$C 8I&2=*4C)5&+6=@"D[1DQ"(Q2,L,;K(13MOZUKC.
MM:YWO9</= (2<] &+U(Q#D,X8A$Q:($$5, %9, B%,,X! 1&H 0JP$,(A1
M!$!@"DJ$8AJB<((&9- "<O B#T,X #$ZD(,P@ ,8*1B!=C-Q@Q840 *DF(<H
M',$,08 ';P(0 0,T8!-W. .0$ )89PBG-P@A,[>(,E&%!L9A0! @2HA"
M,0-C,",*%&B"*6@! GF001'+^(0*YD$*<&2# @301 ZL$ 108$ (I"@$)4[0
M!&-H(@G#, 4#$)&#/)@#&BF8AAF.?0HJ0(,2F1C#'=S0C5WDX1ZV2$8FSE".
M:,! #NQ01 J&88(F9& '94 &(. P! FDHQLZ2* E2,",.#SB"#)@@3/XP(YY
M4"(5YLC!"HY!BG2D0Q+N (,%Y/R-6.SA$"[8 3>P U8)&, E8 %- *!@W#P
M(@E3@ <*V"$#69S##'Y0!C=*X0T8B $.S\A&$@[0! V< PT&D$4T>) /-V!@
M!G:( B_8D %#," 3-*"#- APBAZ8HPF;J <=X'"+:W"C%\R80@0XT8PX: (!
MP A&!+X !Q!0X0Q5B$(V2H %"2B@&DT( A2N )H@$,(#+B (RK #3A,H0B&
MD 5S\ 218 V"D 8?4 JVH %N( ;4$ 72H 1R J1( U14 WU< Z2H AU0 3F
M( R-D +\4 ]44 %S0 AQ8 09H .K1P$?( !*4 ;8 :)$ _%< Q[$ F-$ J3
MP %Y@ +P0 40H *&< )' E0 L$( 2D E18 X:@ \ L(0 !+D ;@$ X"
M$'7,$ N=L $N 'F, @"H *\ +E@ #,T C!8 0=0 ;84 R#X 7OT M:J %O
M( WI8 B=@ ?JD U&$ 1E0 'T< Z;H ", GGL$;84 ;$0 %40 A0 (( *\
M O1@ $OP *(T D(T @^H R<T 5-P -14 @30 5@H 73P %R@ 9*< "GH 2!
MH YHD &0H U54 2I< JFH EIT &LH O*D I-@ S1$ J4 0JL':%T 5M \Z
MH U& ) $ $$4 %( @PD UZ8 >5$ @'0 ?,T EQP U,< ?5D 97@ %CD 35
ML E/4 S94 XL0 M/D =FT )TL T60 _%( B-4 J78 R9X * )$( %'P T%
MT 6- \1< '>$ 9!$ K40 E]T P^L C$@ 6N4 HK8 2X( H94 )4H %G I1
M( %G4 *Y@ @9@ "K8 NZD I:< <(8 %9L MTP NK< 6\D #.$ -6P B"4 HA
M< 2Z< XB$ 6O( '*H Y;( F,D C&< ]Q( IV@ H<P 4;4 -K< ?>< MET R1
M8 0; ?44 4O8 1(< (-( 2<@(CA( 9+H +@P M%< $@0 \ ( P>D YBH UR
M\ 9< TT8 @8H .580"S,@^J$ ^K( *P DUP !9< ^Q, B48 WN4 *'L $@
M@ ,-D W2( <P< DGX $H0 KP8 L"T :$$ P<H "0T DQ8 A^( ><$ 9'@"PP
M< M4( YCP MM< /4H (4X ;'L U8< (]D _2 ><$ W&L U)L &10 34 0L
MT <?P &@, *M< D<4 <XD (4( HXD KWU &I, ;D@ M+@ PSE)E_< *=8 @9
MH 85X ,&@ A@ 4M, (P ?P$ Q3( YVP 81, 07L 7 1U$ \@P GP( P)
M\%*= @9 ?DT 60D % F R2P &XD C , J/ 2" 7"$ 5'( ZE< %?@ R#
M PD0 =/8 [!4 @;D 8O\ IX0 ]=@ ^M 0"8( /H !B Z_0 JQ8 )K\ M3
ML *H .W@ &KD ><00ACX '_P!P]P X#>0!6, ="4 &8 P$8 PE B!4 73
M\ 4L=P4[ %08 @P\ ]C X*8 4R2@"&\ @.( <8, #18 'HD OR4 D@ 4B
M@ O@X X\@ !"L KAH !54 (\$ I_X ./"@'>H Q4 24( GO B'( 4P DN
M0 BDD E=T Q0 .IH 0)$ I\( ?($ H.4'-!X !F\ *%, Z#D 5D * ]0\!
M $/( D 8)D 630 N. (B!, L+$ Z/@ X@$) X$ E[D (8L #UH O8$ RK
MT _/4 BK, DAP &<@ 608 'X 9V( )S, 08@ >&@ O]T -OL @P 0>\ '^
M< FT 3. =V8 A$0 *3H '9P M'8 5M< A^P 3 ( '5( \2( B0$ Z+D #8
MX 7WP $'X /QD R!P >8H !"L '&,+$ZP #$D .QD ]=H '& &&, "Y$ )(
ML Z[\ 7^P +GP O^T LM4 D!0 K# #-@ 9 H 0BT "0 ,40 (AD -R@ 1W
M$ TAX 7E, J*4 5ERPO=$ AP:@+X\ 4"P (Y@ 1,8 4S0 ;7P 5)D _.( M-
MT ."( 5[H KTX $=H 5)< @\T NRP =&@ >CL \4, R84 FH\ XH0 'CD A/
M B2D %AH I3FP P< (B, U98 SX DQT C,0 0:L 9$D BT( 4V4 :%< QD
M, I$4 GXP 0F8 C ( JGP E< _DD 1/L ?"( 4$L [;P 1G 2: *Z4 3
M\ ><P (FX :J@ 7&, 8F, >9L ;D@$S64 :G( /0 L-@ MA 9,\ FC20%L
MX 0%D * $ !N =6 14B@0D( ?XD K?( 59$ $3X 5K@ =F %<T 4T, RT
M0 K=0 6-H !@T #)<U.8Q#RVU$D2M%A\!$Q7)5NJ=#($!4NY)$N\1 6UQ :<
MA$N!! *[]#(Q!%GD!$7$)!POD!]70@2?@T:ID0>\-A56@16AQA6DYA6G!FLP
M ,FL1*L-@,?80-N 0*Q%@,V,1=-7,9F?,9HG,9ZP3SF9R6_<4;$LL3>\09;
M\ANH,B6KTF3H\P;P8B%W3!D?HAF<X1G"H0!1] 9G$!H#<FFC 2U3$ANDXADR
M4QJ_\5+GHQQ-]1LFX!W@ 48NXE;T81\6D1_[82=_A2,T%$:_4A\_1#5V-2-<
M@B1A,,F07 8\0@:S05>+XQY"$BYI( ;_P1]C$#=*I0!TLQ\7$CRT822 C!F"
M7"&;$2H9,P<P B^NH\>JTS[(7"UZ$CSW@1*DW"+_(6F49FFA 6@W= <55LLX
MTCXBXD\W@L>E5 :\$\[RK,>'[#KP8AQ7@CZKDB %,2F3+"'K?"6?$BH@D 2?
M01SS02>ST29PP"-H8B&K%!4Q @)K4 9E4'YA #SUQ2-O0$.HDAJ%0R0L<L]A
M$CP"(2&?1@/;H0:FTR0OY2,KW5(O%5,'DB *D"!^EL1DP#LV\ (E\0(YX!9"
M -!T@"R[V(N_&(S#6(S'F(S+V(QP\(S1.(W5>(W9N(W=^(WA.([E>([IN([M
M^([Q.(_U>(_YN(_]^(\!.9 %>9 )N9 -^9 1.9$5>9$9N9$=^9$A.9(E>9(I
MN9(M^9(Q.9,U>9,YN9,]^9-!.91%>91)N91-^911.955>959N95=^95A.99E
M>99IN99M^99Q.9=UR0AWF9=[V9=_&9B#69B'F9B+V9B/&9F369F7F9F;V9F?
M&9JC69JGF9JKV9JO&9NS69NWF9N[V9N_&9P*,)S%>9S)N9S-^9S1.9W5>9W9
MN9W=^9WA.9[E>9[IN9[M^9[Q.9_U>9_YR0#[V9__&: #6J 'FJ +VJ /&J$3
M6J$7FJ$;VJ%A\*$A.J(E>J(INJ(M^J(Q.J,U>J,YNJ,]^J-!.J1%>J1)NJ1-
M*@A/&J536J57FJ5;VJ5?&J9C6J9C<*9INJ9M^J9Q.J=U>J=YNJ=]^J>!.JB%
M>JB)NJB-^JB1.JF5>JF9NJF=^JFA.JJ05M'UXP9J7!16 6JD)FI=86I3C&HQ
MX,6KYA)J<0,T< -O(1,W0,9+'N9B/N9D'N8NP 5\ @0H, (I4-%L$%Y% P)3
M,$L?<R,BX!:E,RDQD -%73$N, 5&XP1!T 1% !C"(24V$S5<T +OP5(LHLX\
M(AN5<]') 23H4QJ](2AMM<IS$%Z +N=9X 1/ 53 'KAQ3"K%%X*#<=I%%YB
M #HN@.J%[ (*K<ICU :N#NLH<NH7,NNKGL1Q;"RYSNN[ B2J+LZ^<NN>;C1$
M4 13, 12D 100 70ZP3AQ010P.M34,C]/- 6HAQ'HB(L\E>_$=+(#AB<GLQH
ML,RUK "G'-+S<3[>/B8@0![G$1WW$>MRGN@% 3S$4<OGTR7>+NF5'C5A0"D/
MHB8R,RG"$2'(#B"W?A]"H#*I035T("!^XC064O"P<?"] O$"\BGNH2<ZC2JL
M+L>24QKN@2H?#\H#TL\-+R']3%=-,LD2[QY-QAOV<SZ2#E/M46&>D3YN4"MF
M!.S%XB#/(0*2]E0]7_3#DD:0#%.:HP!T!2BH$O,/[_+YCNT*, 3_+BD\(O#\
MX="37BT<[QEK0"%3Y_1*K,T'TATMS^GW8<2FX@9C4C\QI3E[7! [[_"=8R?Z
M/C%B(!XU $"]4L_Z45>W <MPA<SF'O>WGM/N\55O+R&9G.^?7@18,.A0@$%3
M$%Y2\/DN 5$ +?XP)4D.U4$!R6?O#VCA[B\0+6W!2J&2D\G_@G;RR-0\YY
M,\DZ0.S*$6F3YB9PKOJS<?:T4>]$<.\X<OOND?L\(OR4IC6_K^_%'C723_PN
M( 6%/OI$L.P@$ 154#1/( 4*\"RF(2WP0F'=<2VEH2WMTRW?$BXY0BYE8"Y_
M;C06Y/F\3C,2\R1B /S]GPP2!)C %'@"ITX*5 X4L)ZZ1ZQ3@((/!10^9!'8
M4))*8DDN"2;)))IDDW"23N))/@DH"26B9)20DE)B2DX)*DDEJF25L))6XDI>
M"2R));)DEM"26F)+;@DNR26Z9)?PDE[B2WX), DFPF28$)-B8DR.J05 IC @
MF2B39<),FHDS>2;0))I(DVE"3:J)-;DFV"2;:)-MPDVZB3?Y)N DG(B3<4).
MRHDY.2?H))VHDW7"3MJ).WDG\"2>R)-Y0D_JB3VY)_B$ N03?;)/^,D,Z"?^
MY)\ E( B4 8*02DH!N6@()2$HE 6"D-I* [EH4"4B")1)@H>H"@5Q:)<%(R2
M433*1N$H'<6C?!20$E)$RD@A*27%I)P4E))25,I*82DMQ:6\%)AZ V**3)DI
M-%4*U!2;<E-P2D[1*3N%ITB!GN)3?@I0"2I")0P,%:)25(S*44$J246I+!6F
MTE2<RE.!*E'E R!-$P@#&:U7E+F@\,2RPI.38B-!RO4.F- 6KMQ+8 LSX(N!
M@!N Q6( F!N'^# ?ZL-]6!1&@,60<X[N1DPRU=#ZN@._"WIN(LF1 5$V#U]
M#"!J1@VI60QU\0^3@!MX$K8!IJB)\T$D[IY&K'\3L=DE#"*0!!1@#T@ T.,V
MO)0WQS:< $DTB0F !* D4@%7F(*> '6PPTH@/CC$DLB\HB),]'9U<22>!.3
MW M(<C*1)TZ!*F $+ @6 "!*D2DZQ9_XYB;B"*AW;@(.N @RT1W:1!M0B&9$
M9>P7G'8?_.$0, ),( @< >MP$EL F0"3N G)@ V<#Y:0*=3 +6!#>@ JU+(
M#!V0V(M\$4A$A3DB$YE $G "2R J;(<6,!M( !# %8)Q#" +(H$1]6)@? J$
M$05(@?0 F1B2[2)34$Y>,;#"!JO7[]+ )2Q-V0-NP@"6L" V'(OH37.ALU0
M(59)9T0!GY$HSA%)<QMSHQ38#CO@-L+%[6 ;36-2"R 7436R@1=#'/8BDB,.
M\R0YYL76^!I!S7,\'TDQ"/3$WQ@:!6-V= )+L2DF@:<X1Y!$ED@BY"(X$(?O
M&!Z=XDVL:.Q1*H['%' "0( /Z'6",<E%Q\I('<6"=3R(S!$[0@?M6!H!9'P4
MC^01*&Y&X@@@]2/P^'DR)3,N2,@8-2K:;#". 5(!$,'9=@1MFQ+$;4YPMT5!
MWT8%@]L5)&Y:\+AU0>4&!IO;&(1NTNT,5C<UB-W:X':#@]YM#H8W.TC>\N!Y
MXX-^<+T%PD$(WPSA?$N$]HT1YK='R-\DX7^KA ,.$QHX3IC@/B&#$X4/KA1*
M.%18X58AAG.%'"X6?CA:*.)N82XT<2BN%ZHX8-CBAB&,,X8R+AG6.&;H#'-<
M-.1QU/#'74,AIPV+G _@AX R4 K*04DH"Z6A/)2(,E$JRD59YB -[ZLTC"S3
M;)I$Z6F<7$> <E-,'8:%5+-#M%A; DQX-6 ,5E#:QBEJ3R5J)(H^!I@(VR(
MC;%!-LJ&V3@;:"-MJ(VUP3;:AMMX&W C;LB-N4$WZH;=N!MX(V\( ;VQ-_A&
MW_ ;?P-P! [!,3@(1^$P'(<#<20.Q3$$%@?C:!R.XW% CL@A.28'Y:@<EN-R
M8([,H3DV!^?H')[C<X".T"$Z1@?I*!VFXW2@CM2A.E8'ZV@=KN-UP([8(3MF
M!^VH';;C=N".W*$[=@?OZ!V^XW< C^ A/(8'\2@>QN-X((_DH3R6!_-H'L[C
M>4"/Z"$]I@?UJ![6XWI@C^RA/;8']^@>WN-[@(_P(3[&!_DH'^;C?*"/]*$^
MU@?[:!_NXWW C_@A/^8'_:@?]N-^X(_\H3_V!__H'_[C?P"0 ") !@@!*2 &
MY( @D 2B0!8( VD@#N2!0) ((D$F" 6I(!94"EP0#))!-,@&X2 =Q(-\$! 2
M0D3(""$A)<2$G! 4DD)4R IA(2W$A;P0&!)#9,@,H2$UQ(;<$!R20W3(#@D
M/*2'^) ? D2"B! 9(D2DB!B1(X)$DH@262),I(DXD2<"1:*(%)DB5*2*6)$K
M@D6RB!;9(ERDBWB1+P)&PH@8&2-DI(R8D3."1M*(&EDC;*2-N)$W D?BB!R9
M(W2DCMB1.X)'\H@>V2-\I(_XD3\"2 *)(!DDA*20&))#@D@2B2)9)(RDD3B2
M1P))(HDDF20+2-@RX&'C@(KM S8V$0C92N!D0X&6;05F-A?(V6+@9Z.!HNT&
MEC8=B-IZ(&L#@J]M",HV(UC;DN 2;(*Z#0KVMBD(W*S@<,N"QHT+)K<OR-S$
MX',K@],-#5JW-9C=W"!WBX/?C0Z*MSM8WO0@>NN#Z@T0MK?W5@CE&R*L;XL0
MOSG"_18)_1LE#'"6D,!EPDV(X#SA@@N%#HX41KA32.%4X85KA1KN%78X60CB
M:N&(PX4E;A>FN%_(XH3ABRN&QW#&*4,;UPQQ'#3<<=/0QUG#()<-B1PW+%6G
M*E6MJE;UJF+5K*I5MRI7[:I>]:N"U; "!<7J6"6K9=6LGE6TFE;5ZEIEJVUE
M!+K5MPI7XTH0E*MSE:[65;MZ5_%J7M6K>Y6O]E6_^E<!:V 5K(.5L!96PWI8
M$6MB5:R+E;$V5L?Z6"%K9)6LDY6R5E;+>EDQ:V;5K)N5LPS!SNI9/RMH#:VB
M=;22UM)J6D\K:DVMJG6ULM;6ZEI?*VR-K;)UMM+6VFI;;RMNS:VZ=;?RUM[J
M6W\K< VNPG6X$M?B:ER/*W)-KLIUN3+7YNI<GRMTC:[2=;I2U^IJ7:\K=LVN
MVG6[<M?NZEV_*W@-K^)UO)+7\FI>SRMZ3:_J=;VRU_;J7M\K?(VO\G6^TM?Z
M:E]&X'W%K_E5O^Y7_MI?_>M_!; !5L .6 );8 WL@46P"5;!+E@&VV =[(.%
ML!%F2$I8=,%AM\23@)(5)AY:6&UI&*ODJ3 2TR?#=AB=NV$Y+);PL)_:6@(%
M,%DGY2=Y0!JZA\2>WA);E.4PBHV:=/@5UN$5RV(U@"5\RB[VQ<+8&*LUJ3*L
MBM6QZA#8&-UC>\%N;M"QA<C.4-H>ZV.2[H_1@4!&&PF9L3MDB>R??(9SABW>
M Y6(9%I##E2R?X?)FH,FXV3AP=8)"(9(RCC)NTMEGRS=(0A7MO@<WH)X*;2L
M3MRR7%8A=MER> .^#)B-/+C1/HK9,3,2(63=K3,.05<'&0B(9FG"8%"SL'C-
ME$9!<'L7K9NA@6\V$L+9QWN4Y@S3I+-U-M+<F4F+9P-AGB&^D9=<\=EFT&=+
MHI\-,Y&B.@3:V&-W!NUH(#2%IL[^!=F#:!(-=5Q(X6#1JD5&VVBTP:-%-%3&
MSDC:.SMIS36EH8&5YA]=&@B :?(!M*"/"M,S^)A-^X@7L97MM#+0TQ+$3[,(
M06VH%;6U(1$]E>ML:K$3JM'.J78[KYKNU&J]LZL!3[ V/,>:\31KR3.M,4^V
M]CS?FO24:]6SKF%/O+8]]YKW]&OALP(.-@QHV#9@8O. C"T$/C82*-E.8&53
M@9BM!6XV&.C99F!HLX&D+0>>-AZHVGQ@:PN"L&U#$E D>-N88&Y[@KQ-"OZV
M*BC<L&!QVX+(S0LNMS#HW,A@=#.#U"T-7C<VJ-W>8'>3@^"M#HXW/&C>]F!Z
M^X/L31"Z-T(8WPXA?5.$]ZT1ZC=(V-\F(8 3<)>PP&G" ]<)%1PH;'"C$,*9
MP@F7"BT<*\QP&PX6>KA9&.)L(8G3A2>.%_K"%1<,71PQC''(D,8MPQOW#'6<
M-.QQU1#(8<,AMPV-'!&[CJ>RR9G#2XD.44U5W915[HMEU9;P$F2 EN-R%\'+
MW4.RRFR;+:,\<VENS;4Y\OKF4)_1F',U# 38.3S'97C$GNMSX$_0$3J_^!00
MG7)8=(VN:3RZ,!#I6)_!,XAN0#GDO$QW/B#?8A6 H6[4E3K1)^N,':U#JZW.
M!;PZX.=O:UUD578"5]?! 6)W$(\=]!MVUJ_A_EO%2A_ GTB$=M*.VCT!:^<"
MN)Z^VW;&KMM=5TD'[@)BXRMWD+4]H+O(I^[879UP=YD#W@$,K2$AZ-WKPW?:
MKN%:,H!W--S#P#M^\;;U(3S7H5(8'I!P>/:6/MR\I$$;+AY]R'A#;^,%78.7
0]5:9R+L0)0_W&3V4-SG* #S7
 
end
-------------------- END of Included file -------------------------

5) mntdisk - author's address is mike@sarah.lerc.nasa.gov.
             Try any common archive site or use archie to find one, FIRST!

             this has been posted to comp.sources.misc (Volume 22, Issue 31),
             and thus should be available in most archives. Mntdisk will
             handle both Unix and DOS floppies, as well as CDs (HSFS and UFS).

6) usermount - mounttool/usermount.
               Ask your local Sun rep for a copy of "Mounttool/Usermount".
               The former is an Openlook interface to usermount. Usermount
               is a program which allows you to specify that a file system
               listed in /etc/fstab can be [un]mounted by the specified
               (or all) users without root access. It is public domain,
               and can be obtained from Sun, or if they don't help, let me
               know and I will send it to you.

               The fstab entry you will need is something like...
        
               /dev/fd0 /pcfs pcfs rw,noauto,usermount_access 0 0

               A uuencoded file is also provided:

------------------------ Start of file ---------------------------------
begin 664 usermount.tar.Z
M'YV0=>:4D=/F31TW=%X 6,BPH<.'$"-*G$BQ8D40(&3<N%$#! ",&&/0\ @2
M1 P9)$NJA(&QAD@8,&+$I&$#I T8-&A\M,BSI\^?0(,*'4JTJ-&C2),J51IP
M8,&#":44"4*D29&E6(_:M#'R(TB1*4.B]*HRXXR.(&C<L'&#AHR8+FVNM;$S
MJ]V[>//JW<NWKU^I5*TJT$&XL&'#"JI,*2*ER9,J3JBX4* @"!LV;^Z :"IG
M#@@Z;T \10A"3IF"=L*(85,&!)DT<];,<0&"\A,W8UJ+J9.&#9G/:&"#F(/&
MH&\08EJG<3.'3IC+97XO!_$BH)P7F,<\?R%F>F8WT9'G*?WF#1T%8=S\+DBF
MM5J7D^6D#P. SAR&C!9.T * @ "SZ4'0!MAI,$0)PL5U!\ !M0!!QEAT%$&
M &XPQ,I"6I2RH %BF*8>?08P!,Q")I0 8 (/ &' -%^(8< ) A!AX,0;/0
M$54L> !X=W#6$#@+<1#+@@7 (8=Y;RP$Y$+PW&C%@@3@D<8;]RV$ST(!$+#0
M!2.BB("1;Y!1QQCV = <0P(PE, B4$J(!QUFE@$G3#!@R<%".=RPH0MTI&'D
M& #4"4 +.")@XXN8':&07!B202>.0!P)P,NM&=&&'6P08=S+ 8*@Q%8<H&G
M#I("T( +J6G7YQMNN !'&&=XBB4;>.ZPYVEAC'&?H 'P@2</>YIAQQAMD!$H
MEOD!D$,/>])Q1QMR H#9Z,E-,400TRAD%_<,H211AR%95)7)9TD;EDL@> 2
M#3#))%(,-M5P@PQU=6OOO?CFJ^^^?5%K$$(O7)OM"[,U$<8:99C1VX3\:H51
M3N1^%;%8YX*DUDCJOA033#F%!$,-,L10;\,DEVSRR2CS%0 :,KR% PT*!. 9
MG3#D\ +-,-Q,<\R_$6&2"_#F(,/-,;P@PT@QS*##23K4#,*KF9H$ @PQC^%:
MA*VE]UN?;;0VAFE8_R8TT48CK3333HLQ'M1LQ%Q&S'7$7$7,9H#0&M4!G!<
M%3$G89("0QC!1!!'3-%#"T\H\(002ACN+U0NA)9K;G/,]@9ZE^FPF4 $_7N>
M H\CI'GH=$0.PN1E5!ZY @F0@ *V*8#@>N"#%QY["Z&1OKE3GIN.NNJ7*S &
M:^GIP#I!(+10M^XD[+%XXWW$7,3?)Z8(IIADWG?F0FDNM&:;9;P9YYPPV8FG
MGOX9P*>?T1X[:*'*'NK? 8F^L6@=C0[ZJ+*13EIIPIC2%*<F!!-0#4I4RB+5
MG4Z5J@A-J56OBE7Y!D4K9=DJ?2[ E:[<UZM?!6M8Q>)@LI;5K&>U;UJ<JU;
ML*6MV9#.!8!*64\LUC&RC$M<YK+AMY(&DY9H3"8PL,$,0I*T&-#%(S),HA*7
MR,0EKBP&.8A!#&H0LYG!8 8WL!G.=$8GGH' 9S$ &@C&%I.RF>1L,M"!#(;(
M-JGAS6H0DM#IU/.9-'0-!%\K0]C&.+0R'NV,2TOC&L7SM "Z#6YRHYO=IA8S
MO?$M 'Z+@0)>H +**$ %F,RD)C?)R4YZ\I.?O&191DG*4IKRE""HI I024HB
M).%:@TN"5:3 RE*JLI:XS.4H50G*7OKREYVT)!70X#5620@AGGE#W>@0',\H
MC#48"8-I0+"<8[9G:Z%!3FO ]ILPS $];K ;'L+0!CBPAC8@&*9PJ.D9-Y@G
MFAB9@X/@\"()_>9Z8Z(#")0)@BD<1 %-2,/7J)2'YIS&,W/\#0C<"8+BT($-
MR_':<]B T#OTA@T82<[IQI ;.-A3 7<(SAC0X)HTF(9,;!B/:=B M<^$AIG"
M68X97D2@5;6*,DYX @B8D(0@""$)/*5"%D!P!: R 01"F!X(@H"M(D"!"D7P
MF1"&.@7(@* )21B"%)XPA2Q, :I-F ((C/ $*53&"4-E E?%B@)72F4(5 !!
M64$PA"<X83%1J$(1(M-3)L0N"4X80A6D(!6? 7:I:"5J$+*@@*DB=JA0"((4
MA)I.)&RU"D= 0F6GIYCI/<$(E7TE" !+UL8$@0I)L.MD%)!3Q1(V")$9JEQ!
M^]A^EC6NHQ6K+*' TZC*E99'2((5]CK6N<*6L74EPO24*P7A^M8(6VU":'7K
MA-(VX;2I=<)J*:."%U!F!,L97AW: P(1O! -(J!,-<D#@AY,;0<*6*\<-.->
M&,!WO6500QG(U-[W*H ]9?B"/@'<WYALY ;P_6^!W( ":9YA#"QPL!U2$%_2
M.'@,\!VI-%.I @G#=P\**,EZ,1QBD*QW13;U3'WA6Y+FR"&?FS'#'+[@8,_$
M,0PL!HF+8=P&A)2!-"J0\8_IP *[(23!(JX;"LX@IS+PYC<HB%T(ZDOADH X
M 2BPPQO20(;8F<%(U51R<]HC!SD4603J],P8WM & M&Q#0'1IT9?'$YODN>=
M+QJ.G%KPY#OKDU5<<(,(4@!?+&N9RUX&,T+$3 <RF[F\80#!,ULSAX)*J W
MB1 [1>.Y\%B4F7JF0Y]_K!K6D,$%@1YT@A,0OC3H$P4Q('2),1*]6>^316Y0
M% K,FT+/B:#(4RNR6H_PA2!4@0J:E;6M0[HP$* !59S+Y-!XU%G7[C($C[S
M?,LP:"F[MP6QMO65Y_#ID3I[#!1.P)4QHAV!@. $<CB!\1*09&<?"01\X$-I
M-)-ON^F73.E.0$!@U9H&R^$,=M@"#+H@:WJ#Y-[NC4&A2](A/:YAXGCT9FM.
M< =YLZ[>*+AWO^>+;WWG=[]T"/C F6SM@R=\X0TO"<DCCO&,@NWB'\^XNT]0
M!H\['"-I4++(]4WR?I\<X*P3^!P(WG*$*YSA-?<WROLK\9S;W.(8MU0 Z3#O
MDJR\X!)^>LQ!4O&#%3IZ)4&[B96,XN7\I@?NO7"507+EKS?]Y5!G7:M?#6Y9
MI]W6,Y6#LW=PZS[1D0>G.SB&"^_V%:Q@[ABY<M"=C0(AD\:]W/R"C)TCAKMO
MH>WJZ<*97R"G,;Q@\ZKI-@BF# (G5($)?F7=ND$R!CAHWC,H,,&0BVSYE$=]
M\B@(P=%3;G407#D!P,\\ZCMO<*>#G@RB+R_IZ6#Z-G!^T*MWK^MA'_#CER3+
M6^ZRI!5-!T8[^LPE\,QSN#F>:D4GU=AV^><]ZO:\)^#G>#3F<NI0AD(G('KX
M!X E<6,N(&,L$FU&5CH]1@>WYP;DU'^4@7]MQRHJQFE0\043R!S.IGL(H6SX
M!WPA,%&9H3NY-V0ID&Y6EG0L4F9YMFM2<!IOD!JKT1JO$1L62!I&4""FIFI)
M5VESH&O#]@4YA5I#4 0L( +IISE-X#FE409QP'_-T81FT!2_$7@@D'Z_EG0)
M$%)O0$YI$&4L,&0NL( -^( -QVI2\FJQ%G4"N';.MF\@8 (FT%#>M( H5H((
MH6UO( (@<(+%-WL8P6IEQE 1-P-1EP K>"2"MVM!L"FG46V@<8/Z%&G<Q"HI
M)6G-YH.7UH1A\!MW( >NQFUC%X@^"(1/0&Q#F%5&6'P_AX1SH#F->&F0&!K5
M<H6>48FY-AZ3-AR6=AJ<Z(F@*"%9B'\_QX5>"(9B2(8RYH!=,XH@@(:N!FO.
MV(9 IV3#AX)TEW3#5X-K@ +)B!!EV(QL6'QE0%%O@W\@EG3 5XO>B!!C"(YT
MD <L4F3?R("O\6@9. =%=F.Q W?)$V[WYWTF1AIIL&H?Z%X#(0?NY'\M5E"F
MB(I/0(1&Z(I*R(2F\82IHT^7LC!5F&?I=X5M,(SW9XQM\(4I$(;NJ(QSP(QE
M<(8ED9"$2$T,"1*)V((B4"T\>'\EL68(L7\0>'\ :&CA%SODIV04:8N2&!ZL
M8HOPEWA.MW#TF)+@N(P/R ))]Y)2:8\F=8:E:#\H$(2I6(1'F(1(Z7YD\&LD
M:9(HJ8!3N9)F:) @Z"!Q%&#6IQH;:(+==Y4ZYI!>"981J8IC^8H@ 5',H.8
M)I=8LQQG(!J<AXG09(5(60(AR0)I"88)^(X,2)7BJ)?5Z&P'P8[U^ 7WV(_?
M!I#W5Y.+:%YN@),N"1)[YVPP<(9!"8+W)H?#00?14D[.%IKQ.(_E!0=C(&/=
MEG0"V9G0A@;LL9M9*9HF560 1IK_&'"(F) V.5+LD9/_EW1F8!IT"8XNIIBX
MQX&^5WP V =V8XZR5WS@AVCC!XJ+YFQCEI!G5@5NL ;N= ?A5(OTM%[IUY1A
M]WSVIW:T9FM[AP*QF6,804E#"!A#@ 11U5T*4&N4!$P46J$62J&7I'0$ISF$
M64W)A#_ T1IV]YUNL)A:(TZN-AN7=*$LVJ(MZEU?AP)@<@84IF&"IP(S^F&V
MMIY=]F7N67[PV6CR65X?J1B$4P2:\Y%;T )RT 4E=5*@(0=Y$&C[)'B!IJ0M
M< =.>H\H]R)3&DYY=J6>L:1EL*4FU:52"G\S6F1KVJ9'0J,(BJ)J*&L2ZJ)V
M>J>^E*&(*2%?4)=B,#H/TE+,U!I^ZIBM\6DD-:@+50::(5,TY4"LDJ%AH&4@
MJJC5,AEXFJF:FDDP&JA\ZJ>5)Q =J [QE\+.&2IU'LZ6A)& %33HP)^&J<V
M^AF/N 4R<31=(*MHL&$J, =(1G9Z,!!O@ *RR *W2@/*!G(H4*CN)1!T<*JD
ML6O35WW7=X1AH'K^N'U'!7G&QSJHZ6PBL"(_QIBIUW"F(6H*"9M^!Q*U!G)P
MR*T@5A+(IV0H,!S]M:MS8(<>%:J[)P)'HGJLQQ*Q$Z\@<7\J@ *.-P?]^&X=
M%Z?9*:_ 5Z\5B*_Z2@?\FH?^>@?86E]]:'P)8&OWQZ,I, =%2:R/&)@L@(4L
MT'LMX -DB&+ZF+$\**_F68X" ;(MAINUEP<F6TXK*ZITT+(OZU$*^ZL#^I+F
M6!LIJ*SVZEX4BQ!WV'M'.%\ R[$#"[()<+ )N[ G\ 8GX+#F";(1V[1TF*]0
MNZ]2ZZ][>(+M9;4>FW0B2[(_:@8]"P<HJ[(LZ[+@"+-3N[9G=YXW*Z\Y&RUP
MP+/%FK=#:Q_KRJZ4 7(A\+349K%I*T]<AGVV^;AU>+:2"[1'Z$Z4>Y9^*)2(
M)K=A5K=W.P>_5JPBX+E/QH. ![1"N[=$VU^R&*<BVXED *VOYJ>\![3)"A(B
M^V.YZV/1ZJ>+VX3HRF!K2!EUNJG.>Z$9JGS-H1J:8P1N%Z*2-KV=-V12*FEY
MIJB[J(FG@:G/6[[ Y%VDBIL\1KSZ5$G2RWDHX&(KNS UNJLWZF(99K^INC"K
MJF/.T2=64ZH#QKZIU 9Y<'M#%J>MR@2ONGQ&2TWTNGS]Y:RZZVR3IFT;VWJO
M%WO3R8*I*:[AM'RN6Q+,!DW/9L (?'D@,&T5'*J<Q[:LIZWPRCH@Z&+$ @?.
MAL*("X[W6&0N%CO]%@(VK)O+>L [G)ENV34^C)NAFP!EAW-_]WV'UF7"J[LN
MK!K'>ZYUD*Y%G,+CV;SF&\:AI ()4"T82'\4J#E#0$QCL ;8FQJ@:!">48OY
M2+YB?,>;A+YFG(\72WP"+!H$'&1 V[] 1QH9V%]-((1%< 5"!073HV^)G%-5
M)00/#(*0BV(6S+GE];G#F0"'S ?N%<E<505)0 1Q:LF9&[F9O'OE1;5 3'2A
M,<.>C,;A!,I7]0520 1VQ0194&@09Q)Q*J" ^S;R.G/ ;&NH;+:JW,=G)@9S
M +KI]LFA_ 5'( 504,H/K,5<G(%T.DEX_,V9E*&U=WN:LV:%*XFW^6)DLL6I
M8\?@?,?H.\XR1JQOL+)'T@84]L<5K *@461!=L^$#,&4!QJQB\0L.<&X*28X
M7'GW7-#AV)+0*</BYJW4F9H$<AEO, 8Y^9K2&,S(3*\$K;=:*7C-FM .8L$-
M+=+,*0=LFZT;+,O?NFL7G1T;G8;.MKQ1[(;/%M)DV)NM4=)RH- HS68.[=,M
MK7TO/=$=K(C@.M,97=.N=M/'*\P1R].R:Q\('=0GS=!$K=(P>]0:S'U*'=,W
M*8(:W7 <C=.,6Q)6G9D7V5_;V=7*>)%QVM9?\"J5$Y-QW08.C=<K^0;P56O>
M_,YXG*%&P)U]ZIVX"9Z:8ZE,2*)GH**$C<?HNYUET)T,"-EST(Y^K+ZF&L@)
MK $BQ&677!#YM!?':>EK9Q!J])&K=K<R=H./9JP?=FRK=*:V9*!/=B3'<89
MNHVPL0::,WS8RY*_P8WNW-O/B[[ '1LHT!YV(% M*3SZJP+0+=T!O5[3*VJ^
MBLRD 0=<=LH$J:L;QB.OPDQ;X!(RD*N-J],RRF5P_2)N'&70&9M*[6Q3/+)%
MZ6SF'2%H<&:1A6P]4!US<!VEIP,JN\)-Y@9VL&L!C@3=-G' !P?X\V-VP-^,
M>MYH$+K=BG]/4]'@JAUNX$[ZY*R#>5H0[HQR*M43!X#!BP?[A5'2:AW<L1RD
M]V]T\&M\.'R_YAIE$-VY463'R:NQ<Z 4[<'@&C[[!=5SZM$D'!PFC )IT%]W
M4""O9@+;'1 P7)JR#'Q3SGK@W67JF=\^&F9!>GXB$.97^!NLI\W@<4_P70)D
MT)1A7F1IT'# 5U1&4 18D 10Y3/Q^[]:GFZ *- H< 5\[N=?=5J*$:01HN5M
M.S78&'D]R)>+^96G*(1_*99$*I@?.7S1X0)H61S'>)(^#N2Z39[DB)[H6.D_
M:#_.YI<2B7Z>[AG#]T"2IH.A/NI=6)*6>=VY,8U)5WQ/?':V%CU@K-S/FZ%I
MB4YNCKV<$4X';6>1!MG)K>R:&L_579D4-MKI#&-^?0>_@:-W$*?;+5!X5-V<
M(=[Z]&0)]M%OR!F1KJU]J-01"P?TI>!T@.]]A@)])FURTN\G&-%)K6[%UY67
M+NN 65Y)@! O1F:GPQIRT.YQ?I9%]F3.F-8-!X#R[E[XWK+X_@4LZ>0@04GZ
MCN^H>JYTIGY/LV4^)GB16.W_B^YS\%+--!S%D2F_H5%OL :T :$R%_!<_/$^
M$/(LV<T!,#V2A*J"'-K>OL"O&JNV-JNR:*LP@*OD?;\/+ ;!>B2F>ZR_:YS+
MVIC-*B<M+ +3^@)^JN/7"M;T#M,@OFL@3*YBD)//;J!3W=[&^:X3#;'T2K:7
MC+:<J[95.S4=Z^T&B[ KH+#]Q7%?"[+"/*^4!_BI'+6#/U^DLT(#XT*]!CDB
MTT0204,3<T,VE$.C-"^#E#'LLC$PL!%$M$8B@T2@/_NT7_NVOQ1/E ,V $55
M-#5P<0-<!!/!CS<]\S-!TT=%\T=)$T@Z, ,UT4;P\D97(T<GRC5> S;VQ$=D
MH_QHU/PUH3:%E"F'% !Q$P!S$P!U<S>-%#./%$D*X +(!@*=U1B/$1DF<50B
MH!%+!688!44Y0#6BKC8$P/?'A[ =*"& J427*$!=4DD"X"I9@*X$E@0!6<(8
M%B!(:( %T )JP%." 3F, 0PF S $\J%A4DS85S)9)C=O%R4>Y4"\KHE+R2C;
M1(]TDV\2 -.#."$GYJ0,H),T W3:R3LY'?%DGM23\(!/^ L_\2=N $&E($B
MOMH 0CE1"R4T.!2( AXRSF6H*!<%!FZ4CO)1 B"S,3=<"J6HE'(DJ&Q>3'$#
M@:>F/)#)( );CT[A*3X%J/BYH5)48 ]242I,I0@]%=_B6*J*$[@J666K=)6O
M4@3"2G$Q*P'PN.R4M>)LW$H1@"N_A:[8%;RB5_A*$/ KHR6P#);"D@EKRQ58
M+ C0L2C"R#)9A@JRN2R99;/(O\4P6Z9+)K0NV$6U($ $V%H^X6N)+1CALV $
M13@%;@M&$"V[I;?XC+D27(;+'RPMCP4!)I?EPAB<B\^ +D] NB ;8%A=RLIU
M02VRL V^ORF@69Q $! ,5:#SD08NT +0V9II,R?*"G$&%>4"N&$_R0(Y!0I,
M@5?R_H3 [N@<4$$!;(%Z" +(H1Q0 %U '_)#<G@' *) = 'VD!R^C8#8#C6+
M<KD6S>6I9!=^& YY1SZT*)<!G44:;@0"$!7V\B;RI)S8%&JB3_ 5$)PT37"?
MA).H=J),HF.#"HPG4KD OT$Z: Q'21W?9#JXFA/@3+17 I)2DR$)H$!*TXO:
M0'SQ@?J$SK@!Q:1GQ@ [2R@A:IH(!W?R_OQ&VB,(9, F4HYOLHNT1E7$"#7Q
M=^1$I!AJ7J"BTG#[I&Y$FM0 4:K0PE @VHEZA,1ITU*PT$@).DA#[ *'3A:
MAB(O,BB81C@H1:8H$)SB-)D<+^(UE"B7P@]A0V%D9RA@!E"8[T5,#)4 M(JE
MYP5@1:V($Q4 96P-N\@TF(&!\&-RP\X;#U\Q+-[$RJ$ 6DUS\ QQD21F'#"5
MB[2) J SA(294(E#51Q6X$)Y0-(AG"@J0\4&[:$3D!-GX$@XB&]"%S4*R=HO
M02<-A(?IH*C$HJ$"'7. *7[%%0 $DJ-!@ .8H^;=0S5C S5*^! O+C @,$4^
MPSFF'1T!#W3 .RY'<8(>PX-Z+%%?L05T1^6(P]@@$X ""J (V(&!D =@RF(4
M#HJ"R?R&Z!8&^"'"BXP41M. F1?A:E C0EPJQP8):#J)! )62T.4*Q)Q$KX_
M*@ @+Z0_!"A,2%%Q1&ZB$E,*&R21 S%+H4B8J"*#VR_JB,&(+_) X: B 4BF
M*!TCLD0FQ!;P-HH CL->R&T;:A8^=UUX2Q%0 $B -&X:&Q@^<" T27L2;-(8
M#Q?P']^?%)@"[\\,Z!,A,$F@&\$@ S @TE"'4D(#7 !*(#GP0I*X@ Y1)G_<
MF8P!BXDZ6(>RT";?I&: %S+@_=')%V FGQD,J!O4 8[Q23>Y;U@ ZX)O\&(&
M",I_2"CMI*',DP3N.JP!.X!IT@*CA)-I85+623MP>M!DR0-.,D8EH,I;= <<
M91?"'_5,-6[% 9<95R5GK!RN\G,9/@ X*,VD&4"35H,ZF ', ?.V</XE*W2
MG6"*?B8K<6*N[#,L@5=2RD(I!](%=4 #<R!5E@1LF2J/Q+/D,BR@6>)*90DK
M=V68U">(4"J\OR[) S$B1A%!FD$WNIL?1R#%0)@8#Y&H6GS%TT,L"Q<X(0/[
MDEOFQ*$H%7W@OLR,FU$L*H!)@TZ$XF6D#@BS6-S*;^(:L5ILM$3XLCBX&Q:Q
M(J")<:,F<M$WPLOPD"^94)XA;HI* 7"CV8 1]N6J%!XV$&/61;.4&S6FB.(<
MG@&B&)3@>#"ISPNPE=9QNWQ(J <F70 4\!D D$1F! !H#Z^BQ%28.O//+ ^<
M"17AHWR$ YZ!"\U&= :^^F4>>)%"$F+ZS.6C *)F6I1$I08T9J*BJ**49'E9
M#-/C$O;"]%(/:0EQDT96"2'2$L>X7YXBA,R;0F!OCCCDN(@D(^"D)0C/V1C.
MNKFHXB-_=#8UX"0Q3CF@,;$:"HB<AS-[M3%G@P,HC-Y$9RB@<V9.'I$J0V<*
M\)#N4 A@%C"I )) B<MYQV&D[!<WYMC("S]15/)!,P"[U/$"C02]_&YEH&."
MQGM6&Y(#4TR;O3,]H#M%E1+!WR=R-4PQ$N'.,* [?YQT"XKZA R\ =Y)XM+=
M[,PT^@1\K4W N&D619C0)H&'4'D.INAJ4*=#?"5#();,$LI O./"3R;,,69
M-!O?6$V$%\G,)G-&!IZ.;T(EQTDY.2<8@0=NFNX)!(>#$)QX1/!(8 ^IV4_^
MR1(\$DWP"=*1*-A0S ,5E"A7$".X2RV(.CQ*= I(H6DA,&',@99BAR1GC?/
M41$$2'53SB5282UOL*?\E*!"!XW*'=R%364/2A6J8E6PBE;A*EX%K(B5TG)6
MT@HC;"M)X*W$E;E25^Y*$<@K>P6U7,*_H@D)BV\Y+(KP$S(649A82"%E.86/
M(14B&\[""G7A-*0NL! ;:A><HE-LH12 +92E%=:67CA9?J%N:0*\)0GX%F+H
M7(ZA<4$K@.,)*)<OT@R'RS.,+JZ0M%C#6#A'"Q"ZM"1)[V^DT">%<B[12BF#
MP.$,ID$:R@;Y$"W,H7&0AQ(5'YI4@*@>_'-(A8C^02,J")-H(5RB904!*D*U
M,@78BB.$A%1T$E[12JA%,2%@$2Q>U+#\P3 *"@,@&84LDN6,6I8TJEG6Z"KT
M+*#EC;["22I'2ZD Y$.U4++<45RH1WFA+\PMHP60"L-(6 R)"S(\+LI0D3+#
MYN)(QPHDU::2U+1TTUD8 MVA-P2'XE"?D$-SR&;<3$<2/'4@\PF,%N("SLOM
M:PBB#X>,/M-7%F2 #:@!0T3UM8N88%&)R R8(B/CH8K4D4I21>K*. LW0";T
M/CI! [0(S1A^7@2,B!$RDOS,!O.K 3D@_/4_1A( X$A+J7YVY/KID>Q'4\W(
M\F,:.)60L(WQ5_[.7_KCJ8ZD;_P-2F))/J G$24;,*N6A5L" >&G_*R &I"K
M:M6QFDI6E%7=),*D,O*D8X+5;F<*W)_2A 5:D_^I!5FD-P$G-_" \L5T<O,6
MZ ]4D_*D6 [!>R)!8<P1M* "!8.RS6BR01G*%(PH5I"BB- L6!=+Z$?Y@BKT
M3(G!)N1"6P,,%:6/RJ:LEM8"!W?H'%RE=K"5+I4@"DO[8!$-A$B4$!I")KI+
MG^@OG:*TI(I2PBS:5[@H,N6$8#2QB-'&,E1&830UA=,4LU13!W5-6R$^K8;Z
M-+N,UCHJ3O&H;-&%>_2< D-U*DB'(7 II(<P&2Y#1DI/G\L]10+4,(Y*5TL"
M!:A$]CML4RX(&(F,< -,P@UH?CF@:< +(?!53$(.^'^7!'V!%]S !L9+:^ !
M8V9*N TX ,4P("MCR" !^BN!=M@'VR!)2\\ -^=&@;K8,/+A3VP"(_"=E@"
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
M*IIG!L^@N3LCKRU6@HEQ=@I QE@UXV5C@G_U<@N8P];Y RD9%>!X\K(_.@%
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
LR'<>3=/&]RPM!<O80K:5=VG+U9:J96V(#]>VM30^#0OD([9);?<*U<;,9"RN
 
end
--------------------------------------------------------------------------

7) pcfd - pcfd is a public domain code to allow non-root users to mount
          dos diskettes... with no complete security guarantees though.

          Please contact the following if you want a copy of the code:

                 Upkar Singh Kohli <upkar@wsu-eng.eng.wayne.edu>

8) Own written C programs or shell scripts:

i. author: David Mitchell, Systems Administrator,
             (email: D.Mitchell@dcs.shef.ac.uk)
             I've written a little c utility that can spot a a unix/dos
             floppy, mount it, start a new shell, then automatically
             unmount & eject it when the user exits from the shell. I
             can email it to you if you want.

ii. author: Peter Farmer (doss@cs.anu.edu.au)

             Here are the scripts: 1. mountfloppy
                                   2. newfloppy
                                   3. ejectfloppy

             Of course the standard caveats go with these scripts,
             especially concerning security.

-----------------------------------------------------------------------
1. mount a floppy
-----------------------------------------------------------------------
#! /bin/sh
#
# This script mounts the floppy disk in /dev/fd0.
# Must be setuid root.
#
# usage: mountfloppy [-h -d]
#
# Note: set tabstop=4

# Make sure a suitable PATH is exported or commands
# may not find what they need.
PATH=/bin:/usr/bin:/usr/etc:/local/bin; export PATH

MOUNT=/usr/etc/mount
MOUNTPOINT=/floppy # unix format
FILESYSTEM=unix

usage() {
    echo "`basename $0` mounts the floppy disk currently in the floppy disk drive."
    echo " "
    echo "Usage: `basename $0` [-h -d]"
    echo " "
    echo "Options:"
    echo " -h display this help message."
    echo " -d mount an MSDOS formatted floppy."
}

# Parse the argument list - there should be none!

while [ $# -gt 0 ]
do
    case $1 in

    -h) # help
        usage
        exit 0
        ;;

    -d) # MS DOS file system
        MOUNTPOINT=/pcfs
        FILESYSTEM=MSDOS
        ;;
        
    *) # unknown option
        echo "Unknown option: $1"
        echo " "
        usage
        exit 1

    esac

    # parse next word in arg list
    shift
done

echo "Mounting $FILESYSTEM floppy disk as $MOUNTPOINT ..."
$MOUNT $MOUNTPOINT
if [ $? -ge 1 ]
then
        echo "sorry - mount failed."
        echo
        exit 2
fi
echo "mounted."
echo
exit 0

---------------------------------------------------------------------
2. format a floppy
---------------------------------------------------------------------

#! /bin/sh
#
# This script formats a floppy disk in /dev/fd0 and creates a new unix file
# system on it. It will also mount the floppy and change the ownership to that
# of $USER.
# Must be setuid root.
#
# usage: newfloppy [-l] [-h] [-d] [-s]
#
# Note: set tabstop=4

# Make sure a suitable PATH is exported or commands
# may not find what they need.
PATH=/bin:/usr/bin:/usr/ucb:/usr/etc:/local/bin; export PATH

FDFORMAT=/bin/fdformat
DENSITY=
FILESYSTEM=unix
DEVICE=/dev/rfd0c
NEWFS=/usr/etc/newfs
MOUNT=/local/bin/mountfloppy
CHOWN=/usr/etc/chown
CHMOD=/bin/chmod
BLKSIZE=

usage() {
    echo "`basename $0` formats and mounts the floppy disk currently in the floppy disk"
    echo "drive."
    echo " "
    echo "Usage: `basename $0` [-l] [-h] [-d] [-s]"
    echo " "
    echo "Options:"
    echo " -l format a double sided, double density (720k) disk. By default a double"
    echo " sided, high density (1.44Mb) disk is assumed to be in the drive."
    echo " -d format the disk with an MSDOS filesystem."
    echo " -s format the disk with blocksize=4096 and fragsize=512 bytes."
    echo " -h display this help message."
    echo " "
    echo "Note: attempting to format a 720k disk as 1.44Mb or vice versa will result"
    echo " in errors because of the differing characteristics of disk media."
}

error() {
    echo
    case $1 in

        1) #bad option
            ;;
        2) #format failed
            echo "Sorry - Format failed."
            ;;
        4) #newfs failed
            echo "Sorry - newfs failed."
            ;;
        *) #unknown error
            echo "Aborting."
            ;;

    esac
    echo
    exit $1
}

# Parse the argument list

while [ $# -gt 0 ]
do
    case $1 in

    -l) # low density floppy
        DENSITY=-l
        ;;

    -d) # MSDOS filesystem
        FILESYSTEM=MSDOS
        ;;

    -h) # help
        usage
        exit 0
        ;;

    -s) # small block size
        BLKSIZE="-b 4096 -f 512"
        ;;

    *) # unknown option
        echo "Unknown option: $1"
        echo " "
        usage
        error 1

    esac

    # parse next word in arg list
    shift
done

echo -n "Formatting "
if [ $DENSITY ]
then
  echo -n "720kb "
else
  echo -n "1.44Mb "
fi
echo "floppy in drive $DEVICE with $FILESYSTEM filesystem."

if [ "$FILESYSTEM" = "unix" ]
then
    $FDFORMAT $DENSITY $DEVICE
    if [ $? -eq 0 ]
    then
        $NEWFS $BLKSIZE $DEVICE
        if [ $? -eq 0 ]
        then
                $MOUNT
                if [ $? -eq 0 ]
                then
                            groups=`groups`
                            groupi=`expr index "$groups" ' '`
                            groupi=`expr $groupi - 1`
                            group=`expr substr "$groups" 1 $groupi`
                            $CHOWN -R $USER.$group /floppy
                            $CHMOD go+w /floppy
                            $CHMOD g+s /floppy
                else
                            error 3
                fi
        else
                error 4
        fi
    else
        error 2
    fi

elif [ "$FILESYSTEM" = "MSDOS" ]
then
    $FDFORMAT $DENSITY -d $DEVICE
    if [ $? -eq 0 ]
    then
        $MOUNT -d
        if [ $? -gt 0 ]
        then
            error 3
        fi
    else
        error 2
    fi
fi

-----------------------------------------------------------------------
3.Unmount & eject a floppy
-----------------------------------------------------------------------
#! /bin/sh
#
# This script umounts and ejects the floppy disk in the floppy disk drive.
# Must be setuid root.
#
# usage: ejectfloppy [-h]
#
# drew 17/06/91 original coding
# doss 12/11/91 added path specification
#
# Note: set tabstop=4

# Make sure a suitable PATH is exported or commands
# may not find what they need.
PATH=/bin:/usr/bin:/usr/etc:/local/bin; export PATH

EJECT=/usr/bin/eject

usage() {
    echo "`basename $0` umounts and ejects any floppy disk currently in the floppy disk "
    echo "drive."
    echo " "
    echo "Usage: `basename $0` [-h]"
    echo " "
    echo "Options:"
    echo " -h display this help message."
}

# Parse the argument list - there should be none!

while [ $# -gt 0 ]
do
    case $1 in

    -h) # help
        usage
        exit 0
        ;;

    *) # unknown option
        echo "Unknown option: $1"
        echo " "
        usage
        exit 1

    esac

    # parse next word in arg list
    shift
done

# eject searches for a mounted filesystem & attempts to unmount it
$EJECT

---------------------------------------------------------------------------

iii. author: Martin Kelly (eeimkey@eeiua.ericsson.se)

             You can use pcfs to mount DOS-format FDD's. Make a copy of
             the mount command with the set-uid bit set so that users do
             not require super-user access. Then bundle the whole lot into
             a script.
             
             eg:
             
             # load_fd: allows users to read /pcfs
             #
             /usr/etc/setuid_mount -t pcfs /dev/fd0 /pcfs
             
             # eject_fd: allows users to eject a fd
             #
             /usr/etc/setuid_umount /pcfs
             eject /dev/fd0

             The "mount" files setuid bit must be set:
             ls -l /usr/etc/setuid*
             -rwsr-xr-x 1 root staff 163840 Dec 17 1990 /usr/etc/setuid_mount
             -rwsr-xr-x 1 root staff 16384 Dec 17 1990 /usr/etc/setuid_umount

             I think SunOS should have a feature to allow ordinary users to
             read and write 3.5 inch DOS diskettes without using the mount command.

iv. author: James Ashton (jaa101@gorton.anu.edu.au)

             Below is my solution for this problem. I hope it's not too rough
             around the edges or unsecure but I've been reasonably careful. Check
             out the Makefile and when you're happy `make' and `make install'.
             Sorry there's no manual entry so far. There are two commands: `mpcfs'
             and `umpcfs' both of which take a directory name as an argument. You
             must have write permissions on the directory to mount on it.
             
             As far as the user is concerned:
                     1: insert DOS floppy
                     2: mkdir pcfs
                     3: mpcfs pcfs
                     4: mess with those horrendous DOS files - watch out for those ^Ms.
                     5: umpcfs pcfs
                     6: the disk is now ejected automagically
             Enjoy.

------------------------------------------------------------------------------------
# This is a shell archive. Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by gorton! on Thu May 28 12:38:52 EST 1992
# Contents: Makefile error.c mpcfs.c mpcfs.h
 
echo x - Makefile
sed 's/^@//' > "Makefile" <<'@//E*O*F Makefile//'
#
# mpcfs/umpcfs - mount/unmount a DOS filesystem
# Copyright James Ashton
# Written 92/5/15
#
NAME = mpcfs
DEST = /usr/local/bin
OBJECTS = $(NAME).o error.o
SOURCES = $(NAME).c error.c
CFLAGS = -O
$(NAME) : $(OBJECTS)
        cc $(CFLAGS) -o $(NAME) $(OBJECTS)
%.o : %.c $(NAME).h
        cc $(CFLAGS) -c $<

check :
        lint $(SOURCES)

clean :
        rm -f *.o a.out core

clobber :
        rm -f *.o a.out core $(NAME)

install : $(NAME)
        mv $(NAME) $(DEST)/$(NAME)
        ln $(DEST)/$(NAME) $(DEST)/u($NAME)
@//E*O*F Makefile//
chmod u=rw,g=r,o=r Makefile
 
echo x - error.c
sed 's/^@//' > "error.c" <<'@//E*O*F error.c//'
/*
 * mpcfs/umpcfs - mount/unmount a DOS filesystem
 * Copyright James Ashton
 * Written 92/5/15
 */

#include "mpcfs.h"
#include <varargs.h>

/*VARARGS0*/
void error(va_alist)
va_dcl
  {va_list args;
   char *fmt;

   va_start(args);
   (void)fprintf(stderr, "%s: ", cmdname);
   fmt = va_arg(args, char *);
   vfprintf(stderr, fmt, args);
   va_end(args);
   (void)fprintf(stderr, "\n");
   exit(1);}
@//E*O*F error.c//
chmod u=rw,g=r,o=r error.c
 
echo x - mpcfs.c
sed 's/^@//' > "mpcfs.c" <<'@//E*O*F mpcfs.c//'
/*
 * mpcfs/umpcfs - mount/unmount a DOS filesystem
 * Copyright James Ashton
 * Written 92/5/15
 */

#define MAIN

#include "mpcfs.h"

main(argc, argv)
int argc;
char *argv[];
{
        cmdname = *argv;
        while (**argv)
                if (*((*argv)++) == '/')
                        cmdname = *argv;
        if (geteuid() != 0)
                error("root permissions required");
        uid = getuid();
        gid = getgid();
        if (argc > 2)
                error("usage: %s [mountpoint]", cmdname);
        if (argc > 1)
                mountp = argv[1];
        if (stat(mountp, &sbuf) == -1)
                error("stat: %s", ERR);
        if (!(uid == 0 || (S_IWOTH & sbuf.st_mode) ||
            gid == sbuf.st_gid && (S_IWGRP & sbuf.st_mode) ||
            uid == sbuf.st_uid && (S_IWUSR & sbuf.st_mode)))
                error("%s: %s", mountp, sys_errlist[EACCES]);
        if (*cmdname != 'u')
        {
                if (mount("pcfs", mountp, M_NEWTYPE, &mbuf) == -1)
                        error("mount: %s", ERR);
        }
        else
        {
                if (unmount(mountp) == -1)
                        error("unmount: %s", ERR);
                if ((fd = open(RAW_DEVICE, O_RDWR)) == -1)
                        error("open: %s: %s", RAW_DEVICE, ERR);
                if (ioctl(fd, FDKEJECT, (char *)0) == -1)
                        error("ioctl: %s: %s", RAW_DEVICE, ERR);
        }
        exit(0);
}
@//E*O*F mpcfs.c//
chmod u=rw,g=,o= mpcfs.c
 
echo x - mpcfs.h
sed 's/^@//' > "mpcfs.h" <<'@//E*O*F mpcfs.h//'
/*
 * mpcfs/umpcfs - mount/unmount a DOS filesystem
 * Copyright James Ashton
 * Written 92/5/15
 */

#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sun/dkio.h>
#include <errno.h>
#define PCFS
#include <sys/mount.h>

#ifdef MAIN
#define EXTERN
#define INIT(x) = x
#else
#define EXTERN extern
#define INIT(x)
#endif

#define ERR ((errno < sys_nerr) ? sys_errlist[errno] : "")

#define ERROR error("%s: %d: Internal Error", __FILE__, __LINE__)

#define DEF_MOUNTP "/pcfs"
#define DEVICE "/dev/fd0"
#define RAW_DEVICE "/dev/rfd0"

EXTERN char *cmdname;
EXTERN char *mountp INIT(DEF_MOUNTP);
EXTERN struct pc_args mbuf
#ifdef MAIN
= { DEVICE }
#endif
;
EXTERN struct stat sbuf;
EXTERN int uid, gid;
EXTERN int fd;
extern int errno, sys_nerr;
extern char *sys_errlist[];
@//E*O*F mpcfs.h//
chmod u=rw,g=r,o=r mpcfs.h
 
exit 0

-------------------------------------------------------------------------------

v. author: Oran Davis (oran@spg.amdahl.com)

             See below for C program code:

------ Makefile --------
CFLAGS = -Bstatic
CC = cc
all: dosfd ejectfd

ejectfd: ejectfd.o
        cc -o ejectfd ejectfd.o
dosfd: dosfd.o
        cc -o dosfd dosfd.o
------ dosfd.c ---------
/* Aug-23-1991 Oran Davis
                William LeFebvre
                Computing Facilities Manager and Analyst
                Department of Electrical Engineering and Computer Science
                Northwestern University
                <phil@eecs.nwu.edu>
*/
main()

{
    execl("/usr/etc/mount", "mount", "/pcfs", 0);
    perror("mount");
    exit(1);
}
---------- ejectfd.c ----------
/* Aug-23-1991 Oran Davis
                William LeFebvre
                Computing Facilities Manager and Analyst
                Department of Electrical Engineering and Computer Science
                Northwestern University
                <phil@eecs.nwu.edu>
*/
main()

{
    register int cnt;
    int out[2];
    char buff[1024];

    /* create a pipe to capture the output from umount */
    /* to the authors of umount: thanks SO much for always exiting with
       a 0 status! :-( */
    pipe(out);

    /* fire off child to do the unmount */
    if (fork() == 0)
    {
        /* child */
        /* redirect output and error to pipe */
        dup2(out[1], 1);
        dup2(out[1], 2);
        close(out[0]);
        close(out[1]);
        execl("/usr/etc/umount", "umount", "/pcfs", 0);
        _exit(100);
    }

    close(out[1]);

    wait(0);

    /* is there anything waiting in the pipe? */
    if ((cnt = read(out[0], buff, sizeof(buff))) > 0)
    {
        /* yes: echo it and assume it was an error */
        write(2, buff, cnt);
        /* write helpful explanatory message here */
        exit(1);
    }
    else
    {
        /* no -- eject it */
        execl("/usr/bin/eject", "eject", "fd", 0);
    }
    /*NOTREACHED*/
}

--------------------------------------------------------------------------------

vi. author: Phil Blanchfield (phil@dgbt.doc.ca)

             Shell file for 'fdmount' and 'fdeject' follows:

#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of shell archive."
# Contents: README fdmount.1 fdeject.1 fdmount.c fdeject.c Makefile
# Wrapped by phil@dgbt.doc.ca on Thu May 28 11:04:22 1992
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'README' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(1984 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X
X Fdmount and Fdeject commands by P. Blanchfield C.R.C. July 1991
X
X These two programs allow a normal (non root) user to safely
X mount a DOS floppy in a SUN (SUN-OS 4.1.x) workstation.
X
X To install:
X
X As root (super user) perform the following:
X
X 1. Make sure that the following line is in the file "/etc/fstab"
X if not put it in:
X
X /dev/fd0 /pcfs pcfs rw,noauto 0 0
X
X 2. Check over the makefile to see what it will do.
X
X 3. Type "make install"
X
X 4. The commands will be available the next time that the user
X logs in.
X
X Notes:
X
X 1. The floppy must be writeable to mount it (ie write protect tab in
X the write enable position)
X
X 2. Whenever you mount (fdmount) or eject (fdeject) a floppy you must
X not be in the directory "/pcfs". If any process has a file open in
X /pcfs you will get "Device busy" when you try to mount or
X eject.
X
X 3. DOS ASCII files must be converted (carriage returns are removed)
X before they can be used by a UNIX system. Likewise UNIX ASCII
X files must be converted (carriage returns are inserted) before
X they will print properly on a DOS system. There are two utilities
X on SUN-OS to do this coversion. They are "unix2dos" and "dos2unix"
X see the manual pages for details. Binary files need no conversion.
X
X Examples:
X
X 1. Copy a UNIX binary file to a DOS floppy
X
X % fdmount
X % cp file.dat /pcfs
X % fdeject
X
X 2. Copy a DOS ASCII file to the current UNIX directory
X
X % fdmount
X % dos2unix /pcfs/file.asc ./file.asc
X % fdeject
X
X 3. Copy a UNIX ASCII file to a DOS floppy
X
X % fdmount
X % unix2dos file.asc /pcfs/file.asc
X % fdeject
X
X 4. Format a DOS floppy (1.44MB) and then copy a UNIX binary file
X to it
X
X % fdformat -d
X Press return to start formatting floppy.
X ..............................................................
X % fdmount
X % cp file.dat /pcfs
X % ls -l /pcfs
X total 1
X -rwxrwxrwx 1 phil 23 Aug 12 12:01 file.dat*
X % fdeject
X
X
X
END_OF_FILE
if test 1984 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'fdmount.1' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'fdmount.1'\"
else
echo shar: Extracting \"'fdmount.1'\" \(2023 characters\)
sed "s/^X//" >'fdmount.1' <<'END_OF_FILE'
X.TH FDMOUNT 1L "PFB 1991"
X.SH NAME
Xfdmount \- mount an MS-DOS floppy in the directory /pcfs
X.SH SYNOPSIS
X.B fdmount
X.SH DESCRIPTION
X.LP
X.B fdmount
Xallows an ordinary (non root) user to mount the
Xdevice /dev/fd0 in the directory /pcfs.
XThe floppy must be an MS-DOS formatted floppy. See "man fdformat" for
Xinformation on formatting floppy disks.
X.LP
XIn order for fdmount to work the line:
X.LP
X.IP
X.B "/dev/fd0 /pcfs pcfs rw,noauto 0 0"
X.LP
Xmust be in /etc/fstab.
X.LP
XThe normal sequence of commands for formatting, mounting and ejecting an
XMS-DOS floppy on a SUN is as follows:
X.LP
X.sp .5
X.RS
X.PD 0
X.TP 3
X.B "example% fdformat -d # format add -L for low density"
X.TP 3
X.B "example% fdmount # mount in /pcfs"
X.TP 3
X.B "example% cd /pcfs"
X.TP 3
X.B "example% ls # use any utility"
X.TP 3
X.B "example% cd / # get out before ejecting"
X.TP 3
X.B "example% fdeject"
X.PD
X.LP
X.SH NOTES
XSince the diskette is mounted read-write it must be write enabled or else
Xthe following error message will result:
X.LP
X.IP
X.B "mount_pcfs: /dev/fd0 on /pcfs type pcfs: I/O error"
X.LP
XBefore you can unmount and eject a mounted diskette
Xall open files must be closed. This means that you have to
X.B cd
Xto somewhere
X.B off
Xthe floppy (ie. your current directory can't be anywhere under /pcfs)
Xbefore the fdeject will work. If there are any open files on the diskette
Xwhenever you try to
X.B fdeject
Xyou will get:
X.LP
X.IP
X.B "fdeject: Eject of floppy failed: Device busy"
X.LP
XUNIX and DOS store ASCII text files in a slightly different manner.
XDOS uses <CR><LF> for a line terminator and UNIX just
Xuses <LF>. There are 2 utilities to convert from one format to the other,
Xunix2dos(1) and dos2unix(1). Note these utilities only need to be used on
XASCII text files, binary files are compatible.
X.LP
X.B fdmount
Xand
X.B fdeject
Xmust both be installed setuid root.
X.PD
X.RE
X.LP
X.SH "SEE ALSO"
X.BR fdformat (1),
X.BR fdeject (1),
X.BR pcfs (4S),
X.BR mount (8),
X.BR unix2dos (1),
X.BR dos2unix (1)
X.LP
X.SH AUTHOUR
XP. Blanchfield C.R.C.
END_OF_FILE
if test 2023 -ne `wc -c <'fdmount.1'`; then
    echo shar: \"'fdmount.1'\" unpacked with wrong size!
fi
# end of 'fdmount.1'
fi
if test -f 'fdeject.1' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'fdeject.1'\"
else
echo shar: Extracting \"'fdeject.1'\" \(1999 characters\)
sed "s/^X//" >'fdeject.1' <<'END_OF_FILE'
X.TH FDEJECT 1L "PFB 1991"
X.SH NAME
Xfdeject \- unmount and eject a diskette in the floppy drive
X.SH SYNOPSIS
X.B fdeject
X.SH DESCRIPTION
X.LP
X.B fdeject
Xallows an ordinary (non root) user to unmount
Xand eject the diskette from the device
X/dev/fd0. If for some reason the filesystem cannot be unmounted the diskette
Xwill not be ejected. If however the diskette has not been mounted
X.B fdeject
Xwill eject it without attempting to unmount.
X.LP
X.LP
XThe normal sequence of commands for formatting, mounting and ejecting an
XMS-DOS floppy on a SUN is as follows:
X.LP
X.sp .5
X.RS
X.PD 0
X.TP 3
X.B "example% fdformat -d # format add -L for low density"
X.TP 3
X.B "example% fdmount # mount in /pcfs"
X.TP 3
X.B "example% cd /pcfs"
X.TP 3
X.B "example% ls # use any utility"
X.TP 3
X.B "example% cd / # get out before ejecting"
X.TP 3
X.B "example% fdeject"
X.PD
X.LP
X.SH NOTES
XSince the diskette is mounted read-write it must be write enabled or else
Xthe following error message will result:
X.LP
X.IP
X.B "mount_pcfs: /dev/fd0 on /pcfs type pcfs: I/O error"
X.LP
XBefore you can unmount and eject a mounted diskette
Xall open files must be closed. This means that you have to
X.B cd
Xto somewhere
X.B off
Xthe floppy (ie. your current directory can't be anywhere under /pcfs)
Xbefore the fdeject will work. If there are any open files on the diskette
Xwhenever you try to
X.B fdeject
Xyou will get:
X.LP
X.IP
X.B "fdeject: Eject of floppy failed: Device busy"
X.LP
XUNIX and DOS store ASCII text files in a slightly different manner.
XDOS uses <CR><LF> for a line terminator and UNIX just
Xuses <LF>. There are 2 utilities to convert from one format to the other,
Xunix2dos(1) and dos2unix(1). Note these utilities only need to be used on
XASCII text files, binary files are compatible.
X.LP
X.B fdmount
Xand
X.B fdeject
Xmust both be installed setuid root.
X.PD
X.RE
X.LP
X.SH "SEE ALSO"
X.BR fdformat (1),
X.BR fdmount (1),
X.BR pcfs (4S),
X.BR mount (8),
X.BR unix2dos (1),
X.BR dos2unix (1)
X.LP
X.SH AUTHOUR
XP. Blanchfield C.R.C.
END_OF_FILE
if test 1999 -ne `wc -c <'fdeject.1'`; then
    echo shar: \"'fdeject.1'\" unpacked with wrong size!
fi
# end of 'fdeject.1'
fi
if test -f 'fdmount.c' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'fdmount.c'\"
else
echo shar: Extracting \"'fdmount.c'\" \(61 characters\)
sed "s/^X//" >'fdmount.c' <<'END_OF_FILE'
Xmain(){execl("/usr/etc/mount","fdmount","/pcfs",(char *)0);}
END_OF_FILE
if test 61 -ne `wc -c <'fdmount.c'`; then
    echo shar: \"'fdmount.c'\" unpacked with wrong size!
fi
# end of 'fdmount.c'
fi
if test -f 'fdeject.c' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'fdeject.c'\"
else
echo shar: Extracting \"'fdeject.c'\" \(58 characters\)
sed "s/^X//" >'fdeject.c' <<'END_OF_FILE'
Xmain(){execl("/bin/eject","fdeject","floppy",(char *)0);}
END_OF_FILE
if test 58 -ne `wc -c <'fdeject.c'`; then
    echo shar: \"'fdeject.c'\" unpacked with wrong size!
fi
# end of 'fdeject.c'
fi
if test -f 'Makefile' -a "${1}" != "-c" ; then
  echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(932 characters\)
sed "s/^X//" >'Makefile' <<'END_OF_FILE'
X#
XCFLAGS= -O
X
X# C compiler to use.
X# SUN cc by default, for gcc (GNU C) uncomment the next line
X#CC=gcc
X
X# linker flags (options to be used by the linker)
X
XLDFLAGS=
X
X# Where to install the binaries
XBINDIR = /usr/local/bin
X
X# Where to install the manual pages.
XMANDIR = /usr/local/man/man1
X
Xall: fdmount fdeject
X
Xfdmount: fdmount.o
X $(CC) fdmount.o -o fdmount
X
Xfdeject: fdeject.o
X $(CC) fdeject.o -o fdeject
X
Xinstall: fdmount fdeject install-fdeject install-fdmount
X
Xinstall-fdeject:
X install -m 4755 fdeject $(BINDIR)
X -cp fdeject.1 $(MANDIR)
X
Xinstall-fdmount:
X install -m 4755 fdmount $(BINDIR)
X -cp fdmount.1 $(MANDIR)
X
Xuninstall: uninstall-fdeject uninstall-fdmount
X
Xuninstall-fdeject:
X rm -f $(BINDIR)/fdeject
X rm -f $(MANDIR)/fdeject.1
X
Xuninstall-fdmount:
X rm -f $(BINDIR)/fdmount
X rm -f $(MANDIR)/fdmount.1
X
Xclean: clean-fdeject clean-fdmount
X
Xclean-fdeject:
X rm -f fdeject.o fdeject
X
Xclean-fdmount:
X rm -f fdmount.o fdmount
END_OF_FILE
if test 932 -ne `wc -c <'Makefile'`; then
    echo shar: \"'Makefile'\" unpacked with wrong size!
fi
# end of 'Makefile'
fi
echo shar: End of shell archive.
exit 0

--------------------------------------------------------------------------------

vii. author: Peter Shipley <shipley@tfs.COM>

             Please contact author for a copy. No program description given.

Well, that's the lot. I hope I've not missed anyone.....

Regards,
Winston.

-- 
********************************************************************************
*  Seah, Khoon Guan Winston               *        Tel:   (65) 772-2146        *
*  Department of Electrical Engineering   *               (65) 772-3494        *
*  National University of Singapore       *        Fax:   (65) 777-3117        *
*  10 Kent Ridge Crescent                 *        Email: eleskg@nuscc.nus.sg  *
*  Singapore 0511.                        *               eleskg@nusvm.bitnet  *
********************************************************************************



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:06:43 CDT