Making floppy drive accessible (LONG!!!!)

2007-12-25 7:45:00

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@"

M:V CK \Z/0M#Q%K8$HM@"\H+J'+MD\.N6 Q[8E^%?&@#*M;#LE@S, 80 AO(

ML226QKI8GS8;9*R.%;)S0.VY&2 +85MLDMUN3/;#FE@7>ZF,;) %L8NM1!79

M"GMD#RQ,>@,BUL%:"L@J%1R#%? I#.P+1, E4&R:2B_] CREOZ*]B)D5Q6)Z

M&0%CM@K./\< &:C %U@"12 +7(&RXC-XC44$1W:6,H0/"9&N3@S]40_P9=$.

MA' RJWJ5SBI<H"'*1-HW,6G3':]R,0I-T[9&3INN]%D@>U^J0=1*VG15:;D=

M?,FDDH2C),;H>3DN)-\TC&4 0GI&F%<9=U'/-#T)<S5^D\]H&44C:<0-X0'\

M*5060C!<@%B$(25U(434TC=1QT)9<!<S(*.NBXWZ+CR&2Z@!(37:BMMQ2V[Y

MQ<H(&3A@+:S4F, 6AA],#0#%+XP<O^UG4X\J2X!^/-6G4C\Z8OWP"/8+#T65

M^RV-L\$2P-]2#0!O@_PE$O2W2/!&5(4D4[62<)>SBE8?(%G5JF)5ET3 ^#D!

M9\D&S+@7-ZR:58J+2=)J"62K)S"4ZD]HPC];(%VMBW:5@(:3*JE7=V!?G8I_

M-0@*5@A*6,.$8:T;2!"@)%:" A@UJ$)QK!X4LFJ'$-H1*:M&L:PG%+-RTLWZ

M25^H&?0,,E0-LHKINE-TJ!RD+'7PJ*C6/.A46JLL!81'=! JT4/81!=A+VV$

M4?01XE9):$6QJ"4TIET4N"Y3X0H*G^F)*X65!14N5S:*32,I=+V&ZQ6'NI9Q

MFD>QJSGMH^@T&'97=@I>WRDB':_,Q1G:TVAH>-6K+*0,[75GCA50M/\$C_Z+

M ?=U!N37F(!4^JO_HQH0:L:V!D.+#]T1>J$,$XKD:JH,91DP0X\(J)K#S7D&

M>#%Y%-4ZG)+X@YB (H& 3211AF()DX<X* >D>.UTKXOR+O"2='"V?.;9!AA;

M325.S];\L7 W[O"=N>N^MTG3[ 8SP.ZH">\A ^V7);$&-Y#U4LE:'3+=;2=5

M-^%5?QG%%N *[$W_\BJQJ'GXU]2K;K)H8A9@UO#NE%4")L"[R&E5OGW%RO9L

M_?.S@%;0$EJWE]12D"!22*&A$/DRH1=.\![)PP@VJS4H-0C<;(":4*M;"GC2

MY#T'_(AB< L&F>T!#S088;N RT"1.0$LX 1LN;#&P?A9#6;!T 2IP9Y31K?2

MV?S=P5NQ!\<.'_"&7,P3ML!]]L\&VD&;RV+'"I :L4,.L8Z#A81;PPH :E=X

M,="_+)R!N3 1 &LGH ><@'KG@<NPXSG!PXQUE&&,X%Y 0)E] F=6"*39-=MF

MB]";C;-4H)+1*WS77Z8-OX-O2R;@0>*!EWV(L"R3O^,*#8\K&74'0-X=$'EO

MB8;1JRE7TC0-%,:)/;C(F(#U"]; 31R:0R'@UOK-T'5E3-X5R!J5HP[<$>F[

M:<"LSTLEW@7_W+WE]7^&F:$CQ5PN/0EC$JRN_E8*-G3(H0Z8 1?0'+Y =@Q6

MD8XE!+$I\ 5>B50X BA@_5)C!O2<ZET",'GB$YH(AT<4CZI4%)Q$3>@,9(H-

M$[Y" T/9BUNS%D$H@X=_OBS5,43%Q\V98-91LY)6Q/J5_67NG>+*D8KE"B[3

M94Z E[5B@%3H[IZ1*\;/.&+=7V327X;<C4H!Z'"A01O<)0<$3,>" 4+N&@>8

ME"..J[%*MDKW!PIL%3\+&(A D6F27X ;2I:H\GZ%G#(Q P(F!<0FZ.214TD*

MZ#O*6(H-I>&Q&RU8EXDZ%GGCZ1TZXEXV,E;[PBTYLZ6!8%5HM&=2UFDN!C<0

M,:)G]*J2_42Y1083NX'Z-NDZ7 *PRI[A#/_&KC%__0_P40%P.=*=@$ CA(D3

M9\)O2QDSN)O*\Y3_<M!95I\I#"PTX94\HO$T=LE;V0<[FVJ2 K*R-8[,T DI

MWY^E]B)D6F*& ]@IZ"4O%I=TJ!$(*,CN!OBD,[&\T$0 =^QQ<+G(R "V_(>2

M3EZ6RS+ +BN9Y6 U%Y$-P[2A 04PBB(3F]\-7S9U15D%I !MQ:8Z<='[Q"Q)

MR%7:Y?S2\I). E[YC2D/YE_9FHP3G%E-BIGR,.9R:)E5,G*FS.49,T<ZS7R:

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 *
********************************************************************************

Comments

Got something to say?

You must be logged in to post a comment.