<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP"> <TITLE> SMB HOWTO </TITLE> </HEAD> <BODY BGCOLOR=white> <A HREF="INDEX-JF.html">JF-INDEX (document list of JF Project)</A> <HR> <H1>SMB HOWTO</H1> <H2>David Wood, <A HREF="mailto:dwood@plugged.net.au">dwood@plugged.net.au</A></H2>v1.0, 10 August 1996 <H2>$BCfLnIpM:(B <A HREF="mailto:nakano@apm.seikei.ac.jp">nakano@apm.seikei.ac.jp</A></H2>v1.0j1, 24 September 1996 <P><HR> <EM>$B$3$l$O!!(BSMB HOWTO $B$G$9!#$3$NJ8=q$O(B Linux $B$G(B Session Message Block (SMB) $B%W%m%H%3%k$r07$&J}K!$K$D$$$F=R$Y$?$b$N$G$9!#(BSMB $B%W%m%H%3%k$O!"(B NetBIOS $B%W%m%H%3%k!"(BLanManager $B%W%m%H%3%k$H$b8F$P$l$F$$$^$9!#(B</EM> <HR> <P><B>$BCm0U(B: $B$3$NJ8=q$O$+$J$j0JA0$K=q$+$l$?$b$N$J$N$G!"(B $B$$$^$I$-$N(B Linux $B4D6-$K$O$"$F$O$^$i$J$$2U=j$,$"$j$^$9!#(B (JF Project)</B> <P> <H2><A NAME="toc1">1.</A> <A HREF="#s1">$B$O$8$a$K(B</A></H2> <P> <H2><A NAME="toc2">2.</A> <A HREF="#s2">$BB>$N>pJs(B</A></H2> <P> <H2><A NAME="toc3">3.</A> <A HREF="#s3">$B%$%s%9%H!<%k(B</A></H2> <P> <H2><A NAME="toc4">4.</A> <A HREF="#s4">$B%G!<%b%s$r5/F0$9$k(B</A></H2> <P> <H2><A NAME="toc5">5.</A> <A HREF="#s5">/etc/smb.conf $B$N@_Dj(B</A></H2> <P> <H2><A NAME="toc6">6.</A> <A HREF="#s6">Linux $B$N%I%i%$%V$r(B Windows $B%^%7%s$+$i6&M-$9$k(B</A></H2> <P> <H2><A NAME="toc7">7.</A> <A HREF="#s7">Windows $B$N%I%i%$%V$r(B Linux $B%^%7%s$G6&M-$9$k(B</A></H2> <P> <H2><A NAME="toc8">8.</A> <A HREF="#s8">Linux $B%^%7%s$N%W%j%s%?$r(B Windows $B%^%7%s$+$iMxMQ$9$k(B</A></H2> <P> <H2><A NAME="toc9">9.</A> <A HREF="#s9">Linux $B%^%7%s$+$i(B Windows $B$N%W%j%s%?$r;H$&(B</A></H2> <P> <H2><A NAME="toc10">10.</A> <A HREF="#s10">$BCx:n8"(B</A></H2> <P> <H2><A NAME="toc11">11.</A> <A HREF="#s11">$B<U<-(B</A></H2> <HR> <H2><A NAME="s1">1.</A> <A HREF="#toc1">$B$O$8$a$K(B</A></H2> <P> <P>$B$3$l$O!!(BSMB HOWTO $B$G$9!#$3$NJ8=q$O(B Linux $B$G(B Session Message Block (SMB) $B%W%m%H%3%k$r07$&J}K!$K$D$$$F=R$Y$?$b$N$G$9!#(BSMB $B%W%m%H%3%k$O!"(B NetBIOS $B%W%m%H%3%k!"(BLanManager $B%W%m%H%3%k$H$b8F$P$l$F$$$^$9!#(B <P>$B$3$NJ8=q$O(B David Wood ( <A HREF="mailto:dwood@plugged.net.au">dwood@plugged.net.au</A>) $B$,JT=8$7$F$$$^$9!#DI2C>pJs$d=$@5!"D{@5$K$D$$$F$N%a!<%k$O!"$3$N%"%I%l%9(B $B$^$G$*Aw$j$/$@$5$l$P<!2s$N%j%j!<%9$KH?1G$5$;$^$9!#(B <P>SMB $B%W%m%H%3%k$O(B Microsoft Windows 3.11$B!"(BNT$B!"(B95 $B$G%G%#%9%/$d%W%j%s(B $B%?$r6&M-$9$k$?$a$KMQ$$$i$l$^$9!#(BAndrew Tridgell $B$K$h$C$F=q$+$l$?(B Samba $B%D!<%k%;%C%H$rMQ$$$l$P!"(BLinux $B$J$I$N(B Unix $B%^%7%s$G$b(B Windows $B$N%[%9%H(B $B$H%G%#%9%/$d%W%j%s%?$r6&M-$G$-$^$9!#(B <P>Samba $B$rMQ$$$F$G$-$k$3$H$O0J2<$N(B 4 $B$D$G$9!#(B <P> <OL> <LI>Linux $B%[%9%H$N%I%i%$%V$r(B Windows $B%[%9%H$G6&M-$9$k!#(B</LI> <LI>Windows $B%[%9%H$N%I%i%$%V$r(B Linux $B%[%9%H$G6&M-$9$k!#(B</LI> <LI>Linux $B%[%9%H$N%W%j%s%?$r(B Windows $B%[%9%H$G6&M-$9$k!#(B</LI> <LI>Windows $B%[%9%H$N%W%j%s%?$r(B Linux $B%[%9%H$G6&M-$9$k!#(B</LI> </OL> <P>$B$3$NJ8=q$O0J>e$N%1!<%9$r$9$Y$F%+%P!<$7$F$$$^$9!#(B <P>$BLH@U(B: $B$3$NJ8=q$K5-$7$?J}K!$d%9%/%j%W%H$O!"Cx<T$r4^$a$?2??M$+$N%0%k!<%W(B $B$NCf$G$O$&$^$/F/$$$F$$$^$9!#$7$+$74D6-$,0[$J$k$H!"$&$^$/$$$+$J$$2DG=(B $B@-$b$"$j$^$9!#$=$N$h$&$J>l9g$OCx<T$K%a!<%k$GCN$i$;$F$$$?$@$1$l$P!"$3$N(B $BJ8=q$NH/E8$KLrN)$A$^$9!#$?$@$7Cx<T$O2?$NJ]>Z$b$7$^$;$s!#2?$r4|BT$7$F(B $B$?$s$G$9$+!)Cx<T$O$?$@=u8@$r$7$F$$$k$K$9$.$J$$$N$G$9(B... <P> <HR> <H2><A NAME="s2">2.</A> <A HREF="#toc2">$BB>$N>pJs(B</A></H2> <P> <P>$B$3$N(B HOWTO $BJ8=q$G$O!"(BLinux $B%^%7%s$G(B SMB $B$N%U%!%$%k%5!<%S%9!"%W%j%s%H%5!<(B $B%S%9$rMxMQ$9$k$?$a$N@_DjK!$K$D$$$F!"4pAC$+$i@bL@$7$F$$$^$9!#(BSamba $B$OJ#(B $B;($G9b5!G=$J%7%9%F%`$G$9$N$G!"$3$NJ8=q$G$O(B Samba $B$K4X$9$k>pJs$9$Y$F$r(B $B5-=R$9$k$3$H$O$G$-$^$;$s$7!"$^$?$=$N$D$b$j$b$"$j$^$;$s!#(B <P>$B$h$jB?$/$N>pJs$rCN$j$?$$?M$O0J2<$NJ88%$r$_$F$/$@$5$$!#(B <P> <UL> <LI>Samba $B$NG[I[%Q%C%1!<%8$K4^$^$l$k%I%-%e%a%s%H!#G[I[%Q%C%1!<%8$O(B <A HREF="ftp://nimbus.anu.edu.au/pub/tridge/samba/">ftp://nimbus.anu.edu.au/pub/tridge/samba/</A> $B$+$i<hF@$G$-$^$9!#(B </LI> <LI>Linux Printing HOWTO </LI> <LI>Print2Win mini HOWTO </LI> </UL> <P>===$BLuCm(B=== <P>$B9qFb$N(B Samba $B8x<0%_%i!<%5!<%P$H$7$F$O!"(B <A HREF="ftp://ring.aist.go.jp/archives/net/samba/">ftp://ring.aist.go.jp/archives/net/samba/</A> <A HREF="ftp://ring.asahi-net.or.jp/archives/net/samba/">ftp://ring.asahi-net.or.jp/archives/net/samba/</A> $B$J$I$,$"$j$^$9!#$3$NK]Lu$r=q$$$F$$$k(B '96 9 $B7n8=:_$G$O!"(B1.9.16p2 $B$,:G?7(B $B$N%j%j!<%9%P!<%8%g%s$N$h$&$G$9!#(B <P>$BF|K\8l$N2r@bJ8=q$H$7$F$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#$?$@$7$3$l$i$O(B 1.9.15p8 $B$r%Y!<%9$K=q$$$F$"$j$^$9$N$G!"(B1.9.16p2 $B$G$O:Y$+$JItJ,$,JQ$o$C(B $B$F$$$^$9!#FC$K(B <CODE>nmbd</CODE> $B$N07$$$,$@$$$VJQ$o$C$F$$$k$N$G!"(B<CODE>man nmbd</CODE> $B$7$F$*$/$3$H$r6/$/$*4+$a$7$^$9!#(B <P> <UL> <LI>Unix Magazine '96 3 $B7n9f(B $B!XFC=8(B PC UNIX$B!Y2,;3@;I'!"JR;3A1>O(B </LI> <LI>Unix User '96 10 $B7n9f!A(B $B!X%W%l%$!&%Q!<%=%J%k(B Linux$B!Y??Fi7I;N(B </LI> <LI>$B!X<BNcIU$-(B Samba $B$N;H$$J}!YJ?Ln(B $BAo(B <A HREF="ftp://etlport.etl.go.jp/pub/windows/knowhow/samba.txt">ftp://etlport.etl.go.jp/pub/windows/knowhow/samba.txt</A><BR> $B9qFb$N(B Samba $B%I%-%e%a%s%H$H$7$F$O%P%$%V%kE*B8:_$H8@$($^$7$g$&!#(B </LI> <LI>$B:4F#J8M%$5$s$N(B Samba Web $B%Z!<%8(B <A HREF="http://www.yk.rim.or.jp/~fumiya/Samba/">http://www.yk.rim.or.jp/~fumiya/Samba/</A><BR> <CODE>smb.conf</CODE> $B$NK]Lu$J$I$,$"$j$^$9!#(B </LI> </UL> <P>$B%K%e!<%9$G$O!"1Q8l$G$9$,(B <CODE>comp.protocols.smb</CODE> $B$G(B Samba $B$K4X$9$k5DO@(B $B$,$5$l$F$$$^$9!#(B <P>==$BLuCm=*(B== <P> <HR> <H2><A NAME="s3">3.</A> <A HREF="#toc3">$B%$%s%9%H!<%k(B</A></H2> <P> <P>$B:G?7$N(B Samba $B$N%=!<%9$O(B <A HREF="ftp://nimbus.anu.edu.au/pub/tridge/samba/">ftp://nimbus.anu.edu.au/pub/tridge/samba/</A> $B$+$iF@$i$l$^$9!#(B <P>Redhat $B$r;H$C$F$$$k?M$J$i(B Samba $B$r(B rpm $B7A<0$G%$%s%9%H!<%k$9$k$3$H$b$G(B $B$-$^$9!#B>$NG[I[%Q%C%1!<%8$K$b(B Samba $B$N%P%$%J%j%$%s%9%H!<%k$,2DG=$J$b(B $B$N$,$"$j$^$9!#(B <P>===$BLuCm(B=== <P>$BF|K\8l$N%U%!%$%kL>$rM-8z$K$7$?$$>l9g$O!"%3%s%Q%$%k$N:]$K(B <CODE>Makefile</CODE> $B$G$N@_Dj$,I,MW$K$J$j$^$9!#>e5-$N$h$&$J%P%$%J%j%Q%C%1!<%8$GF|K\8l%U%!%$(B $B%kL>$,M-8z$K$J$C$F$$$k$+$I$&$+!"$4B8CN$NJ}$,$$$i$C$7$c$$$^$7$?$iLu<T$^(B $B$G$*CN$i$;$$$?$@$1$l$P9,$$$G$9!#(B <P>==$BLuCm=*(B== <P>Samba $B$rMxMQ$9$k$?$a$K$O0J2<$N(B 2 $B$D$N%G!<%b%s%W%m%0%i%`$,I,MW$G$9!#(B $B$3$l$i$ODL>o(B <CODE>/usr/sbin</CODE> $B$K%$%s%9%H!<%k$5$l!"%7%9%F%`5/F0;~$K%V!<(B $B%H%"%C%W%9%/%j%W%H$G5/F0$5$l$k$+!"$^$?$O(B <CODE>inetd</CODE> $B$+$i<B9T$5$l$^$9!#(B $B%9%/%j%W%H$NNc$O!"(B <A HREF="#sec-daemons">$B%G!<%b%s$r5/F0$9$k(B</A> $B$N@a$K$"$2$F$"$j$^$9!#(B <P> <DL> <DT><B>smbd</B><DD><P>SMB $B%G!<%b%s$G$9!#(B <DT><B>nmbd</B><DD><P>$B%/%i%$%"%s%H$X(B NetBIOS $B$K$h$kL>A02r7h5!G=$rDs6!$7$^$9!#(B </DL> <P>$B0J2<$N(B Samba $B%W%m%0%i%`$ODL>o(B <CODE>/usr/bin</CODE> $B$K%$%s%9%H!<%k$5$l$^$9(B $B!J$3$N>l=j$OA*Br2DG=$G$9!K!#(B <P> <DL> <DT><B>smbclient</B><DD><P>UNIX $B%[%9%H$N$?$a$N(B SMB $B%/%i%$%"%s%H%W%m%0%i%`(B <DT><B>smbprint</B><DD><P>SMB $B%[%9%H$N%W%j%s%?$rMxMQ$9$k$?$a$N%9%/%j%W%H(B <DT><B>smbprint.sysv</B><DD><P>SVR4 $BMQ$N(B smbprint <DT><B>smbstatus</B><DD><P>$B%m!<%+%k%[%9%H$X$N(B SMB $B@\B3$r%j%9%H$9$k%W%m%0%i%`(B <DT><B>smbrun</B><DD><P>SMB $B%[%9%H$GI,MW$J%"%W%j%1!<%7%g%s$r<B9T$5$;$k$?$a$NJd=u(B $BE*$JLr3d$r$9$k%9%/%j%W%H%W%m%0%i%`(B </DL> <P>$B$5$i$K!"$3$N(B HOWTO $BJ8=q$K$O(B <CODE>print</CODE> $B$H$$$&L>A0$N%9%/%j%W%H$,F~$C$F(B $B$$$^$9!#$3$l$O(B <CODE>smbprint</CODE> $B%9%/%j%W%H$N%U%m%s%H%(%s%I$G!"0u:~$r$h$j(B $B4JC1$K$9$k$b$N$G$9!#(B <P>Samba $B$N%Q%C%1!<%8$r%$%s%9%H!<%k$9$k$N$O4JC1$G$9!#>e5-$N(B URL $B$+$i%=!<(B $B%9$r<j$KF~$l!"G[I[%"!<%+%$%V$NCf$N(B README $B%U%!%$%k$r8+$F$/$@$5$$!#$^$?(B <CODE>docs/INSTALL.txt</CODE> $B$K$O%$%s%9%H!<%k<j=g$N>\:Y$J2r@b$,=q$$$F$"$j$^$9!#(B <P>$B%$%s%9%H!<%k$KB3$$$F!"%G!<%b%s$r(B <CODE>/usr/sbin</CODE> $B$X!"%W%m%0%i%`$r(B <CODE>/usr/bin</CODE> $B$X!"(Bman $B%Z!<%8$r(B <CODE>/usr/local/man</CODE> $B$KCV$-$^$7$g(B $B$&!#(B <P>Samba $B$N%Q%C%1!<%8$r:n$k$H$-!"(B<CODE>smbd</CODE> $B$N%3%s%U%#%.%e%l!<%7%g%s%U%!%$(B $B%k$G$"$k(B <CODE>smb.conf</CODE> $B$NCV$->l=j$r(B <CODE>Makefile</CODE> $B$NCf$G;XDj$7$^$9!#9%(B $B$-$J$H$3$m$KCV$/$3$H$,$G$-$^$9$,!"DL>o$O(B <CODE>/etc/smb.conf</CODE> $B$,NI$$(B $B$G$7$g$&!#%m%0%U%!%$%k$H%m%C%/%G%#%l%/%H%j$K$D$$$F$O0J2<$N$h$&$K@_Dj$7(B $B$F$*$/$3$H$r$*4+$a$7$^$9!#(B <P> <HR> <PRE> log file=/var/log/samba-log.%m lock directory = /var/lock/samba </PRE> <HR> <P>===$BLuCm(B=== <P>Samba $B%Q%C%1!<%8$N%G%U%)%k%H$N@_Dj$G$O!"%G!<%b%s$*$h$S%W%m%0%i%`$O(B <CODE>/usr/local/samba/bin</CODE> $B$X!"$^$?(B <CODE>smb.conf</CODE> $B$J$I$O(B <CODE>/usr/local/samba/lib</CODE> $B$KCV$+$l$^$9!#(B <P>$B$^$?(B <CODE>log file</CODE> $B$H(B <CODE>lock directory</CODE> $B$N@_Dj$O(B <CODE>Makefile</CODE> $B$G$b$G$-$^$9$,!"(B<CODE>smb.conf</CODE> $B$K=q$$$F$*$/J}$,%I%-%e%a%s(B $B%H@-$,9b$/$J$k$N$GNI$$$H;W$$$^$9!#(B <P>==$BLuCm=*(B== <P><CODE>smb.conf</CODE> $B$r%$%s%9%H!<%k$7$^$9!#(BSamba $B$N%W%m%0%i%`$r%3%s%Q%$%k$7$?(B $B%G%#%l%/%H%j$K9T$-!"$5$i$K(B <CODE>example/simple</CODE> $B%G%#%l%/%H%j$K0\F0(B $B$7$F(B <CODE>README</CODE> $B$rFI$s$G2<$5$$!#B3$$$F%G%#%l%/%H%j$K$"$k(B <CODE>smb.conf</CODE> $B$r(B <CODE>/etc</CODE> $B$K%3%T!<$7$^$9!#$3$3$G$A$g$C$H(B<EM>$BCm0U(B</EM>$B!#(B Redhat $B$J$I$NG[I[%Q%C%1!<%8$+$i(B Samba $B$r%$%s%9%H!<%k$7$?>l9g$K$O!"4{$K(B <CODE>/etc</CODE> $B$K(B <CODE>smb.conf</CODE> $B$,$"$k$+$b$7$l$^$;$s!#$3$N>l9g$O!"$3$N(B $B%U%!%$%k$+$i@_Dj$r$O$8$a$k$HNI$$$G$7$g$&!#(B <P>% <CODE>smb.conf</CODE> $B$r(B <CODE>/etc</CODE> $B$KCV$-$?$/$J$$>l9g$K$O!"9%$-$J>l=j$K$*(B $B$$$F%7%s%\%j%C%/%j%s%/$r(B <CODE>/etc</CODE> $B$K:n$j$^$7$g$&!#(B <P> <HR> <PRE> ln -s /path/to/smb.conf /etc/smb.conf </PRE> <HR> <P> <HR> <H2><A NAME="sec-daemons"></A> <A NAME="s4">4.</A> <A HREF="#toc4">$B%G!<%b%s$r5/F0$9$k(B</A></H2> <P> <P>SMB $B$N%G!<%b%s$O(B <CODE>/usr/sbin/smbd</CODE> $B$H(B <CODE>/usr/sbin/nmbd</CODE> $B$N(B 2 $B$D$G$9!#(B <P>Samba $B$N%G!<%b%s$r<B9T$9$k$d$j$+$?$O(B 2 $B$D$"$j$^$9!#(B<CODE>inetd</CODE> $B$+$i5/F0(B $B$9$kJ}K!$H!"%9%?%s%I%"%m!<%s$N%W%m%;%9$H$7$F5/F0$9$kJ}K!$G$9!#@lMQ$N%U%!(B $B%$%k%5!<%P$H$7$FMQ$$$k>l9g$O(B <CODE>inetd</CODE> $B$+$i5/F0$9$kJ}$,NI$$$G$7$g$&!#(B $B$=$&$9$l$P2?$i$+$NM}M3$G$3$l$i$N%G!<%b%s%W%m%;%9$,;`$s$G$b!"<!$N%j%/%((B $B%9%H$K$h$C$F:F<B9T$5$l$^$9!#(BSMB $B%5!<%P%5!<%S%9$r;~!9$7$+MxMQ$7$J$$!J%7(B $B%9%F%`4IM}$N$H$-$@$1$H$+!K$J$i$P!"(B<CODE>/etc/rc.d/init.d</CODE> $B%9%/%j%W%H(B $B$+$i<B9T$9$k$HNI$$$G$7$g$&!#I,MW$J$H$-$@$1<jF0$G<B9T$7$F$bNI$$$G$7$g$&!#(B <P>===$BLuCm(B=== <P>$B%9%T!<%I$NE@$+$i$O!"%G!<%b%s%W%m%;%9$NJ}$,$o$:$+$J$,$iM-Mx$H$$$&0U8+$b(B $B$"$j$^$9!#$^$?!"Lu<T$N%[%9%H$G(B 3 $B%v7n$[$I(B Samba $B$r;HMQ$7$?4V!"Mn$A$?$3(B $B$H$O$"$j$^$;$s$G$7$?!#(B <P>==$BLuCm=*(B== <P><CODE>inetd</CODE> $B$+$i%G!<%b%s$r5/F0$9$k>l9g$O!"0J2<$N9T$r(B <CODE>inetd</CODE> $B$N@_Dj(B $B%U%!%$%k(B <CODE>/etc/inetd.conf</CODE> $B$K2C$($^$9!#(B <P> <HR> <PRE> # SAMBA NetBIOS services (for PC file and print sharing) netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd </PRE> <HR> <P>$B=q$-49$($?$i!"0J2<$N%3%^%s%I$r<B9T$7$F(B <CODE>inetd</CODE> $B$r%j%9%?!<%H$7$^$9!#(B <P> <HR> <PRE> kill -HUP <pid of inetd> </PRE> <HR> <P><CODE><pid of inetd></CODE> $B$K$O(B <CODE>inetd</CODE> $B$N%W%m%;%9(B ID $B$rF~$l$F$/(B $B$@$5$$!#(B<CODE>ps</CODE> $B%3%^%s%I$G3NG'$9$k$+!"(B<CODE>"cat /var/run/inetd.pid"</CODE> $B$J$I$G$b$o$+$j$^$9!#(B <P> <P>$B%G!<%b%s$r%7%9%F%`$N5/F0%9%/%j%W%H$+$i<B9T$9$k>l9g$O!"0J2<$NFbMF$r(B <CODE>/etc/rc.d/init.d/smb</CODE> $B$H$7$F:n@=$7!"%9%/%j%W%HCf$N%3%a%s%H$G;X(B $BDj$5$l$F$$$k%U%!%$%k$X$N%7%s%\%j%C%/%j%s%/$r:n$C$F$/$@$5$$!#(B <P> <HR> <PRE> #!/bin/sh # # /etc/rc.d/init.d/smb - starts and stops SMB services. # # The following files should be synbolic links to this file: # symlinks: /etc/rc.d/rc1.d/K35smb (Kills SMB services on shutdown) # /etc/rc.d/rc3.d/S91smb (Starts SMB services in multiuser mode) # /etc/rc.d/rc6.d/K35smb (Kills SMB services on reboot) # # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # See how we were called. case "$1" in start) echo -n "Starting SMB services: " daemon smbd -D daemon nmbd -D echo touch /var/lock/subsys/smb ;; stop) echo -n "Shutting down SMB services: " killproc smbd killproc nmbd rm -f /var/lock/subsys/smb echo "" ;; *) echo "Usage: smb {start|stop}" exit 1 esac </PRE> <HR> <P>===$BLuCm(B=== <P>Slackware $B$N>l9g$O!"(B<CODE>/etc/rc.d/rc.local</CODE> $B$K0J2<$N$h$&$J9T$rDI2C(B $B$7$F$*$1$PNI$$$G$7$g$&!#(B <HR> <PRE> if [ -f /usr/sbin/nmbd ]; then echo "SAMBA servers" /usr/sbin/smbd -D /usr/sbin/nmbd -D fi </PRE> <HR> <P>==$BLuCm=*(B== <P> <HR> <H2><A NAME="s5">5.</A> <A HREF="#toc5">/etc/smb.conf $B$N@_Dj(B</A></H2> <P> <P>Linux $B$G$bB>$N(B Unix $B>e$G$b!"(BSamba $B$N@_Dj$O(B <CODE>/etc/smb.conf</CODE> $B$H$$(B $B$&%U%!%$%k$K$^$H$a$F5-$5$l$F$$$^$9!#$I$N%7%9%F%`%j%=!<%9$r8x3+$9$k$+!"(B $B$^$?$=$l$i$K$I$N$h$&$J@)8B$r2J$9$+$J$I$O!"$3$N%U%!%$%k$G@_Dj$7$^$9!#(B <P>$B$3$N@a$KB3$/(B 2 $B@a$G$O(B Linux $B$N%I%i%$%V$d%W%j%s%?$r(B Windows $B%^%7%s$+$i(B $B6&M-$9$kJ}K!$K$D$$$F=R$Y$^$9!#$3$N@a$G<($9(B <CODE>smb.conf</CODE> $B$O!"$G$-$k$@(B $B$14JC1$K$3$l$i$N5!G=$r<B8=$9$k$h$&$K=q$$$?$b$N$G$9$N$G!"$"$/$^$GF3F~E*(B $B$J$b$N$H9M$($F$/$@$5$$!#(B <P>$B$3$N(B <CODE>smb.conf</CODE> $B$N>\:Y$,2r$i$J$/$F$b?4G[$9$kI,MW$O$"$j$^$;$s!#=EMW(B $B$J35G0$K$D$$$F$O8e$N@a$G$"$i$?$a$F@bL@$7$^$9!#(B <P><CODE>smb.conf</CODE> $BCf$N3F!9$N%;%/%7%g%s$O!"%;%/%7%g%s%X%C%@(B $B!J(B<CODE>[global]</CODE>$B!"(B<CODE>[homes]</CODE>$B!"(B <CODE>[printers]</CODE> $BEy!K$+$i;O$^$j$^$9!#(B <P><CODE>global</CODE> $B%;%/%7%g%s$G$OA4$F$N%;%/%7%g%s$K6&DL$JJQ?t$r;XDj$7$^$9!#(B <P><CODE>homes</CODE> $B%;%/%7%g%s$r;XDj$9$k$H!"%j%b!<%H%f!<%6$O<+J,$N%[!<%`%G%#%l(B $B%/%H%j$X%"%/%;%9$G$-$k$h$&$K$J$j$^$9!#$D$^$j(B Samba $B%[%9%H$G$"$k(B Linux $B%^%7%s$K%"%+%&%s%H$r;}$C$F$$$k?M$,(B Windows $B%^%7%s$G@\B3$9$k$H!"H`$i8D(B $B?M8D?M$N%[!<%`%G%#%l%/%H%j$rMxMQ$G$-$k$h$&$K$J$j$^$9!#$3$N%5!<%S%9$rMx(B $BMQ$9$k$K$O(B Linux $B%^%7%s$K%"%+%&%s%H$r;}$C$F$$$J$1$l$P$J$j$^$;$s!#(B <P>$B$3$3$K<($7$?(B <CODE>smb.conf</CODE> $B$NNc$G$O!"%j%b!<%H%f!<%6$,<+J,$N%[!<%`%G%#(B $B%l%/%H%j$K%"%/%;%9$7!"(B<CODE>/tmp</CODE> $B%G%#%l%/%H%j$K=q$-$3$_$G$-$k$h$&$K(B $B$7$F$$$^$9!#(BWindows $B%f!<%6$K$3$l$i$N%j%=!<%9$r8+$;$k$K$O!"(BLinux $B$N%[%9(B $B%H$,%m!<%+%k$J%M%C%H%o!<%/>e$K$J$1$l$P$J$j$^$;$s!#(BWindows $B$N%U%!%$%k%^(B $B%M!<%8%c$d%(%/%9%W%m!<%i$rMQ$$$l$P!"$3$l$i$N%I%i%$%V$r%M%C%H%o!<%/%I%i(B $B%$%V$H$7$F@\B3$G$-$^$9!#(B <P>$B$3$NJ8=q$N0J2<$N@a$G$O!"B>$N%j%=!<%9$r6&M-$5$;$k$?$a$N(B <CODE>smb.conf</CODE> $B%U%!%$%k$N=q<0$K$D$$$F$b=R$Y$F$$$^$9!#;29M$K$7$F$/$@$5$$!#(B <P> <HR> <PRE> ; /etc/smb.conf ; ; Make sure and restart the server after making changes to this file, ex: ; /etc/rc.d/init.d/smb stop ; /etc/rc.d/init.d/smb start [global] ; Uncomment this if you want a guest account ; guest account = nobody log file = /var/log/samba-log.%m lock directory = /var/lock/samba share modes = yes [homes] comment = Home Directories browseable = no read only = no create mode = 0750 [tmp] comment = Temporary file space path = /tmp read only = no public = yes </PRE> <HR> <P> <HR> <H2><A NAME="s6">6.</A> <A HREF="#toc6">Linux $B$N%I%i%$%V$r(B Windows $B%^%7%s$+$i6&M-$9$k(B</A></H2> <P> <P>$B>e$K$"$2$?4JC1$J(B <CODE>smb.conf</CODE> $B$+$i$b2r$k$h$&$K!"(BLinux $B$N%I%i%$%V$r(B Windows $B$N%f!<%6$,6&M-$9$k$N$O4JC1$G$9!#$7$+$7(B Samba $B$N%7%9%F%`$G$OHs(B $B>o$KB?$/$N9`L\$r%+%9%?%^%$%:$G$-$^$9!#0J2<$K$$$/$D$+Nc$r<($7$^$9!#(B <P>$B$"$k%G%#%l%/%H%j$r@)8B$J$7$K8x3+$9$k$K$O!"@hDx$N@a$G5s$2$?(B<CODE>smb.conf</CODE> $B$N(B <CODE>tmp</CODE> $B%;%/%7%g%s$r$^$M$7$F!"$$$/$D$+$N%Q%i%a!<%?$r@_Dj(B $B$7$^$9!#(B <P> <HR> <PRE> [public] comment = Public Stuff path = /home/public public = yes writable = yes printable = yes </PRE> <HR> <P>$B$3$N%G%#%l%/%H%j$N@)8B$r$A$g$C$HJQ$($F!"FI$_=P$7$O$@$l$G$b2DG=$H$7!"=q(B $B$-9~$_$r(B <CODE>staff</CODE> $B%0%k!<%W$N%f!<%6$K8B$k$K$O!"0J2<$N$h$&$K$7$^$9!#(B <P> <HR> <PRE> [public] comment = Public Stuff path = /home/public public = yes writable = yes printable = no write list = @staff </PRE> <HR> <P>$B%I%i%$%V6&M-$K4X$9$kB>$N<jK!$K$D$$$F$O!"(BSamba $BIUB0$NJ8=q$d(B man $B%Z!<%8(B $B$r8+$F$/$@$5$$!#(B <P>===$BLuCm(B=== <P>Win 95 $B$G:n@.$7$?%U%!%$%k$GBgJ8;z>.J8;z$N6hJL$r$7$?$j!"F|K\8l$r@5$7$/(B $BI=<($5$;$k$?$a$K$O!"(B<CODE>global</CODE> $B%;%/%7%g%s$K0J2<$N%(%s%H%j$rDI2C$7$F$*(B $B$/$HNI$$$h$&$G$9!#(B <P> <HR> <PRE> mangle case = no case sensitive = no default case = upper preserve case = yes short preserve case = yes </PRE> <HR> <P>$BF|K\8l$rMxMQ$9$k$K$O!"%3%s%Q%$%k;~$K(B <CODE>Makefile</CODE> $B$G(B <BLOCKQUOTE><CODE> <PRE> -DKANJI=\"euc\" </PRE> </CODE></BLOCKQUOTE> $B$J$I$H;XDj$9$kI,MW$,$"$j$^$9!#$^$?(B 1.9.16p2 $B$+$i$O!"(B<CODE>smb.conf</CODE> $B$G(B <HR> <PRE> coding system = <$B%3!<%I7O(B> </PRE> <HR> $B$N$h$&$K;XDj$9$k$3$H$,2DG=$K$J$j!"$^$?(B CAP $B$HF1;~$K;H$&$?$a$N(B <CODE>"cap"</CODE> $B$H$$$&4A;z%3!<%I7O$,DI2C$5$l$^$7$?!#(B <P>$B$J$*%3!<%I7O$r(B unicode $B$K$7$F$*$/$H!"F|K\8l(B Windows 95 $B$+$i(B Samba $B$N%I(B $B%i%$%V$r@\B3$7$?>l9g!"?75,%U%)%k%@$N:n@.$,$G$-$J$/$J$k$H$$$&IT6q9g$,$"(B $B$k$=$&$G$9!#(B <P>==$BLuCm=*(B== <P> <HR> <H2><A NAME="s7">7.</A> <A HREF="#toc7">Windows $B$N%I%i%$%V$r(B Linux $B%^%7%s$G6&M-$9$k(B</A></H2> <P> <P>Samba $B$NG[I[%Q%C%1!<%8$K$O!"(BUnix $B%^%7%s$N$?$a$N(B SMB $B%/%i%$%"%s%H%W%m%0(B $B%i%`$,4^$^$l$F$$$^$9!#$3$N%W%m%0%i%`$O(B ftp $B$N$h$&$J%3%^%s%I;X8~$N%$%s(B $B%?!<%U%'!<%9$r;}$C$F$$$^$9!#$3$N%W%m%0%i%`$r;H$($P!"(BWindows $B$N%5!<%P$H!"(B Linux $B$N%/%i%$%"%s%H$H$N$"$$$@$G!"%U%!%$%k$N$d$j<h$j$,$G$-$^$9!#(B <P>===$BLuCm(B=== <P>2.0 $B0J>e$J$I$N:G6a$N%+!<%M%k$G$O(B <CODE>smbfs</CODE> $B$H$$$&%U%!%$%k%7%9%F%`$,$"(B $B$j!"(BNT $B$J$I$N%M%C%H%o!<%/%I%i%$%V$rD>@\%^%&%s%H$G$-$k$h$&$G$9!#>\:Y$O!"(B $B%+!<%M%k%G%#%l%/%H%j2<(B <CODE>Documentation/filesystems/smbfs.txt</CODE> $B$r(B $B8+$F2<$5$$!#(B <P>==$BLuCm=*(B== <P>$B$"$k%[%9%H$G$I$s$J6&M-%5!<%S%9$,MxMQ=PMh$k$+$rD4$Y$k$?$a$K$O!"0J2<$N(B $B$h$&$J%3%^%s%I$r<B9T$7$^$9!#(B <P> <HR> <PRE> /usr/sbin/smbclient -L host </PRE> <HR> <P><CODE>host</CODE> $B$K$OD4$Y$?$$%[%9%H$NL>A0$rF~$l$^$9!#$3$N%3%^%s%I$r<B9T$9$k$H!"(B $B%5!<%S%9L>$N%j%9%H$,F@$i$l$^$9!#%5!<%S%9L>$H$O!"$"$J$?$,$3$N%[%9%H$GMx(B $BMQ$G$-$k%I%i%$%V$d%W%j%s%?$NL>A0$G$9!#$b$7(B SMB $B%5!<%P$K2?$i$+$N%;%-%e(B $B%j%F%#@)8B$,$+$+$C$F$$$k$H%Q%9%o!<%I$rJ9$+$l$^$9$N$G!"(B<CODE>guest</CODE> $B%"%+(B $B%&%s%H$N%Q%9%o!<%I$+!"$=$N%[%9%H$G$N$"$J$?$N8D?M%"%+%&%s%H$N%Q%9%o!<%I(B $B$rF~$l$F2<$5$$!#(B <P>$B<B9TNc$r<($7$^$9!#(B <P> <HR> <PRE> smbclient -L zimmerman </PRE> <HR> <P>$B<B9T7k2L$O0J2<$N$h$&$K$J$k$G$7$g$&!#(B <P> <HR> <PRE> Server time is Sat Aug 10 15:58:27 1996 Timezone is UTC+10.0 Password: Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51] Server=[ZIMMERMAN] User=[] Workgroup=[WORKGROUP] Domain=[] Sharename Type Comment --------- ---- ------- ADMIN$ Disk Remote Admin public Disk Public C$ Disk Default share IPC$ IPC Remote IPC OReilly Printer OReilly print$ Disk Printer Drivers This machine has a browse list: Server Comment --------- ------- HOPPER Samba 1.9.15p8 KERNIGAN Samba 1.9.15p8 LOVELACE Samba 1.9.15p8 RITCHIE Samba 1.9.15p8 ZIMMERMAN </PRE> <HR> <P>$B%V%i%&%:%j%9%H!J(Bbrowse list$B!K$O!"%M%C%H%o!<%/>e$NB>$N(B SMB $B%5!<%P$N6&M-(B $B%j%=!<%9$r<($7$?$b$N$G$9!#(B <P>$B%/%i%$%"%s%H$H$7$FMxMQ$9$k$K$O0J2<$N$h$&$K<B9T$7$^$9!#(B <P> <HR> <PRE> /usr/sbin/smbclient service <password> </PRE> <HR> <P><CODE>service</CODE> $B$K$O%[%9%HL>$H6&M-L>$r;XDj$7$^$9!#%[%9%H(B <CODE>zimmerman</CODE> $B$K$*$$$F(B <CODE>public</CODE> $B$H$$$&L>A0$G8x3+$5$l$F$$$k%G%#%l%/%H%j$rMxMQ$9$k(B $B$?$a$K$O!"(B<CODE>service</CODE> $B$O(B <CODE>\\zimmerman\public</CODE> $B$H$J$j$^$9!#%7%'%k$N%W%m%s%W%H$+$i$3$N%3%^%s%I$rMxMQ$9$k>l9g$O!"%P%C%/(B $B%9%i%C%7%e$r%(%9%1!<%W$7$J$$$H$$$1$^$;$s$+$i!"7k6I<!$N$h$&$KF~NO$9$kI,(B $BMW$,$"$j$^$9!#(B <P> <HR> <PRE> /usr/sbin/smbclient \\\\zimmerman\\public mypasswd </PRE> <HR> <P><CODE>mypassword</CODE> $B$K$O!"$"$J$?$N(B $B%Q%9%o!<%I$r$=$N$^$^=q$$$F$/$@$5$$!#(B <P>===$BLuCm(B=== <P>$B0J2<$O>>K\!w5~Bg?M4V4D6-$5$s$K$h$k$b$&$A$g$C$H4JC1$JF~NOJ}K!$G$9!#(B <P> <HR> <PRE> /usr/sbin/smbclient '\\zimmerman\public' mypasswd </PRE> <HR> <P>==$BLuCm=*(B== <P>$B0J2<$N$h$&$J(B <CODE>smbclient</CODE> $B$N%W%m%s%W%H$,=P$F$-$^$9!#(B <P> <HR> <PRE> Server time is Sat Aug 10 15:58:44 1996 Timezone is UTC+10.0 Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51] smb: \> </PRE> <HR> <P><CODE>h</CODE> $B$HBG$F$P!"(B<CODE>smbclient</CODE> $B$N%X%k%W$,F@$i$l$^$9!#(B <P> <HR> <PRE> smb: \> h ls dir lcd cd pwd get mget put mput rename more mask del rm mkdir md rmdir rd prompt recurse translate lowercase print printmode queue cancel stat quit q exit newer archive tar blocksize tarmode setmode help ? ! smb: \> </PRE> <HR> <P>ftp $B$r;H$($k?M$J$i!"(Bman $B%Z!<%8$r8+$k$^$G$b$J$/(B <CODE>smbclient</CODE> $B$,;H$($k(B $B$h$&$K$J$k$G$7$g$&!#(B <P> <HR> <H2><A NAME="s8">8.</A> <A HREF="#toc8">Linux $B%^%7%s$N%W%j%s%?$r(B Windows $B%^%7%s$+$iMxMQ$9$k(B</A></H2> <P> <P>Linux $B$N%W%j%s%?$r(B Windows $B$+$iMxMQ$9$k$K$O!"(BLinux $B>e$G%W%j%s%?$,$A$c(B $B$s$HF0:n$9$k$h$&$K@5$7$/@_Dj$5$l$F$$$kI,MW$,$"$j$^$9!#(BLinux $B$G$N%W%j%s(B $B%H$,$G$-$F$$$l$P(B SMB $B$G$N6&M-$O4JC1$G$9!#(B <P>$B%m!<%+%k%W%j%s%?$N@_Dj$K$D$$$F$O(B Printing HOWTO $B$r$_$F$/$@$5$$!#(B <P>$BI.<T<+?H$O(B Windows NT $B$K@\B3$5$l$F$$$k%W%j%s%?$r;H$C$F$$$k$N$G!"$3$N@a(B $B$K=q$$$F$"$k$3$H$O@dBP$K@5$7$$$H$O8B$j$^$;$s!#=u8@DxEY$K<u$1$H$a$F$*$$(B $B$F$/$@$5$$!#$b$76qBNE*$J;HMQ7P83$r;}$C$F$$$kJ}$,$$$i$C$7$c$$$^$7$?$i!"(B $B$I$&$>(B <A HREF="mailto:dwood@plugged.net.au">dwood@plugged.net.au</A> $B$^$GCN$i$;$F$/$@$5$$!#$=$&$9$l$P$3$N>O$NFbMF$r40@.$G$-$^$9!#(B <P><CODE>smb.conf</CODE> $B$K%W%j%s%?$N@_Dj$r2C$($^$9!#(B <P> <HR> <PRE> [global] printing = bsd printcap name = /etc/printcap load printers = yes log file = /var/log/samba-log.%m lock directory = /var/lock/samba [printers] comment = All Printers security = server path = /var/spool/lpd/lp browseable = no printable = yes public = yes writable = no create mode = 0700 [ljet] security = server path = /var/spool/lpd/lp printer name = lp writable = yes public = yes printable = yes print command = lpr -r -h -P %p %s </PRE> <HR> <P>$B%W%j%s%?$N%;%/%7%g%s$K$*$1$k(B <CODE>path</CODE> $B$K$O!"(B<CODE>/etc/printcap</CODE> $B$G(B $B@_Dj$7$?%9%W!<%k%G%#%l%/%H%j$HF1$8%G%#%l%/%H%j$r;XDj$7$F$/$@$5$$!#(B <P>$BCm0U(B: Samba $B$r;H$C$F(B Unix $B%^%7%s$N%W%j%s%?$r(B Windows NT $B%^%7%s$+$i6&M-(B $B$5$;$k:]$K$OLdBjE@$,$$$/$D$+$"$j$^$9!#$=$N$&$A$N0l$D$O!"(BNT $B$+$i$O(B $B6&M-%W%j%s%?$,@5$7$/8+$($J$$$H$$$&$b$N$G$9!#$3$NLdBj$r2r7h$9$k$K$O(B Samba $BG[I[%Q%C%1!<%8$N(B <CODE>docs/WinNT.txt</CODE> $B%U%!%$%k$r;2>H$7$F2<$5(B $B$$!#%Q%9%o!<%I$K4X$9$kLdBj$b$"$j$^$9!#$3$A$i$NJ}$OF1%U%!%$%k$r8+$F$b!"(B $B$$$i$$$i$9$k$@$1$G2r7h$K$O$J$j$^$;$s(B... <P>===$BLuCm(B=== <P>$BLu<T$O(B Linux $B$K$D$J$,$C$F$$$k(B Epson MJ-700V2C $B$r(B Samba $B$G8x3+$7(B Windows 95 $B$+$i;H$C$F$$$^$9$N$G!"$=$N@_DjFbMF$r0J2<$K5-$7$^$9!#$?$@$7!"(B $B8x3+@h$O%W%i%$%Y!<%H%"%I%l%9$N$D$$$?%M%C%H%o!<%/$J$N$G!"4pK\E*$K%;%-%e(B $B%j%F%#$N$3$H$O9M$($F$$$^$;$s!#(B <P>$B$^$:(B <CODE>smb.conf</CODE> $B$G$9!#(B <HR> <PRE> [global] lock directory = /var/locks/samba workgroup = WORKGROUP browseable = yes allow hosts = 192.168.111. printing = bsd load printers = no printcap name = /etc/printcap password level = 8 create mode = 0750 mangle case = no case sensitive = no default case = upper preserve case = yes short preserve case = yes [lp] comment = MJ-700V2C printer name = lp path = /var/tmp printable = yes writable = yes create mode = 0700 </PRE> <HR> <P><CODE>/etc/printcap</CODE> $B$G$9!#(B <P> <HR> <PRE> lp:\ :lp=/dev/lp1:\ :sd=/var/spool/lpd/lp:\ :lf=/var/spool/lpd/lp/errs:\ :if=/var/spool/lpd/lp/incat:\ :mx#0:\ :sh:\ :sf: </PRE> <HR> <P>$B%$%s%W%C%H%U%#%k%?$N(B <CODE>/var/spool/lpd/lp/incat</CODE> $B$G$9!#(B <P> <HR> <PRE> #!/bin/sh /bin/cat exit 0 </PRE> <HR> <P>Windows 95 $B$+$i$O!"%M%C%H%o!<%/%I%i%$%V$rA*Br$7$?8e(B MJ-700V2C $B$N%I%i(B $B%$%P$r<j$GA*$s$G%$%s%9%H!<%k$9$kI,MW$,$"$j$^$9!#(B <P>==$BLuCm=*(B== <P> <P> <HR> <H2><A NAME="s9">9.</A> <A HREF="#toc9">Linux $B%^%7%s$+$i(B Windows $B$N%W%j%s%?$r;H$&(B</A></H2> <P> <P>Windows $B%^%7%s>e$N%W%j%s%?$r6&M-$9$k$?$a$K$O0J2<$N:n6H$,I,MW$G$9!#(B <P> <OL> <LI><CODE>/etc/printcap</CODE> $B$K@5$7$$%(%s%H%j$,I,MW$G!"$=$l$i$O%m!<%+(B $B%k$J%G%#%l%/%H%j9=B$$K=`$8$?$b$N$G$"$kI,MW$,$"$j$^$9!J%9%W!<%k%G%#%l%/(B $B%H%j$N@_Dj$J$I!K!#(B </LI> <LI><CODE>/usr/bin/smbprint</CODE> $B%9%/%j%W%H$,I,MW$G$9!#$3$l$O(B Samba $B$N(B $B%=!<%9%Q%C%1!<%8$KIU$$$F$-$^$9$,!"(BSamba $B$N%P%$%J%jG[I[%Q%C%1!<%8$K$OIU(B $B$$$F$3$J$$$+$b$7$l$^$;$s!#8e$G%*%j%8%J%k$r>/!9=$@5$7$?$b$N$r:\$;$^$9!#(B </LI> <LI>ASCII $B%U%!%$%k$r(B Postscript $B7A<0$KJQ49$9$kI,MW$,$"$k>l9g$K$O!"(B <CODE>nenscript</CODE> $B$J$I$N(B Postscript $B%3%s%P!<%?$r=`Hw$9$kI,MW$,$"$j$^$9!#(B <CODE>nenscript</CODE> $B$ODL>o$O(B <CODE>/usr/bin</CODE> $B$K%$%s%9%H!<%k$5$l$F$$$^$9!#(B </LI> <LI>Samba $B$rMxMQ$7$?0u:~$rMF0W$K$7$F$/$l$k$h$&$J%U%m%s%H%(%s%I$,M_$7(B $B$1$l$P!"0J2<$K5-$7$?4JC1$J(B perl $B%9%/%j%W%H$r;n$7$F2<$5$$!#(BASCII$B!"(B Postscript$B!"(Bcreated Postscript $B$,07$($k$h$&$K$J$C$F$$$^$9!#(B </LI> </OL> <P>$B0J2<$K5-$9$N$O!"(BWindows NT $B%W%j%s%?$K@\B3$5$l$?(B HP 5MP $B%W%j%s%?$rMxMQ(B $B$9$k$?$a$N(B <CODE>/etc/printcap</CODE> $B$X$N%(%s%H%j$G$9!#$=$l$>$l$NFbMF$O0J(B $B2<$NDL$j$G$9!#(B <P> <DL> <DT><B>cm</B><DD><P>$B%3%a%s%H(B <DT><B>lp</B><DD><P>$B=PNO$K;H$&%G%P%$%9L>(B <DT><B>sd</B><DD><P>$B$3$N%W%j%s%?$N$?$a$N%9%W!<%k%G%#%l%/%H%j(B <DT><B>af</B><DD><P>$B%"%+%&%s%H%U%!%$%k(B <DT><B>mx</B><DD><P>$B:GBg$N%U%!%$%k%5%$%:!J(B0 $B$K$9$l$PL5@)8B$K$J$j$^$9!K(B <DT><B>if</B><DD><P>$BF~NO$KMQ$$$i$l$k%U%#%k%?!J$^$?$O%9%/%j%W%H!K(B </DL> <P>$B$5$i$K>pJs$,I,MW$J$i!"(BPrinting HOWTO $B$d(B <CODE>printcap</CODE> $B$N(B man $B%Z!<%8$r(B $B8+$F2<$5$$!#(B <P> <HR> <PRE> # /etc/printcap # # //zimmerman/oreilly via smbprint # lp:\ :cm=HP 5MP Postscript OReilly on zimmerman:\ :lp=/dev/lp1:\ :sd=/var/spool/lpd/lp:\ :af=/var/spool/lpd/lp/acct:\ :mx#0:\ :if=/usr/bin/smbprint: </PRE> <HR> <P> <P>$B%9%W!<%k%G%#%l%/%H%j$H%"%+%&%s%H%U%!%$%k$,B8:_$7$F$*$j!"=q$-9~$_2DG=$G(B $B$"$k$3$H$r3NG'$7$F$*$$$F2<$5$$!#$^$?(B <CODE>printcap</CODE> $B$N(B <CODE>if</CODE> $B9T$K!"0J(B $B2<$K5-$9(B <CODE>smbprint</CODE> $B%9%/%j%W%H$X$N@5$7$$%Q%9$,@_Dj$5$l$F$$$k$3$H!"(B <CODE>lp</CODE> $B9T$K(B <CODE>/dev</CODE> $B%G%#%l%/%H%j$K$"$k@5$7$$%G%P%$%9$,@_Dj$5$l(B $B$F$$$k$3$H$b3NG'$7$F2<$5$$!#(B <P>$B<!$O(B <CODE>smbprint</CODE> $B$G$9!#$3$l$ODL>o(B <CODE>/usr/bin</CODE> $B$KCV$+$l$F$*$j!"(B Samba $B$r:n$C$?(B Andrew Tridgell $BK\?M$K$h$C$F=q$+$l$?$b$N$G$9!JI.<T$NCN(B $B$i$J$$(B Samba $B$N6&:n<T$,B>$K$$$i$C$7$c$C$?$i$9$_$^$;$s!K!#$3$l$O(B Samba $B$N%=!<%9%Q%C%1!<%8$KF~$C$F$$$^$9$,!"%P%$%J%jG[I[$N>l9g$K$OL5$$$+$bCN$l(B $B$^$;$s$N$G!"0J2<$K;d$,>/!9<j$r2C$($?$b$N$r<($7$F$*$-$^$9!#(B <P>$B0J2<$K5-$7$?%9%/%j%W%H$rCm0U?<$/8+$F2<$5$$!#$3$l$O%*%j%8%J%k$r=$@5$7$?(B $B$b$N$G!"B?>/;H$$$d$9$/$J$C$F$$$k$H;W$$$^$9!#(B <P> <HR> <PRE> #!/bin/sh -x # This script is an input filter for printcap printing on a unix machine. It # uses the smbclient program to print the file to the specified smb-based # server and service. # For example you could have a printcap entry like this # # smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint # # which would create a unix printer called "smb" that will print via this # script. You will need to create the spool directory /usr/spool/smb with # appropriate permissions and ownerships for your system. # Set these to the server and service you wish to print to # In this example I have a WfWg PC called "lapland" that has a printer # exported called "printer" with no password. # # Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton) # so that the server, service, and password can be read from # a /usr/var/spool/lpd/PRINTNAME/.config file. # # In order for this to work the /etc/printcap entry must include an # accounting file (af=...): # # cdcolour:\ # :cm=CD IBM Colorjet on 6th:\ # :sd=/var/spool/lpd/cdcolour:\ # :af=/var/spool/lpd/cdcolour/acct:\ # :if=/usr/local/etc/smbprint:\ # :mx=0:\ # :lp=/dev/null: # # The /usr/var/spool/lpd/PRINTNAME/.config file should contain: # server=PC_SERVER # service=PR_SHARENAME # password="password" # # E.g. # server=PAULS_PC # service=CJET_371 # password="" # # Debugging log file, change to /dev/null if you like. # logfile=/tmp/smb-print.log # logfile=/dev/null # # The last parameter to the filter is the accounting file name. # spool_dir=/var/spool/lpd/lp config_file=$spool_dir/.config # Should read the following variables set in the config file: # server # service # password # user eval `cat $config_file` # # Some debugging help, change the >> to > if you want to same space. # echo "server $server, service $service" >> $logfile ( # NOTE You may wish to add the line `echo translate' if you want automatic # CR/LF translation when printing. echo translate echo "print -" cat ) | /usr/bin/smbclient "\\\\$server\\$service" $password -U $user -N -P >> $log file </PRE> <HR> <P>$B$[$H$s$I$N(B Linux $B%Q%C%1!<%8$K$O!"(BASCII $BJ8=q$r(B Postscript $B$K$9$k(B <CODE>nenscript</CODE> $B%3%^%s%I$,4^$^$l$F$$$^$9!#0J2<$N(B perl $B%9%/%j%W%H$O!"(B <CODE>smbprint</CODE> $B$r;H$C$F0u:~$9$k:]$K!"$h$j%7%s%W%k$J%$%s%?!<%U%'!<%9$rDs(B $B6!$9$k$b$N$G$9!#(B <P> <HR> <PRE> Usage: print [-a|c|p] <filename> -a prints <filename> as ASCII -c prints <filename> formatted as source code -p prints <filename> as Postscript If no switch is given, print attempts to guess the file type and print appropriately. </PRE> <HR> <P><CODE>smbprint</CODE> $B$r;H$C$F(B ASCII $B%U%!%$%k$r0u:~$9$k$H!"D9$$9T$O2~9T$5$l$F(B $B$7$^$$$^$9!#$3$N%9%/%j%W%H$G$O!"2DG=$J8B$jC18l$NESCf$G$O$J$/!"6uGr$G2~(B $B9T$9$k$h$&$K$7$F$$$^$9!#(B <P>$B%=!<%9%3!<%I$N%U%)!<%^%C%H$K$O(B <CODE>nenscript</CODE> $B$rMQ$$$F$$$^$9!#(BASCII $B%U%!(B $B%$%k$O(B 2 $BCJAH$_$K@07A$5$l!"%X%C%@!JF|IU!"%U%!%$%kL>$J$I!K$,$D$-$^$9!#(B $B$3$N%9%/%j%W%H$r?w7A$K$7$F!"B>$N@07AJ}K!$rMQ$$$k$3$H$b$G$-$k$G$7$g$&!#(B <P>Postscript $B$NJ8=q$O$9$G$K@07A$5$l$F$$$k$b$N$H$_$J$7$F!"$=$N$^$^DL$9$h(B $B$&$K$J$C$F$$$^$9!#(B <P> <HR> <PRE> #!/usr/bin/perl # Script: print # Authors: Brad Marshall, David Wood # Plugged In Communications # Date: 960808 # # Script to print to oreilly which is currently on zimmerman # Purpose: Takes files of various types as arguments and # processes them appropriately for piping to a Samba print script. # # Currently supported file types: # # ASCII - ensures that lines longer than $line_length characters wrap on # whitespace. # Postscript - Takes no action. # Code - Formats in Postscript (using nenscript) to display # properly (landscape, font, etc). # # Set the maximum allowable length for each line of ASCII text. $line_length = 76; # Set the path and name of the Samba print script $print_prog = "/usr/bin/smbprint"; # Set the path and name to nenscript (the ASCII-->Postscript converter) $nenscript = "/usr/bin/nenscript"; unless ( -f $print_prog ) { die "Can't find $print_prog!"; } unless ( -f $nenscript ) { die "Can't find $nenscript!"; } &ParseCmdLine(@ARGV); # DBG print "filetype is $filetype\n"; if ($filetype eq "ASCII") { &wrap($line_length); } elsif ($filetype eq "code") { &codeformat; } elsif ($filetype eq "ps") { &createarray; } else { print "Sorry..no known file type.\n"; exit 0; } # Pipe the array to smbprint open(PRINTER, "|$print_prog") || die "Can't open $print_prog: $!\n"; foreach $line (@newlines) { print PRINTER $line; } # Send an extra linefeed in case a file has an incomplete last line. print PRINTER "\n"; close(PRINTER); print "Completed\n"; exit 0; # --------------------------------------------------- # # Everything below here is a subroutine # # --------------------------------------------------- # sub ParseCmdLine { # Parses the command line, finding out what file type the file is # Gets $arg and $file to be the arguments (if the exists) # and the filename if ($#_ < 0) { &usage; } # DBG # foreach $element (@_) { # print "*$element* \n"; # } $arg = shift(@_); if ($arg =~ /\-./) { $cmd = $arg; # DBG # print "\$cmd found.\n"; $file = shift(@_); } else { $file = $arg; } # Defining the file type unless ($cmd) { # We have no arguments if ($file =~ /\.ps$/) { $filetype = "ps"; } elsif ($file =~ /\.java$|\.c$|\.h$|\.pl$|\.sh$|\.csh$|\.m4$|\.inc$|\.html$|\.htm$/) { $filetype = "code"; } else { $filetype = "ASCII"; } # Process $file for what type is it and return $filetype } else { # We have what type it is in $arg if ($cmd =~ /^-p$/) { $filetype = "ps"; } elsif ($cmd =~ /^-c$/) { $filetype = "code"; } elsif ($cmd =~ /^-a$/) { $filetype = "ASCII" } } } sub usage { print " Usage: print [-a|c|p] <filename> -a prints <filename> as ASCII -c prints <filename> formatted as source code -p prints <filename> as Postscript If no switch is given, print attempts to guess the file type and print appropriately.\n "; exit(0); } sub wrap { # Create an array of file lines, where each line is < the # number of characters specified, and wrapped only on whitespace # Get the number of characters to limit the line to. $limit = pop(@_); # DBG #print "Entering subroutine wrap\n"; #print "The line length limit is $limit\n"; # Read in the file, parse and put into an array. open(FILE, "<$file") || die "Can't open $file: $!\n"; while(<FILE>) { $line = $_; # DBG #print "The line is:\n$line\n"; # Wrap the line if it is over the limit. while ( length($line) > $limit ) { # DBG #print "Wrapping..."; # Get the first $limit +1 characters. $part = substr($line,0,$limit +1); # DBG #print "The partial line is:\n$part\n"; # Check to see if the last character is a space. $last_char = substr($part,-1, 1); if ( " " eq $last_char ) { # If it is, print the rest. # DBG #print "The last character was a space\n"; substr($line,0,$limit + 1) = ""; substr($part,-1,1) = ""; push(@newlines,"$part\n"); } else { # If it is not, find the last space in the # sub-line and print up to there. # DBG #print "The last character was not a space\n"; # Remove the character past $limit substr($part,-1,1) = ""; # Reverse the line to make it easy to find # the last space. $revpart = reverse($part); $index = index($revpart," "); if ( $index > 0 ) { substr($line,0,$limit-$index) = ""; push(@newlines,substr($part,0,$limit-$index) . "\n"); } else { # There was no space in the line, so # print it up to $limit. substr($line,0,$limit) = ""; push(@newlines,substr($part,0,$limit) . "\n"); } } } push(@newlines,$line); } close(FILE); } sub codeformat { # Call subroutine wrap then filter through nenscript &wrap($line_length); # Pipe the results through nenscript to create a Postscript # file that adheres to some decent format for printing # source code (landscape, Courier font, line numbers). # Print this to a temporary file first. $tmpfile = "/tmp/nenscript$$"; open(FILE, "|$nenscript -2G -i$file -N -p$tmpfile -r") || die "Can't open nenscript: $!\n"; foreach $line (@newlines) { print FILE $line; } close(FILE); # Read the temporary file back into an array so it can be # passed to the Samba print script. @newlines = (""); open(FILE, "<$tmpfile") || die "Can't open $file: $!\n"; while(<FILE>) { push(@newlines,$_); } close(FILE); system("rm $tmpfile"); } sub createarray { # Create the array for postscript open(FILE, "<$file") || die "Can't open $file: $!\n"; while(<FILE>) { push(@newlines,$_); } close(FILE); } </PRE> <HR> <P>===$BLuCm(B=== <P><CODE>nenscrpt</CODE> $B$OF|K\8l$rDL$7$^$;$s$,!"(BJE $B$K$O(B <CODE>psconv</CODE> $B$H$$$&F|K\8l(B $B$KBP1~$7$?%3%^%s%I$,F~$C$F$$$^$9!#B>$K$b(B <CODE>a2ps</CODE>$B!"(B<CODE>ps2ascii</CODE>$B!"(B <CODE>ps2txt</CODE>$B!"(B<CODE>toPS</CODE> $B$J$IMM!9$J$b$N$,%M%C%H%o!<%/$+$iF~<j2DG=$G$9!#(B <P>$B$J$*!"Lu<T$O$3$N>O$N%9%/%j%W%H$r%F%9%H$G$-$k4D6-$,$"$j$^$;$s$N$G!"86J8(B $B$K$"$C$?%9%/%j%W%H$r$=$N$^$^:\$;$F$*$-$^$7$?!#2~B$$7$FF|K\8l$rDL$9$3$H(B $B$K@.8y$7$?J}$O!"$4O"Mm2<$5$l$P9,$$$G$9!#(B <P>==$BLuCm=*(B== <P> <HR> <H2><A NAME="s10">10.</A> <A HREF="#toc10">$BCx:n8"(B</A></H2> <P> <P>$B$3$N(B HOWTO $BJ8=q$NCx:n8"$O(B 1996 $BG/0J9_(B David Wood $B$K$"$k$b$N$H$7$^$9!#(B $B$3$N@a$N@k8@$r4^$`$9$Y$F$NJ8=q$,JQ99$5$l$J$$8B$j$K$*$$$F!"$"$i$f$k7A<0(B $B$X$N$3$NJ8=q$NJ#@=!"$*$h$S$=$N:FG[I[$r5v2D$7$^$9!#(B <P> <HR> <H2><A NAME="s11">11.</A> <A HREF="#toc11">$B<U<-(B</A></H2> <P> <P>$B$b$7%a!<%k$G8f0U8+$r$$$?$@$1$l$P!"<!$NHG$N%j%j!<%9$N:]$K!"$3$N@a$G$*L>(B $BA0$r5s$2$F46<U$7$?$$$H;W$$$^$9!#(B <P>===$BLuCm(B=== <P>$BF|K\8l$X$NK]Lu$KEv$?$C$F$O!"(B <BLOCKQUOTE><CODE> <PRE> $B2,K\0l9,$5$s(B ikko-@pacific.rim.or.jp $B7,B<!!=a$5$s(B juk@rccm.co.jp $B>>K\>1;J$5$s(B shom@i.h.kyoto-u.ac.jp $BL'1:0o;K$5$s(B minoura@biol.s.u-tokyo.ac.jp </PRE> </CODE></BLOCKQUOTE> $B$K8mLu$N;XE&$dM-1W$J%3%a%s%H$r$$$?$@$-$^$7$?!#(B <P>==$BLuCm=*(B== <P> <HR> sgml21html conversion date: Sat Feb 16 20:57:25 JST 2002 </BODY> </HTML>