SMB HOWTO

David Wood, dwood@plugged.net.au, пÅÒÅвÏÄ Alex Ott ott@phtd.tpu.edu.ru

v1.1, 25 ÍÁÒÔÁ 1999


üÔÏ SMB HOWTO. üÔÏÔ ÄÏËÕÍÅÎÔ ÏпÉÓÙвÁÅÔ ÉÓпÏÌØÚÏвÁÎÉÅ в Linux пÒÏÔÏËÏÌÁ Server Message Block (SMB), ËÏÔÏÒÙÊ ÉÎÏÇÄÁ ÔÁËÖÅ ÎÁÚÙвÁÅÔÓÑ пÒÏÔÏËÏÌÏÍ Session Message Block (SMB), пÒÏÔÏËÏÌÏÍ NetBIOS ÉÌÉ пÒÏÔÏËÏÌÏÍ LanManager.

ðÒÉÍÅÞÁÎÉÅ пÅÒÅвÏÄÞÉËÁ: ûÌÉÔÅ ÍÎÅ ÌÀÂÙÅ ËÏÍÍÅÎÔÁÒÉÉ É ÚÁÍÅÞÁÎÉÑ, ÄÁÖÅ ÎÅÂÏÌØÛÉÅ.

1. ВвÅÄÅÎÉÅ

üÔÏ SMB HOWTO. üÔÏÔ ÄÏËÕÍÅÎÔ ÏпÉÓÙвÁÅÔ ÉÓпÏÌØÚÏвÁÎÉÅ в Linux пÒÏÔÏËÏÌÁ Server Message Block (SMB), ËÏÔÏÒÙÊ ÉÎÏÇÄÁ ÔÁËÖÅ ÎÁÚÙвÁÅÔÓÑ пÒÏÔÏËÏÌÏÍ Session Message Block (SMB), пÒÏÔÏËÏÌÏÍ NetBIOS ÉÌÉ пÒÏÔÏËÏÌÏÍ LanManager. èÏÔÑ ÜÔÏÔ ÄÏËÕÍÅÎÔ É пÒÅÄÎÁÚÎÁÞÅÎ ÄÌÑ Linux, ÎÏ Samba ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÎÁ ÂÏÌØÛÉÎÓÔвÅ Unix-пÏÄÏÂÎÙÈ ÏпÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍ.

üÔÏÔ ÄÏËÕÍÅÎÔ ÓÏпÒÏвÏÖÄÁÅÔÓÑ David Wood ( dwood@plugged.net.au). äÏÂÁвÌÅÎÉÑ, ÉÚÍÅÎÅÎÉÑ ÉÌÉ ÉÓпÒÁвÌÅÎÉÑ ÍÏÇÕÔ ÂÙÔØ пÏÓÌÁÎÙ ÅÍÕ ÄÌÑ вËÌÀÞÅÎÉÑ в ÓÌÅÄÕÀÝÉÊ вÙпÕÓË.

âÏÌØÛÏÅ ËÏÌÉÞÅÓÔвÏ ÄÏËÕÍÅÎÔÁÃÉÉ пÏ Samba ÄÏÓÔÕпÎÏ ÎÁ WWW-ÓÅÒвÅÒÅ Samba, ËÏÔÏÒÙÊ ÎÁÈÏÄÉÔÓÑ пÏ ÁÄÒÅÓÕ http://www.samba.org/. ВÙ ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓпÏÌØÚÏвÁÔØ ÇÒÕппÕ ÎÏвÏÓÔÅÊ comp.protocols.smb.

ðÒÏÔÏËÏÌ SMB ÉÓпÏÌØÚÕÅÔÓÑ Microsoft Windows 3.11, NT É 95/98 ÄÌÑ ÏÒÇÁÎÉÚÁÃÉÉ ÄÏÓÔÕпÁ Ë ÄÉÓËÁÍ É пÒÉÎÔÅÒÁÍ. éÓпÏÌØÚÕÑ ÎÁÂÏÒ ÕÔÉÌÉÔ Samba ÏÔ Andrew Tridgell ( Andrew.Tridgell@anu.edu.au), UNIX-ÍÁÛÉÎÙ (вËÌÀÞÁÑ Linux) ÍÏÇÕÔ ÏÒÇÁÎÉÚÏвÙвÁÔØ ÄÏÓÔÕп Ë ÄÉÓËÁÍ É пÒÉÎÔÅÒÁÍ ÄÌÑ Windows-ÍÁÛÉÎ. õÔÉÌÉÔÙ smbfs ÎÁпÉÓÁÎÎÙÅ Paal-Kr. Engstad ( pke@engstad.ingok.hitos.no) É Volker Lendecke ( lendecke@namu01.gwdg.de) ÄÁÀÔ вÏÚÍÏÖÎÏÓÔØ ÍÁÛÉÎÁÍ Ó Unix ÍÏÎÔÉÒÏвÁÔØ SMB-ÒÅÓÕÒÓÙ ÄÏÓÔÕпÎÙÅ ÎÁ ÍÁÛÉÎÁÈ Ó Windows ÉÌÉ Samba.

þÅÔÙÒÅ вÅÝÉ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÄÅÌÁÔØ Ó пÏÍÏÝØÀ Samba:

  1. ÄÁвÁÔØ ÄÏÓÔÕп Ë ÄÉÓËÁÍ Linux Windows-ÍÁÛÉÎÁÍ.
  2. пÏÌÕÞÁÔØ ÄÏÓÔÕп Ë ÄÉÓËÁÍ Windows ÄÌÑ ÍÁÛÉÎ пÏÄ Linux.
  3. ÄÁвÁÔØ ÄÏÓÔÕп Ë пÒÉÎÔÅÒÁÍ Linux ÄÌÑ Windows-ÍÁÛÉÎ.
  4. пÏÌÕÞÁÔØ ÄÏÓÔÕп Ë пÒÉÎÔÅÒÁÍ Windows ÉÚ Linux-ÓÉÓÔÅÍ.

ïÂÏ вÓÅÍ ÜÔÏÍ ÒÁÓÓËÁÚÙвÁÅÔÓÑ в ÜÔÏÍ ÄÏËÕÍÅÎÔÅ.

ïÔËÁÚ ÏÔ ÏÔвÅÔÓÔвÅÎÎÏÓÔÉ: ðÒÏÃÅÄÕÒÙ É пÒÏÇÒÁÍÍÙ ÌÉÂÏ ÒÁÂÏÔÁÀÔ ÄÌÑ ÁвÔÏÒÁ, ÌÉÂÏ ÂÙÌÏ ÓÏÏÂÝÅÎÏ, ÞÔÏ ÏÎÉ ÒÁÂÏÔÁÀÔ ÄÌÑ ÌÀÄÅÊ, ËÏÔÏÒÙÅ ÒÁÚÒÁÂÏÔÁÌÉ ÉÈ. òÁÚÌÉÞÎÙÅ ËÏÎÆÉÇÕÒÁÃÉÉ ÍÏÇÕÔ ÎÅ ÒÁÂÏÔÁÔØ Ó ÉÎÆÏÒÍÁÃÉÅÊ ÄÁÎÎÏÊ ÚÄÅÓØ. åÓÌÉ вÙ ÓÔÏÌËÎÕÌÉÓØ Ó ÔÁËÏÊ ÓÉÔÕÁÃÉÅÊ, вÙ ÍÏÖÅÔÅ пÏÓÌÁÔØ ÓÏÏÂÝÅÎÉÅ ÁвÔÏÒÕ ÄÏËÕÍÅÎÔÁ Ó пÏÖÅÌÁÎÉÑÍÉ ÄÌÑ ÅÇÏ ÕÌÕÞÛÅÎÉÑ, ÎÏ ÁвÔÏÒ ÎÉÞÅÇÏ ÎÅ ÇÁÒÁÎÔÉÒÕÅÔ. þÔÏ вÙ ÏÖÉÄÁÌÉ? áвÔÏÒ, ËÒÏÍÅ вÓÅÇÏ пÒÏÞÅÇÏ, ËÏÎÓÕÌØÔÁÎÔ...

úÁÍÅÔÉÍ, ÞÔÏ ÄÌÑ ÄÏÓÔÕпÁ Ë SMB-ÒÅÓÕÒÓÁÍ Ó ÍÁÛÉÎ Ó Windows 3.x, ÎÁ ÎÉÈ ÄÏÌÖÅÎ ÂÙÔØ ÕÓÔÁÎÏвÌÅÎ ÓÔÜË TCP/IP É ÂÉÂÌÉÏÔÅËÉ Win32s. ïÂÁ ÜÔÉÈ ËÏÍпÏÎÅÎÔÁ ÄÏÓÔÕпÎÙ Ó ÓÅÒвÅÒÁ ÆÉÒÍÙ Microsoft ( http://www.microsoft.com).

2. äÏпÏÌÎÉÔÅÌØÎÁÑ ÉÎÆÏÒÍÁÃÉÑ

üÔÏÔ ÄÏËÕÍÅÎÔ ÄÅÌÁÅÔ пÏпÙÔËÕ ÏÂßÑÓÎÉÔØ ËÁË ÎÁÓÔÒÏÉÔØ ÏÓÎÏвÎÙÅ ÆÁÊÌÏвÙÅ É пÒÉÎÔÅÒÎÙÅ SMB-ÓÅÒвÉÓÙ ÎÁ Linux-ÍÁÛÉÎÅ. Samba ÑвÌÑÅÔÓÑ ÏÞÅÎØ ÓÌÏÖÎÙÍ É ÚÁËÏÎÞÅÎÎÙÍ пÁËÅÔÏÍ. îÅÚÁÞÅÍ пÙÔÁÔØÓÑ ÄÕÂÌÉÒÏвÁÔØ ÚÄÅÓØ вÓÀ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ Samba.

äÌÑ ÄÏпÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÓÍÏÔÒÉÔÅ ÓÌÅÄÕÀÝÉÅ ÄÏËÕÍÅÎÔÙ:

3. õÓÔÁÎÏвËÁ

óÎÁÞÁÌÁ, ÄÌÑ ÔÏÇÏ ÞÔÏÂÙ ÉÓпÏÌØÚÏвÁÔØ Samba вÁÛÁ ÍÁÛÉÎÁ ÄÏÌÖÎÁ ÎÁÈÏÄÉÔÓÑ в ÏÄÉÎÏÞÎÏÍ ethernet-ÓÅÇÍÅÎÔÅ ÌÏËÁÌØÎÏÊ ÓÅÔÉ, ÉÓпÏÌØÚÕÑ пÒÏÔÏËÏÌ TCP/IP. Samba ÎÅ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ ÉÓпÏÌØÚÕÑ ÄÒÕÇÉÅ ÓÅÔÅвÙÅ пÒÏÔÏËÏÌÙ. üÔÏ в ÏÂÝÅÍ ÌÅÇËÏ, пÏÓËÏÌØËÕ Linux É Windows 95/98/NT пÏÓÔÁвÌÑÀÔÓÑ Ó пÏÄÄÅÒÖËÏÊ TCP/IP. ïÄÎÁËÏ ÅÓÌÉ вÙ ÉÓпÏÌØÚÕÅÔÅ ÍÁÛÉÎÙ Ó Windows 3.X, ÔÏ вÁÍ ÎÅÏÂÈÏÄÉÍÏ ÄÏÂÁвÉÔ пÏÄÄÅÒÖËÕ TCP/IP.

óÅÒвÉÓÙ SMB ÎÅ ÍÏÇÕÔ ÂÙÔØ ÉÓпÏÌØÚÏвÁÎÙ ÚÁ пÒÅÄÅÌÁÍÉ ÍÁÒÛÒÕÔÉÚÁÔÏÒÏв. åÓÌÉ вÙ ÈÏÔÉÔÅ ÓÄÅÌÁÔØ ÞÔÏ-ÔÏ пÏÄÏÂÎÏÅ, ÔÏ вÁÍ ÎÅÏÂÈÏÄÉÍÏ ÎÁÓÔÒÏÉÔØ ÔÕÎÎÅÌØ IP, ÞÔÏ ÎÅ ÑвÌÑÅÔÓÑ пÒÅÄÍÅÔÏÍ ÒÁÓÓÍÏÔÒÅÎÉÑ ÜÔÏÇÏ ÄÏËÕÍÅÎÔÁ.

äÌÑ ÔÏÇÏ, ÞÔÏÂÙ пÏÌÕÞÉÔØ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ пÏÓÌÅÄÎÅÊ вÅÒÓÉÉ Samba, ÓвÑÖÉÔÅ Ó ÕËÁÚÁÎÎÙÍ URL É вÙÂÅÒÉÔÅ ÂÌÉÖÁÊÛÉÊ Ë вÁÍ ÓÅÒвÅÒ-ÚÅÒËÁÌÏ: ftp://ftp.samba.org/.

ïÄÎÁËÏ, ÅÓÌÉ Õ вÁÓ ÕÓÔÁÎÏвÌÅÎ ÄÉÓÔÒÉÂÕÔÉв RedHat Linux, Õ вÁÓ ÉÍÅÅÔÓÑ вÏÚÍÏÖÎÏÓÔØ ÕÓÔÁÎÏвÉÔØ ÅÅ ËÁË пÁËÅÔ RedHat. îÅËÏÔÏÒÙÅ ÄÒÕÇÉÅ ÄÉÓÔÒÉÂÕÔÉвÙ ÔÁËÖÅ вËÌÀÞÁÀÔ ÉÓпÏÌÎÑÅÍÙÅ ÆÁÊÌÙ Samba.

óÌÅÄÕÀÝÉÅ ÄвÁ ÄÅÍÏÎÁ ÎÅÏÂÈÏÄÉÍÙ ÄÌÑ ÒÁÂÏÔÙ пÁËÅÔÁ Samba. ïÎÉ ÏÂÙÞÎÏ ÕÓÔÁÎÁвÌÉвÁÀÔÓÑ в /usr/sbin É ÚÁпÕÓËÁÀÔÓÑ ÌÉÂÏ пÒÉ ÚÁÇÒÕÚËÅ ÉÚ ÓÉÓÔÅÍÎÙÈ ÓËÒÉпÔÏв, ÌÉÂÏ ÉÚ inetd. ðÒÉÍÅÒÙ ÓËÒÉпÔÏв ÄÁÎÙ в ÒÁÚÄÅÌÅ úÁпÕÓË ÄÅÍÏÎÏв.


        smbd (äÅÍÏÎ SMB)
        nmbd (ïÂÅÓпÅÞÉвÁÅÔ пÏÄÄÅÒÖËÕ ÓÅÒвÅÒÁ ÉÍÅÎ NetBIOS ÄÌÑ ËÌÉÅÎÔÏв)

úÁÍÅÔÉÍ, ÞÔÏ ÓÅÒвÉÓ ÉÍÅÎ, пÒÅÄÏÓÔÁвÌÑÅÍÙÊ ÄÅÍÏÎÏÍ nmbd ÑвÌÑÅÔÓÑ ÏÔÌÉÞÎÙÍ ÏÔ ÓÅÒвÉÓÁ ÉÍÅÎ, пÒÅÄÏÓÔÁвÌÑÅÍÏÇÏ Domain Name Service (DNS). óÅÒвÉÓ ÉÍÅÎ NetBIOS ÑвÌÑÅÔÓÑ ÓÅÒвÉÓÏÍ ÉÍÅÎ в ÓÔÉÌÅ Windows, ÉÓпÏÌØÚÕÅÍÙÍ ÄÌÑ SMB. äÒÕÇÉÍÉ ÓÌÏвÁÍÉ, ÉÍÅÀÝÉÊÓÑ ÓÅÒвÉÓ ÉÍÅÎ DNS ÎÉÞÅÇÏ ÎÅ ÓËÁÖÅÔ Ï вÏÚÍÏÖÎÏÓÔÉ Samba ÄÌÑ ÎÁÈÏÖÄÅÎÉÑ ÉÍÅÎ ÍÁÛÉÎ.

ïÂÙÞÎÏ ÓÌÅÄÕÀÝÉÅ ÄвÏÉÞÎÙÅ ÆÁÊÌÙ Samba ÕÓÔÁÎÁвÌÉвÁÀÔÓÑ в ÄÉÒÅËÔÏÒÉÀ /usr/bin, ÈÏÔÑ ÉÈ ÒÁÓпÏÌÏÖÅÎÉÅ ÏпÃÉÏÎÁÌØÎÏ.


        smbclient       (ëÌÉÅÎÔ SMB ÄÌÑ UNIX-ÍÁÛÉÎ)
        smbprint        (ÓËÒÉпÔ ÄÌÑ пÅÞÁÔÉ ÎÁ пÒÉÎÔÅÒ ÎÁ SMB-ÍÁÛÉÎÅ)
        smbprint.sysv   (ÔÁËÏÅ ËÁË вÙÛÅ, ÎÏ ÄÌÑ ÍÁÛÉÎ Ó SVR4 UNIX)
        smbstatus       (ðÅÒÅÞÉÓÌÑÅÔ ÔÅËÕÝÉÅ SMB-ÓÏÅÄÉÎÅÎÉÑ ÄÌÑ ÌÏËÁÌØÎÏÊ ÍÁÛÉÎÙ) 
        smbrun          ('glue' ÓËÒÉпÔ ÄÌÑ ÚÁпÕÓËÁ пÒÉÌÏÖÅÎÉÊ ÎÁ SMB-ÍÁÛÉÎÅ)

äвÏÉÞÎÙÅ ÆÁÊÌÙ ÏÔÎÏÓÑÝÉÅÓÑ Ë пÏÄÄÅÒÖËÅ ÆÁÊÌÏвÏÊ ÓÉÓÔÅÍÙ smbfs ÏÂÓÕÖÄÁÀÔÓÑ ÄÁÌÅÅ в ÜÔÏÍ ÄÏËÕÍÅÎÔÅ.

äÏпÏÌÎÉÔÅÌØÎÏ Ó ÜÔÉÍ ÄÏËÕÍÅÎÔÏÍ вËÌÀÞÅÎ ÓËÒÉпÔ, ÎÁÚвÁÎÎÙÊ 'print', ËÏÔÏÒÙÊ ÓÌÕÖÉÔ ËÁË пÏÌÅÚÎÁÑ ÎÁÄÓÔÒÏÊËÁ ÎÁÄ ÓËÒÉпÔÏÍ smbprint.

ðÁËÅÔ Samba ÏÞÅÎØ пÒÏÓÔ в ÕÓÔÁÎÏвËÅ. ðÒÏÓÔÏ пÏÌÕÞÉÔÅ ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ пÏ ÁÄÒÅÓÕ, ÕËÁÚÁÎÎÏÍÕ вÙÛÅ, É пÒÏÞÉÔÁÊÔÅ ÆÁÊÌ README в ÄÉÓÔÒÉÂÕÔÉвÅ. ôÁËÖÅ в ÄÉÓÔÒÉÂÕÔÉвÅ ÅÓÔØ ÆÁÊÌ ÎÁÚÙвÁÅÍÙÊ docs/INSTALL.txt, ËÏÔÏÒÙÊ ÄÁÅÔ пÒÏÓÔÏÊ ÎÁÂÏÒ пÏÛÁÇÏвÙÈ ÉÎÓÔÒÕËÃÉÊ.

ðÏÓÌÅÄÕÀÝÁÑ ÕÓÔÁÎÏвËÁ, пÏÍÅÓÔÉÔ ÄÅÍÏÎÙ в /usr/sbin É ÄвÏÉÞÎÙÅ ÆÁÊÌÙ в /usr/bin. õÓÔÁÎÏвÉÔÅ ÓпÒÁвÏÞÎÙÅ ÓÔÒÁÎÉÃÙ в /usr/local/man.

ðÒÉ ÕÓÔÁÎÏвËÅ пÁËÅÔÁ Samba, вÙ ÄÏÌÖÎÙ ÕËÁÚÁÔØ в Makefile ÒÁÓпÏÌÏÖÅÎÉÅ ÆÁÊÌÁ ËÏÎÆÉÇÕÒÁÃÉÉ, smb.conf. ïÂÙÞÎÏ ÜÔÏ /etc, ÎÏ вÙ ÍÏÖÅÔÅ пÏÍÅÓÔÉÔØ ÅÇÏ ËÕÄÁ ÕÇÏÄÎÏ. äÌÑ ÜÔÉÈ ÕËÁÚÁÎÉÊ, ÍÙ ÂÕÄÅÍ пÒÅÄпÏÌÁÇÁÔØ, ÞÔÏ вÙ ÕËÁÚÁÌÉ ÒÁÓпÏÌÏÖÅÎÉÅ ÆÁÊÌÁ ËÏÎÆÉÇÕÒÁÃÉÉ ËÁË /etc/smb.conf, ÒÁÓпÏÌÏÖÅÎÉÅ ÆÁÊÌÁ пÒÏÔÏËÏÌÁ ËÁË log file = /var/log/samba-log.%m É ÂÌÏËÉÒÏвÏÞÎÏÊ ÄÉÒÅËÔÏÒÉÉ ËÁË lock directory = /var/lock/samba.

õÓÔÁÎÏвÉÔÅ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ smb.conf. ðÅÒÅÊÄÉÔÅ в ÄÉÒÅËÔÏÒÉÀ, ÇÄÅ ÂÙÌÁ ÓËÏÍпÉÌÉÒÏвÁÎÁ Samba. ðÏÓÍÏÔÒÉÔÅ в пÏÄÄÉÒÅËÔÏÒÉÉ examples/simple É пÒÏÞÉÔÁÊÔÅ ÆÁÊÌ README. óËÏпÉÒÕÊÔÅ ÆÁÊÌ smb.conf ÎÁÊÄÅÎÎÙÊ в ÜÔÏÊ ÄÉÒÅËÔÏÒÉÉ в ÄÉÒÅËÔÏÒÉÀ /etc. âõäøôå ïóôïòïöîù! åÓÌÉ Õ вÁÓ ÄÉÓÔÒÉÂÕÔÉв Linux Ó ÕÖÅ ÕÓÔÁÎÏвÌÅÎÎÏÊ Samba, Õ вÁÓ ÕÖÅ ÍÏÖÅÔ ÂÙÔØ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ Samba в /etc. ВÅÒÏÑÔÎÏ вÙ ÍÏÖÅÔÅ ÎÁÞÁÔØ ÒÁÂÏÔÁÔØ Ó ËÁËÉÍ-ÔÏ ÉÚ ÎÉÈ.

åÓÌÉ вÙ ÎÅ ÈÏÔÉÔÅ ÕÓÔÁÎÁвÌÉвÁÔØ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ в ÄÉÒÅËÔÏÒÉÀ /etc, ÔÏ пÏÍÅÓÔÉÔÅ ÅÇÏ ËÕÄÁ вÙ ÈÏÔÉÔÅ, Á ÚÁÔÅÍ пÏÍÅÓÔÉÔÅ ÓÉÍвÏÌÉÞÅÓËÕÀ ÓÓÙÌËÕ ÎÁ ÎÅÇÏ в ÄÉÒÅËÔÏÒÉÀ /etc:


        ln -s /path/to/smb.conf /etc/smb.conf

4. úÁпÕÓË ÄÅÍÏÎÏв

åÓÔØ ÄвÁ ÄÅÍÏÎÁ SMB /usr/sbin/smbd É /usr/sbin/nmbd.

ВÙ ÍÏÖÅÔÅ ÚÁпÕÓÔÉÔØ ÄÅÍÏÎÙ Samba ÉÚ inetd ÉÌÉ ËÁË ÁвÔÏÎÏÍÎÙÅ пÒÏÃÅÓÓÙ. Samba ÂÕÄÅÔ ÏÔвÅÞÁÔØ ÞÕÔØ ÂÙÓÔÒÅÅ ËÏÇÄÁ ÏÎÁ ÚÁпÕÝÅÎÁ ËÁË ÁвÔÏÎÏÍÎÙÊ пÒÏÃÅÓÓ, ÞÅÍ в ÓÌÕÞÁÅ ËÏÇÄÁ ÏÎÁ ÚÁпÕÓËÁÅÔÓÑ ÉÚ inetd.

В ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ вÙ ÄÏÌÖÎÙ пÒÏвÅÒÉÔØ ÎÁÌÉÞÉÅ в ÆÁÊÌÅ /etc/services пÒÉÍÅÒÎÏ ÔÁËÉÈ ÓÔÒÏË:


netbios-ns      137/tcp         nbns
netbios-ns      137/udp         nbns
netbios-dgm     138/tcp         nbdgm
netbios-dgm     138/udp         nbdgm
netbios-ssn     139/tcp         nbssn

õÂÅÄÉÔÅÓØ, ÞÔÏ вÓÅ ÏÎÉ ÎÅ ÚÁËÏÍÅÎÔÉÒÏвÁÎÙ. В ÚÁвÉÓÉÍÏÓÔÉ ÏÔ вÁÛÅÇÏ ÄÉÓÔÒÉÂÕÔÉвÁ, вÁÍ ÍÏÖÅÔ ÄÁÖÅ ÎÕÖÎÏ ÂÕÄÅÔ ÄÏÂÁвÉÔØ ÉÈ в ÜÔÏÔ ÆÁÊÌ. Samba ÎÅ ÓÍÏÖÅÔ пÒÉвÑÚÁÔØÓÑ Ë ÓÏÏÔвÅÔÓÔвÕÀÝÉÍ пÏÒÔÁÍ пÏËÁ ÜÔÉÈ ÓÔÒÏË ÎÅ ÂÕÄÅÔ в ÆÁÊÌÅ /etc/services.

äÌÑ ÚÁпÕÓËÁ ÄÅÍÏÎÏв ÉÚ inetd, пÏÍÅÓÔÉÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ в ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ inetd, /etc/inetd.conf:


    # 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

úÁÔÅÍ пÅÒÅÚÁпÕÓÔÉÔÅ ÄÅÍÏÎ inetd вÙпÏÌÎÉв ËÏÍÁÎÄÕ:


    kill -HUP 1 `cat /var/run/inetd.pid`

äÌÑ ÚÁпÕÓËÁ ÄÅÍÏÎÏв ÉÚ ÓÉÓÔÅÍÎÙÈ ÓÔÁÒÔÏвÙÈ ÓËÒÉпÔÏв, пÏÍÅÓÔÉÔÅ ÓÌÅÄÕÀÝÉÊ ÓËÒÉпÔ в ÆÁÊÌ /etc/rc.d/init.d/smb (ÄÌÑ ÄÉÓÔÒÉÂÕÔÉвÁ RedHat) É ÓÏÚÄÁÊÔÅ ÎÁ ÎÅÇÏ ÓÉÍвÏÌÉÞÅÓËÉÅ ÓÓÙÌËÉ Ó ÉÍÅÎÁÍÉ ÕËÁÚÁÎÎÙÍÉ в ËÏÍÍÅÎÔÁÒÉÑÈ:


    #!/bin/sh

    #
    # /etc/rc.d/init.d/smb - ÚÁпÕÓËÁÅÔ É ÏÓÔÁÎÁвÌÉвÁÅÔ ÓÅÒвÉÓÙ SMB
    #
    # óÌÅÄÕÀÝÉÅ ÆÁÊÌÙ ÄÏÌÖÎÙ ÂÙÔØ ÓÉÍвÏÌÉÞÅÓËÉÍÉ ÓÓÙÌËÁÍÉ ÎÁ ÜÔÏÔ ÆÁÊÌ:
    # symlinks: 
    #           /etc/rc.d/rc1.d/K35smb  (õÂÉвÁÅÔ ÓÅÒвÉÓÙ SMB пÒÉ вÙËÌÀÞÅÎÉÉ
    #           /etc/rc.d/rc3.d/S91smb  (úÁпÕÓËÁÅÔ ÓÅÒвÉÓÙ SMB в ÍÎÏÇÏпÏÌØÚÏвÁÔÅÌØÓËÏÍ ÒÅÖÉÍÅ)
    #           /etc/rc.d/rc6.d/K35smb  (õÂÉвÁÅÔ ÓÅÒвÉÓÙ SMB пÒÉ пÅÒÅÚÁÇÒÕÚËÅ)
    #

    # 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

åÓÌÉ пÒÉ ÓÔÁÒÔÅ Samba вÙ пÏÌÕÞÁÅÔÅ ÓÏÏÂÝÅÎÉÅ в ËÏÔÏÒÏÍ ÇÏвÏÒÉÔÓÑ, ÞÔÏ ÄÅÍÏÎ ÎÅ ÍÏÖÅÔ пÏÄËÌÀÞÉÔÓÑ Ë пÏÒÔÕ 139, ÔÏ вÅÒÏÑÔÎÏ Õ вÁÓ ÕÖÅ ÅÓÔØ ÚÁпÕÝÅÎÎÙÅ пÒÏÃÅÓÓÙ Samba, ËÏÔÏÒÙÅ ÎÅ ÂÙÌÉ ÚÁвÅÒÛÅÎÙ. ðÏÓÍÏÔÒÉÔÅ ÓпÉÓÏË пÒÏÃÅÓÓÏв (ÉÓпÏÌØÚÕÑ ËÏÍÁÎÄÕ 'ps auxww | grep mbd') ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÏпÒÅÄÅÌÉÔØ ÅÓÔØ ÌÉ ÅÝÅ ÚÁпÕÝÅÎÎÙÅ ÓÅÒвÉÓÙ Samba.

5. ïÓÎÏвÎÁÑ ÎÁÓÔÒÏÊËÁ (/etc/smb.conf)

îÁÓÔÒÏÊËÁ Samba в Linux (ÉÌÉ ÄÒÕÇÉÈ UNIX-ÍÁÛÉÎÁÈ) ËÏÎÔÒÏÌÉÒÕÅÔÓÑ ÅÄÉÎÓÔвÅÎÎÙÍ ÆÁÊÌÏÍ, /etc/smb.conf. üÔÏÔ ÆÁÊÌ ÏпÒÅÄÅÌÑÅÔ Ë ËÁËÉÍ ÓÉÓÔÅÍÎÙÍ ÒÅÓÕÒÓÁÍ вÙ ÈÏÔÉÔÅ ÄÁÔØ ÄÏÓÔÕп ÄÌÑ вÎÅÛÎÅÇÏ ÍÉÒÁ É ËÁËÉÅ ÏÇÒÁÎÉÞÅÎÉÑ вÙ ÈÏÔÉÔÅ ÄÁÔØ ÎÁ ÉÓпÏÌØÚÏвÁÎÉÅ ÜÔÉÈ ÒÅÓÕÒÓÏв.

ôÁË ËÁË ÓÌÅÄÕÀÝÉÅ ÒÁÚÄÅÌÙ пÏÓвÑÝÅÎÙ ÏÒÇÁÎÉÚÁÃÉÉ ÄÏÓÔÕпÁ Ë ÄÉÓËÁÍ É пÒÉÎÔÅÒÁÍ Linux ÄÌÑ Windows-ÍÁÛÉÎ, ÔÏ ÆÁÊÌ smb.conf, пÏËÁÚÁÎÎÙÊ в ÜÔÏÍ ÒÁÚÄÅÌÅ ÑвÌÑÅÔÓÑ пÒÉÍÅÒÏÍ, ÉÓËÌÀÞÉÔÅÌØÎÏ в ÃÅÌÑÈ ввÅÄÅÎÉÑ.

îÅ ÂÅÓпÏËÏÊÔÅÓØ ÓÅÊÞÁÓ Ï ÄÅÔÁÌÑÈ. óÌÅÄÕÀÝÉÅ ÒÁÚÄÅÌÙ ввÅÄÕÔ ÏÓÎÏвÎÙÅ ËÏÎÃÅпÃÉÉ.

ëÁÖÄÙÊ ÒÁÚÄÅÌ ÆÁÊÌÁ ÎÁÞÉÎÁÅÔÓÑ Ó ÚÁÇÏÌÏвËÁ ÒÁÚÄÅÌÁ, ÔÁËÏÇÏ ËÁË [global], [homes], [printers], É Ô.п..

óÅËÃÉÑ [global] ÏпÒÅÄÅÌÑÅÔ ÎÅËÏÔÏÒÙÅ пÅÒÅÍÅÎÎÙÅ, ËÏÔÏÒÙÅ Samba ÂÕÄÅÔ ÉÓпÏÌØÚÏвÁÔØ ÄÌÑ ÏпÒÅÄÅÌÅÎÉÑ ÄÏÓÔÕпÁ ËÏ вÓÅÍ ÒÅÓÕÒÓÁÍ.

òÁÚÄÅÌ [homes] пÏÚвÏÌÑÅÔ ÕÄÁÌÅÎÎÙÍ пÏÌØÚÏвÁÔÅÌÑÍ ÉÍÅÔØ ÄÏÓÔÕп Ë ÓвÏÉÍ (É ÔÏÌØËÏ ÓвÏÉÍ) ÄÏÍÁÛÎÉÍ ÄÉÒÅËÔÏÒÉÑÍ ÎÁ ÌÏËÁÌØÎÏÊ Linux-ÍÁÛÉÎÅ. ôÁË ÞÔÏ, ÅÓÌÉ пÏÌØÚÏвÁÔÅÌÉ Windows пÏпÙÔÁÀÔÓÑ пÏÄËÌÀÞÉÔØÓÑ Ë ÜÔÏÍÕ ÒÁÚÄÅÌÕ ÓÏ ÓвÏÉÈ Windows-ÍÁÛÉÎ, ÔÏ ÏÎÉ ÂÕÄÕÔ пÏÄËÌÀÞÅÎÙ Ë ÓвÏÉÍ пÅÒÓÏÎÁÌØÎÙÍ ÄÏÍÁÛÎÉÍ ÄÉÒÅËÔÏÒÉÑÍ. úÁÍÅÔÉÍ, ÞÔÏ ÄÌÑ ÔÏÇÏ ÞÔÏÂÙ ÓÄÅÌÁÔØ ÜÔÏ, ÏÎÉ ÄÏÌÖÎÙ ÂÙÔØ ÚÁÒÅÇÉÓÔÒÉÒÏвÁÎÙ ÎÁ Linux-ÍÁÛÉÎÅ.

ðÒÏÓÔÏÊ ÆÁÊÌ smb.conf, пÒÉвÅÄÅÎÎÙÊ ÎÉÖÅ, пÏÚвÏÌÑÅÔ ÕÄÁÌÅÎÎÙÍ пÏÌØÚÏвÁÔÅÌÑÍ ÉÍÅÔØ ÄÏÓÔÕп Ë ÉÈ ÄÏÍÁÛÎÉÍ ÄÉÒÅËÔÏÒÉÑÍ ÎÁ ÌÏËÁÌØÎÏÊ ÍÁÛÉÎÅ É пÉÓÁÔØ вÏ вÒÅÍÅÎÎÕÀ ÄÉÒÅËÔÏÒÉÀ. äÌÑ ÔÏÇÏ, ÞÔÏÂÙ пÏÌØÚÏвÁÔÅÌÉ Windows ÍÏÇÌÉ ÕвÉÄÅÔØ ÜÔÉ ÒÅÓÕÒÓÙ ÍÁÛÉÎÁ Ó Linux ÄÏÌÖÎÁ ÂÙÔØ в ÌÏËÁÌØÎÏÊ ÓÅÔÉ. úÁÔÅÍ пÏÌØÚÏвÁÔÅÌÉ пÒÏÓÔÏ пÏÄËÌÀÞÁÀÔ ÓÅÔÅвÙÅ ÄÉÓËÉ Ó пÏÍÏÝØÀ Windows File Manager ÉÌÉ Windows Explorer.

úÁÍÅÔÉÍ, ÞÔÏ в ÓÌÅÄÕÀÝÉÈ ÒÁÚÄÅÌÁÈ ÂÕÄÕÔ ÄÁÎÙ ÄÏпÏÌÎÉÔÅÌØÎÙÅ ÚÁпÉÓÉ ÄÌÑ ÜÔÏÇÏ ÆÁÊÌÁ, ÞÔÏÂÙ ÄÁÔØ ÄÏÓÔÕп Ë ÂÏÌØÛÅÍÕ ËÏÌÉÞÅÓÔвÕ ÒÅÓÕÒÓÏв.


; /etc/smb.conf
;
; õÂÅÄÉÔÅÓØ É пÅÒÅÚÁпÕÓÔÉÔÅ ÓÅÒвÅÒ пÏÓÌÅ вÎÅÓÅÎÉÑ ÉÚÍÅÎÅÎÉÊ в ÜÔÏÔ
; ÆÁÊÌ, ÎÁпÒÉÍÅÒ:
; /etc/rc.d/init.d/smb stop
; /etc/rc.d/init.d/smb start

[global]
; òÁÓËÏÍÍÅÎÔÉÒÕÊÔÅ ÜÔÕ ÓÔÒÏËÕ, ÅÓÌÉ вÙ ÈÏÔÉÔÅ ÄÁÔØ ÄÏÓÔÕп пÏÌØÚÏвÁÔÅÌÀ "ÇÏÓÔØ"
; 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

îÁпÉÓÁв ÎÏвÙÊ ÆÁÊÌ smb.conf, пÏÌÅÚÎÏ пÒÏвÅÒÉÔØ ÅÇÏ пÒÁвÉÌØÎÏÓÔØ. ВÙ ÍÏÖÅÔÅ пÒÏвÅÒÉÔØ пÒÁвÉÌØÎÏÓÔØ ÎÁпÉÓÁÎÉÑ ÆÁÊÌÁ smb.conf, ÉÓпÏÌØÚÕÑ ÕÔÉÌÉÔÕ 'testparm' (ÓпÒÁвÏÞÎÁÑ ÓÔÒÁÎÉÃÁ: testparm); ÅÓÌÉ testparm ÓÏÏÂÝÁÅÔ Ï ÏÔÓÕÔÓÔвÉÉ пÒÏÂÌÅÍ, ÔÏ smbd пÒÁвÉÌØÎÏ ÚÁÇÒÕÚÉÔ ÆÁÊÌ ÎÁÓÔÒÏÅË.

ðÏÌÅÚÎÙÊ ÔÒÀË: åÓÌÉ вÁÛ ÓÅÒвÅÒ Samba ÉÍÅÅÔ ÂÏÌØÛÅ ÏÄÎÏÇÏ ethernet ÉÎÔÅÒÆÅÊÓÁ, ÔÏ smbd ÍÏÖÅÔ пÏÄËÌÀÞÉÔÓÑ Ë ÎÅпÒÁвÉÌØÎÏÍÕ. åÓÌÉ ÜÔÏ ÔÁË, ÞÔÏ вÙ ÍÏÖÅÔÅ ÑвÎÏ ÚÁÓÔÁвÉÔ ÅÅ пÏÄËÌÀÞÁÔØÓÑ Ë ÎÕÖÎÏÍÕ ÄÏÂÁвÉв ÓÔÒÏËÕ в ÒÁÚÄÅÌ [global] ÆÁÊÌÁ /etc/smb.conf:


interfaces = 192.168.1.1/24

ôÁËÖÅ ÓÕÝÅÓÔвÕÅÔ GUI-ÕÔÉÌÉÔÁ ÄÌÑ ÎÁÓÔÒÏÊËÉ Samba: GtkSamba. óÍÏÔÒÉÔÅ ÓÔÒÁÎÉÃÕ пÏ ÁÄÒÅÓÕ http://www.open-systems.com/gtksamba.html.

6. ïÒÇÁÎÉÚÁÃÉÑ ÄÏÓÔÕпÁ Ë ÄÉÓËÁÍ Linux ÄÌÑ ÍÁÛÉÎ пÏÄ Windows

ëÁË пÏËÁÚÁÎÏ вÙÛÅ в ÆÁÊÌÅ smb.conf, ÏÒÇÁÎÉÚÁÃÉÑ ÄÏÓÔÕпÁ Ë ÄÉÓËÁÍ Linux ÄÌÑ пÏÌØÚÏвÁÔÅÌÅÊ Windows ÑвÌÑÅÔÓÑ ÄÏвÏÌØÎÏ пÒÏÓÔÙÍ ÄÅÌÏÍ. ïÄÎÁËÏ, Ó пÏÍÏÝØÀ Samba вÙ ÍÏÖÅÔÅ ËÏÎÔÒÏÌÉÒÏвÁÔØ ÜÔÏ в ÂÏÌØÛÏÊ ÓÔÅпÅÎÉ. úÄÅÓØ ÍÙ пÒÉвÅÄÅÍ ÎÅÓËÏÌØËÏ пÒÉÍÅÒÏв:

þÔÏÂÙ ÏÒÇÁÎÉÚÏвÁÔØ ÄÏÓÔÕп ÄÌÑ вÓÅÈ, ÓÏÚÄÁÊÔÅ ËÏпÉÀ ÒÁÚÄÅÌÁ [tmp], пÒÉвÅÄÅÎÎÏÇÏ вÙÛÅ, ÄÏÂÁвÉв ÞÔÏ-ÔÏ пÏÄÏÂÎÏÅ в smb.conf:


[public]
   comment = Public Stuff
   path = /home/public
   public = yes
   writable = yes
   printable = no

ВÙ ÓÅÊÞÁÓ ÂÕÄÅÔÅ ÉÍÅÔØ вÏÚÍÏÖÎÏÓÔØ ÚÁпÕÓÔÉÔØ Samba É пÒÏÓÍÏÔÒÅÔØ ÄÏÓÔÕпÎÙÅ ÒÅÓÕÒÓÙ Ó Windows PC. ïÄÎÁËÏ, ÎÅÄÁвÎÏ Microsoft ÓÄÅÌÁÌÁ ÖÉÚÎØ ÎÅÍÎÏÇÏ ÂÏÌÅÅ ÔÒÕÄÎÏÊ ÄÌÑ ÔÅÈ, ËÔÏ ÉÓпÏÌØÚÕÅÔ Samba. Windows 98, Windows NT (service pack 3 ÉÌÉ вÙÛÅ) É пÏÚÄÎÉÅ вÅÒÓÉÉ Windows 95 ÔÅпÅÒØ пÏ ÕÍÏÌÞÁÎÉÀ ÉÓпÏÌØÚÕÀÔ ÛÉÆÒÏвÁÎÎÙÅ пÁÒÏÌÉ. á Samba пÏ ÕÍÏÌÞÁÎÉÀ ÉÓпÏÌØÚÕÅÔ ÎÅÛÉÆÒÏвÁÎÎÙÅ пÁÒÏÌÉ. ВÙ ÎÅ ÓÍÏÖÅÔÅ пÒÏÓÍÁÔÒÉвÁÔØ ÓÏÄÅÒÖÉÍÏÅ ÓÅÒвÅÒÏв ËÏÇÄÁ ÌÉÂÏ ËÌÉÅÎÔ ÌÉÂÏ ÓÅÒвÅÒ ÉÓпÏÌØÚÕÀÔ ÛÉÆÒÏвÁÎÎÙÅ пÁÒÏÌÉ, пÏÔÏÍÕ ÞÔÏ ÓÏÅÄÉÎÅÎÉÅ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÓÄÅÌÁÎÏ ÂÅÚ ÒÅÇÉÓÔÒÁÃÉÉ.

åÓÌÉ Õ вÁÓ ÅÓÔØ ÎÅÓÏÏÔвÅÔÓÔвÉÅ ÔÉпÏв пÁÒÏÌÅÊ ÍÅÖÄÕ ËÌÉÅÎÔÏÍ É ÓÅÒвÅÒÏÍ É ËÏÇÄÁ вÙ пÙÔÁÅÔÅÓØ пÏÄËÌÀÞÉÔÓÑ Ë ÒÅÓÕÒÓÕ, ÔÏ вÙ ÍÏÖÅÔÅ ÕвÉÄÅÔØ ÏËÎÏ ÄÉÁÌÏÇÁ в ËÏÔÏÒÏÍ ÂÕÄÅÔ ÓËÁÚÁÎÏ пÒÉÍÅÒÎÏ ÓÌÅÄÕÀÝÅÅ: "You are not authorized to access that account from this machine".

ВÙ ÍÏÖÅÔÅ ÌÉÂÏ ÎÁÓÔÒÏÉÔØ Samba-ÓÅÒвÅÒ ÄÌÑ ÉÓпÏÌØÚÏвÁÎÉÑ ÛÉÆÒÏвÁÎÎÙÈ пÁÒÏÌÅÊ, ÌÉÂÏ ÎÁÓÔÒÏÉÔØ ÍÁÛÉÎÙ Ó Windows, ÞÔÏÂÙ ÏÎÉ ÉÓпÏÌØÚÏвÁÌÉ ÎÅÛÉÆÒÏвÁÎÎÙÅ пÁÒÏÌÉ.

äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÚÁÓÔÁвÉÔØ Windows ÒÁÂÏÔÁÔØ Ó ÎÅÛÉÆÒÏвÁÎÎÙÍÉ пÁÒÏÌÑÍÉ SMB:

Windows 95/98 =============

éÓпÏÌØÚÕÑ ÒÅÄÁËÔÏÒ registry (regedit), ÓÏÚÄÁÊÔÅ ËÌÀÞ registry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP äÏÂÁвØÔÅ ÚÎÁÞÅÎÉÅ ÔÉпÁ DWORD: éÍÑ ÚÎÁÞÅÎÉÑ: EnablePlainTextPassword äÁÎÎÙÅ: 0x01.

Windows NT ==========

éÓпÏÌØÚÕÑ ÒÅÄÁËÔÏÒ registry (regedit), ÓÏÚÄÁÊÔÅ ËÌÀÞ registry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rdr\Parameters äÏÂÁвØÔÅ ÚÎÁÞÅÎÉÅ ÔÉпÁ DWORD: éÍÑ ÚÎÁÞÅÎÉÑ: EnablePlainTextPassword úÎÁÞÅÎÉÅ: 0x01

ðÏÓÌÅ ÔÏÇÏ, ËÁË вÙ ÓÄÅÌÁÌÉ ÜÔÉ ÉÚÍÅÎÅÎÉÑ, пÅÒÅÚÁÇÒÕÚÉÔÅ ÍÁÛÉÎÕ Ó Windows É пÏпÙÔÁÊÔÅÓØ пÏÄËÌÀÞÉÔØ ÓÅÔÅвÏÊ ÄÉÓË Ë ÓÅÒвÅÒÕ Samba. üÔÏ ÄÏÌÖÎÏ ÒÁÂÏÔÁÔØ, пÏÓËÏÌØËÕ ÓÅÒвÅÒ Samba ÉÓпÏÌØÚÕÅÔ пÁÒÏÌÉ в ÎÅÛÉÆÒÏвÁÎÎÏÍ вÉÄÅ.

äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÎÁÓÔÒÏÉÔØ Samba ÄÌÑ ÉÓпÏÌØÚÏвÁÎÉÑ ÛÉÆÒÏвÁÎÎÙÈ пÁÒÏÌÅÊ:

В ÒÁÚÄÅÌ [global] ÆÁÊÌÁ /etc/smb.conf, ÄÏÂÁвØÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ:


encrypt passwords = yes
smb passwd file = /etc/smbpasswd

íÙ вÁÍ ÎÁÓÔÏÑÔÅÌØÎÏ ÒÅËÏÍÅÎÄÕÅÍ пÒÏÞÉÔÁÔØ ÆÁÊÌÙ ENCRYPTION.txt, Win95.txt É WinNT.txt в ÄÏËÕÍÅÎÔÁÃÉÉ пÏ Samba ÄÏ ÔÏÇÏ ËÁË вÙ ÂÕÄÅÔÅ ÄÅÌÁÔØ ÜÔÏ!

åÓÌÉ вÁÛÉ É ËÌÉÅÎÔÙ É ÓÅÒвÅÒ ÉÓпÏÌØÚÕÀÔ ÛÉÆÒÏвÁÎÎÙÅ пÁÒÏÌÉ, ÔÏ вÙ ÎÅ ÓÍÏÖÅÔÅ пÒÏÓÍÏÔÒÅÔØ ÓпÉÓËÉ ÄÏÓÔÕпÎÙÈ ÒÅÓÕÒÓÏв ÄÏ ÔÅÈ пÏÒ пÏËÁ ÎÁÞÁÌØÎÏÅ ÓÏÅÄÉÎÅÎÉÅ ÎÅ ÂÕÄÅÔ ÓÄÅÌÁÎÏ Ó пÒÁвÉÌØÎÙÍÉ пÁÒÁÍÅÔÒÁÍÉ вÈÏÄÁ. äÌÑ ÔÏÇÏ ÞÔÏÂÙ ÓÄÅÌÁÔØ пÅÒвÏÎÁÞÁÌØÎÏÅ ÓÏÅÄÉÎÅÎÉÅ, ввÅÄÉÔÅ вÒÕÞÎÕÀ ÉÍÑ ÒÅÓÕÒÓÁ в ÄÉÁÌÏÇÏвÏÍ ÏËÎÅ Windows File Manager ÉÌÉ Explorer, ÉÍÑ ÄÏÌÖÎÏ ÂÙÔØ в ÆÏÒÍÅ '\\<hostname>\<sharename>'. ðÏÄËÌÀÞÉÔÅÓØ Ë ÓÅÒвÅÒÕ É пÒÁвÉÌØÎÙÍÉ ÄÌÑ ÄÁÎÎÏÇÏ ÓÅÒвÅÒÁ ÉÍÅÎÅÍ É пÁÒÏÌÅÍ.

åÓÌÉ вÙ пÏÄÏÚÒÅвÁÅÔÅ, ÞÔÏ вÁÛ ÓÅÒвÉÓ ÉÍÅÎ NetBIOS ÎÅпÒÁвÉÌØÎÏ ÎÁÓÔÒÏÅÎ (вÏÚÍÏÖÎÏ пÏÔÏÍÕ, ÞÔÏ вÙ пÏÌÕÞÁÅÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ 'host not found (ÍÁÛÉÎÁ ÎÅ ÎÁÊÄÅÎÁ)' пÒÉ пÏпÙÔËÅ пÏÄËÌÀÞÅÎÉÑ), ÔÏ пÏпÙÔÁÊÔÅÓØ ÉÓпÏÌØÚÏвÁÔØ IP-ÁÄÒÅÓ ÓÅÒвÅÒÁ: '\\<host ip address>\<sharename>'.

äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÉÍÅÎÁ ÏÔÏÂÒÁÖÁÌÉÓØ пÒÁвÉÌØÎÏ, вÙ ÍÏÖÅÔ пÏÎÁÄÏÂÉÔØÓÑ ÕÓÔÁÎÏвÉÔØ ÎÅËÏÔÏÒÙÅ ÎÁÓÔÒÏÊËÉ в ÓÏÏÔвÅÔÓÔвÕÀÝÅÍ ÒÁÚÄÅÌÅ ÒÅÓÕÒÓÁ. üÔÏ ÒÁÂÏÔÁÅÔ Ó ËÌÉÅÎÔÁÍÉ пÏÄ ÕпÒÁвÌÅÎÉÅÍ 95/98/NT, ÎÏ ÍÏÖÅÔ ÂÙÔØ ÎÅÏÂÈÏÄÉÍÏ ÂÕÄÅÔ ÉÚÍÅÎÉÔØ ÜÔÉ ÎÁÓÔÒÏÊËÉ, ÅÓÌÉ вÙ ÉÓпÏÌØÚÕÅÔÅ ËÌÉÅÎÔÏв Ó Windows 3.X:


    ; Mangle case = yes seems to give the correct filenames 
    ; for Win95/98/NT.
    mangle case = yes

    ; If samba is case sensitive when looking for files
    case sensitive = no

    ; Default case of files that are created
    default case = lower

    ; Preserve case for all filenames
    preserve case = yes

    ; Preserve case for dos (8.3) filenames
    short preserve case = no

úÁÍÅÞÁÎÉÅ: úÎÁÞÅÎÉÅ пÏÓÌÅ ÚÎÁËÁ / ÜÔÏ ÓÓÙÌËÁ ÎÁ ÓÅÔÅвÕÀ ÍÁÓËÕ. äÌÑ ÓÅÔÉ ËÌÁÓÓÁ ó ÜÔÉÍ ÚÎÁÞÅÎÉÅÍ ÂÕÄÅÔ "24". äÌÑ ÄÏпÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ Ï ÔÏÍ ËÁË вÙпÏÌÎÑÔØ вÙÞÉÓÌÅÎÉÑ ÄÌÑ пÏÄÓÅÔÅÊ, вÙ ÍÏÖÅÔÅ пÏÓÍÏÔÒÅÔØ ÉÎÆÏÒÍÁÃÉÀ пÏ ÁÄÒÅÓÕ http://www.ziplink.net/~ralphb/IPSubnet/index.html.

ëÏÎÅÞÎÏ ÎÁÓÔÒÏÊËÁ Samba ÂÏÌÅÅ пÏÌÎÁ, ÞÅÍ ÍÙ пÒÉвÅÌÉ ÚÄÅÓØ, ÎÏ ÜÔÏ ÄÁÓÔ вÁÍ вÏÚÍÏÖÎÏÓÔØ ÎÁÞÁÔØ ÒÁÂÏÔÁÔØ. åÓÌÉ вÙ ÈÏÔÉÔÅ ÓÄÅÌÁÔØ ÞÔÏ-ÔÏ ÂÏÌÅÅ ÓÌÏÖÎÏÅ, ÔÏ Ñ ÒÅËÏÍÅÎÄÕÀ вÁÍ ÓÈÏÄÉÔØ ÎÁ ÓÅÒвÅÒ Samba, ÕпÏÍÑÎÕÔÙÊ вÙÛÅ.

þÔÏÂÙ ÓÄÅÌÁÔØ ÜÔÕ ÄÉÒÅËÔÏÒÉÀ ÄÏÓÔÕпÎÏÊ ÄÌÑ ÞÔÅÎÉÑ вÓÅÍÉ, ÎÏ ÒÁÚÒÅÛÉÔØ пÉÓÁÔØ в ÎÅÅ ÔÏÌØËÏ ÌÀÄÑÍ ÉÚ ÇÒÕппÙ staff, ÉÚÍÅÎÉÔÅ ÚÁпÉÓØ ËÁË пÏËÁÚÁÎÏ в ÓÌÅÄÕÀÝÅÍ пÒÉÍÅÒÕ:


[public]
   comment = Public Stuff
   path = /home/public
   public = yes
   writable = yes
   printable = no
   write list = @staff

äÌÑ ÏпÉÓÁÎÉÑ ÄÒÕÇÉÈ пÒÉÅÍÏв ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÄÏÓÔÕпÁ Ë ÄÉÓËÁÍ, ÓÍÏÔÒÉÔÅ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ Samba É ÓпÒÁвÏÞÎÙÅ ÓÔÒÁÎÉÃÙ.

7. äÏÓÔÕп Ë ÄÉÓËÁÍ Windows ÉÚ Linux

ðÒÏÇÒÁÍÍÁ ËÌÉÅÎÔÁ SMB ÄÌÑ UNIX-ÍÁÛÉÎ вËÌÀÞÅÎÁ в ÄÉÓÔÒÉÂÕÔÉв Samba. ïÎÁ ÏÂÅÓпÅÞÉвÁÅÔ ftp-пÏÄÏÂÎÙÊ ÉÎÔÅÒÆÅÊÓ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ. ВÙ ÍÏÖÅÔÅ ÉÓпÏÌØÚÏвÁÔØ ÜÔÕ ÕÔÉÌÉÔÕ ÄÌÑ пÅÒÅÎÏÓÁ ÆÁÊÌÏв ÍÅÖÄÕ 'ÓÅÒвÅÒÏÍ' пÏÄ ÕпÒÁвÌÅÎÉÅÍ Windows É ËÌÉÅÎÔÏÍ пÏÄ Linux.

äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÕвÉÄÅÔØ ËÁËÉÅ ÒÅÓÕÒÓÙ ÄÏÓÔÕпÎÙ ÎÁ ÄÁÎÎÏÊ ÍÁÛÉÎÅ, вÙпÏÌÎÉÔÅ ËÏÍÁÎÄÕ:


    /usr/sbin/smbclient -L host

ÇÄÅ 'host' ÜÔÏ ÉÍÑ ÍÁÛÉÎÙ, ËÏÔÏÒÕÀ вÙ ÈÏÔÉÔÅ вÉÄÅÔØ. üÔÁ ËÏÍÁÎÄÁ вÅÒÎÅÔ ÓпÉÓÏË ÉÍÅÎ 'ÓÅÒвÉÓÏв' - Ô.Å. ÉÍÅÎ ÄÉÓËÏв ÉÌÉ пÒÉÎÔÅÒÏв Ë ËÏÔÏÒÙÍ ÍÏÖÅÔ ÂÙÔØ пÏÌÕÞÅÎ ÄÏÓÔÕп. äÏ ÔÅÈ пÏÒ, пÏËÁ SMB ÓÅÒвÅÒ ÎÅ ÂÕÄÅÔ ÎÁÓÔÒÏÅÎ ÂÅÚ ÕпÒÁвÌÅÎÉÑ ÄÏÓÔÕпÏÍ, ÏÎ ÂÕÄÅÔ ÚÁпÒÁÛÉвÁÔØ Õ вÁÓ пÁÒÏÌØ. ВвÅÄÉÔÅ в ÏÔвÅÔ ÎÁ ÚÁпÒÏÓ пÁÒÏÌØ ÄÌÑ пÏÌØÚÏвÁÔÅÌÑ 'ÇÏÓÔØ (guest)' ÉÌÉ вÁÛ пÅÒÓÏÎÁÌØÎÙÊ пÁÒÏÌØ ÎÁ ÜÔÏÊ ÍÁÛÉÎÅ.

îÁпÒÉÍÅÒ:


    smbclient -L zimmerman

ВÙвÏÄ ÜÔÏÊ ËÏÍÁÎÄÙ ÄÏÌÖÅÎ вÙÇÌÑÄÅÔØ пÒÉÍÅÒÎÏ ÔÁË:


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            

Browse list пÏËÁÚÙвÁÅÔ ÄÒÕÇÉÅ SMB ÓÅÒвÅÒÁ в ÓÅÔÉ Ó ÄÏÓÔÕпÎÙÍÉ ÒÅÓÕÒÓÁÍÉ.

äÌÑ ÉÓпÏÌØÚÏвÁÎÉÑ ËÌÉÅÎÔÁ, вÙпÏÌÎÉÔÅ ÓÌÅÄÕÀÝÕÀ ËÏÍÁÎÄÕ:


    /usr/sbin/smbclient service <password>

ÇÄÅ 'service' -- ÉÍÑ ÍÁÛÉÎÙ É ÓÅÒвÉÓÁ. îÁпÒÉÍÅÒ, ÅÓÌÉ вÙ пÙÔÁÅÔÅÓØ ÏÂÒÁÔÉÔØÓÑ Ë ÄÉÒÅËÔÏÒÉÉ, ËÏÔÏÒÁÑ ÄÏÓÔÕпÎÁ пÏÄ ÉÍÅÎÅÍ 'public' ÎÁ ÍÁÛÉÎÅ ÎÁÚвÁÎÎÏÊ 'zimmerman', ÔÏ ÉÍÑ ÓÅÒвÉÓÁ ÄÏÌÖÎÏ ÚвÕÞÁÔØ ËÁË \\zimmerman\public. ïÄÎÁËÏ в ÓÌÅÄÓÔвÉÉ ÏÇÒÁÎÉÞÅÎÉÊ ÏÂÏÌÏÞËÉ, вÁÍ ÎÅÏÂÈÏÄÉÍÏ ÓпÒÑÔÁÔØ ÏÂÒÁÔÎÙÊ ÓÌÜÛ, ÔÁË ÞÔÏ в ÉÔÏÇÅ ÜÔÏ ËÏÍÁÎÄÎÁÑ ÓÔÒÏËÁ вÙÇÌÑÄÅÔØ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ:


    /usr/sbin/smbclient \\\\zimmerman\\public mypasswd

ÇÄÅ 'mypasswd' -- ÓÉÍвÏÌØÎÁÑ ÓÔÒÏËÁ вÁÛÅÇÏ пÁÒÏÌÑ.

ВÙ пÏÌÕÞÉÔÅ пÒÉÇÌÁÛÅÎÉÅ smbclient:


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: \> 

îÁпÅÞÁÔÁÊÔÅ 'h' ÞÔÏÂÙ пÏÌÕÞÉÔØ пÏÍÏÝØ Ï ÉÓпÏÌØÚÏвÁÎÉÉ smbclient:


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: \> 

åÓÌÉ вÙ ÕÍÅÅÔÅ ÉÓпÏÌØÚÏвÁÔØ ftp, ÔÏ вÁÍ ÎÅ ÂÕÄÕÔ ÎÕÖÎÙ ÓпÒÁвÏÞÎÙÅ ÓÔÒÁÎÉÃÙ Ï smbclient.

èÏÔÑ вÙ ÍÏÖÅÔÅ ÉÓпÏÌØÚÏвÁÔØ smbclient ÄÌÑ ÔÅÓÔÉÒÏвÁÎÉÑ, вÙ ÓËÏÒÏ ÕÓÔÁÎÅÔÅ ÉÓпÏÌØÚÏвÁÔØ ÅÇÏ в ÒÁÂÏÔÅ. äÌÑ ÒÁÂÏÔÙ вÁÍ ÓËÏÒÅÅ вÓÅÇÏ пÏÎÁÄÏÂÉÔÓÑ пÁËÅÔ smbfs. Smbfs пÏÓÔÁвÌÑÅÔÓÑ Ó ÄвÕÍÑ пÒÏÓÔÙÍÉ ÕÔÉÌÉÔÁÍÉ, smbmount É smbumount. ïÎÉ ÒÁÂÏÔÁÀÔ пÏÄÏÂÎÏ mount É umount ÄÌÑ SMB-ÒÅÓÕÒÓÏв.

ðÁËÅÔ smbfs ÔÅпÅÒØ вËÌÀÞÅÎ в ÂÏÌØÛÉÎÓÔвÏ ÄÉÓÔÒÉÂÕÔÉвÏв Linux. ВÁÍ ÎÅÏÂÈÏÄÉÍÏ пÏÍÎÉÔØ ÏÄÎÕ вÁÖÎÕÀ вÅÝØ: äÌÑ ÔÏÇÏ ÞÔÏÂÙ ÉÓпÏÌØÚÏвÁÔØ ÜÔÉ ÕÔÉÌÉÔÙ вÁÍ ÎÅÏÂÈÏÄÉÍÁ пÏÄÄÅÒÖËÁ smbfs в ÑÄÒÅ.

8. äÏÓÔÕп Ë пÒÉÎÔÅÒÕ Linux ÄÌÑ Windows-ÍÁÛÉÎ

äÌÑ ÏÒÇÁÎÉÚÁÃÉÉ ÄÏÓÔÕпÁ Ë Linux-пÒÉÎÔÅÒÕ Ó Windows ÍÁÛÉÎ, вÁÍ ÎÅÏÂÈÏÄÉÍÏ ÕÂÅÄÉÔØÓÑ, ÞÔÏ пÒÉÎÔÅÒ ÒÁÂÏÔÁÅÔ пÏÄ Linux. åÓÌÉ вÙ ÍÏÖÅÔÅ пÅÞÁÔÁÔØ пÏÄ Linux, ÔÏ ÏÒÇÁÎÉÚÁÃÉÑ ÄÏÓÔÕпÁ Ë пÒÉÎÔÅÒÕ ÂÕÄÅÔ ÏÞÅÎØ пÒÏÓÔÁ.

óÍÏÔÒÉÔÅ Printing HOWTO ÄÌÑ ÄÏпÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ Ï ÎÁÓÔÒÏÊËÅ пÅÞÁÔÉ.

ðÏÓËÏÌØËÕ ÁвÔÏÒ ÉÓпÏÌØÚÕÅÔ пÒÉÎÔÅÒ, пÏÄËÌÀÞÅÎÎÙÊ Ë ÍÁÛÉÎÅ Ó Windows NT(ÜÔÏ ÂÙÌÏ ÄÁвÎÏ - ÄÏ пÅÒÅвÏÄÁ пÏÞÔÉ вÓÅÊ ÓÅÔÉ пÏÌÎÏÓÔØÀ ÎÁ Linux), ÜÔÏÔ ÒÁÚÄÅÌ ÎÅ ÄÏÌÖÅÎ ÒÁÓÓÍÁÔÒÉвÁÔØÓÑ ËÁË ÚÁËÏÎÞÅÎÎÙÊ, Á ÔÏÌØËÏ ËÁË ÒÅËÏÍÅÎÄÁÃÉÑ. õ ËÏÇÏ ÅÓÔØ ÉÎÆÏÒÍÁÃÉÑ Ï ÏÒÇÁÎÉÚÁÃÉÉ ÔÁËÏÇÏ ÄÏÓÔÕпÁ, пÏÓÙÌÁÊÔÅ ÅÅ ÍÎÅ ÎÁ ÁÄÒÅÓ: dwood@plugged.net.au, ÔÁË ÞÔÏ ÜÔÏÔ ÒÁÚÄÅÌ ÍÏÖÅÔ ÂÙÔØ ÄÏпÏÌÎÅÎ в ÂÕÄÕÝÅÍ.

äÏÂÁвØÔÅ ÎÁÓÔÒÏÊËÕ пÒÉÎÔÅÒÁ в вÁÛ ÆÁÊÌ smb.conf:


[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

õÂÅÄÉÔÅÓØ, ÞÔÏ пÕÔØ Ë пÒÉÎÔÅÒÕ (в ÜÔÏÍ ÓÌÕÞÁÅ ÄÌÑ [ljet]) ÓÏÏÔвÅÔÓÔвÕÅÔ ÂÕÆÅÒÎÏÊ ÄÉÒÅËÔÏÒÉÉ, ÕËÁÚÁÎÎÏÊ в ÆÁÊÌÅ /etc/printcap!

óÔÒÏËÉ:


   printcap name = /etc/printcap
   load printers = yes

ËÏÎÔÒÏÌÉÒÕÀÔ ÄÏÌÖÎÙ ÌÉ вÓÅ пÒÉÎÔÅÒÁ, пÅÒÅÞÉÓÌÅÎÎÙÅ в /etc/printcap пÏ ÕÍÏÌÞÁÎÉÀ ÂÙÔØ ÚÁÇÒÕÖÅÎÙ. åÓÌÉ вÙ ÓÄÅÌÁÅÔÅ ÜÔÏ, ÔÏ ÎÅÔ пÒÉÞÉÎÙ ÄÌÑ ÎÁÓÔÒÏÊËÉ ËÁÖÄÏÇÏ пÒÉÎÔÅÒÁ в ÏÔÄÅÌØÎÏÓÔÉ. òÁÚÄÅÌ [printers] ÕËÁÚÙвÁÅÔ ÎÁÓÔÒÏÊËÉ ÄÌÑ пÒÉÎÔÅÒÏв, ËÏÔÏÒÙÅ вÙ ÈÏÔÉÔÅ ÏпÒÅÄÅÌÉÔØ ÑвÎÏ. åÓÌÉ ÉÓпÏÌØÚÕÅÍÁÑ вÁÍÉ пÏÄÓÉÓÔÅÍÁ пÅÞÁÔÉ ÎÅ ÒÁÂÏÔÁÅÔ ÜÔÉÍ ÏÂÒÁÚÏÍ (BSD), ÔÏ вÁÍ ÎÅÏÂÈÏÄÉÍÏ ÎÁÓÔÒÏÉÔØ ÆÁÌØÛÉвÙÊ ÆÁÊÌ printcap (ÉÌÉ ÉÓпÏÌØÚÕÊÔÅ 'print command', ÓÍÏÔÒÉÔÅ ÎÉÖÅ). äÌÑ ÄÏпÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ Ï ÓÉÓÔÅÍÅ printcap ÓÍÏÔÒÉÔÅ Printing-HOWTO.

ðÏÌÅÚÎÙÍ пÒÉÅÍÏÍ ÄÌÑ пÒÏвÅÒËÉ ÓÅÔÅвÙÈ ÓÏÅÄÉÎÅÎÉÊ ÑвÌÑÅÔÓÑ ÉÚÍÅÎÅÎÉÅ ËÏÍÁÎÄÙ пÅÞÁÔÉ ÎÁ:


   print command = cp %S /tmp/print.%P.%S

éÔÏÇÏвÙÊ ÆÁÊÌ ÍÏÖÅÔ ÂÙÔØ пÒÏÁÎÁÌÉÚÉÒÏвÁÎ.

úáíåþáîéå: óÕÝÅÓÔвÕÀÔ ÎÅËÏÔÏÒÙÅ пÒÏÂÌÅÍÙ Ó ÄÏÓÔÕпÏÍ Ë пÒÉÎÔÅÒÁÍ ÎÁ UNIX-ÍÁÛÉÎÁÈ ÄÌÑ ÍÁÛÉÎ Ó Windows NT ÉÓпÏÌØÚÕÑ Samba. ïÄÎÁ ÉÚ пÒÏÂÌÅÍ в ÔÏÍ, ÞÔÏ NT ÎÅпÒÁвÉÌØÎÏ вÉÄÉÔ ÓÅÔÅвÏÊ пÒÉÎÔÅÒ. äÌÑ ÒÅÛÅÎÉÑ ÜÔÏÊ пÒÏÂÌÅÍÙ, ÓÍÏÔÒÉÔÅ ÚÁÍÅÞÁÎÉÅ в ÆÁÊÌÅ docs/WinNT.txt ÄÉÓÔÒÉÂÕÔÉвÁ Samba. äÒÕÇÁÑ пÒÏÂÌÅÍÁ ÓвÑÚÁÎÁ Ó пÒÏÂÌÅÍÏÊ пÁÒÏÌÑ. óÍÏÔÒÉÔÅ ËÏÍÍÅÎÔÁÒÉÊ в ÔÏÍ ÖÅ ÓÁÍÏÍ ÆÁÊÌÅ.

Oleg L. Machulskiy ( machulsk@shade.msu.ru) пÒÅÄÌÏÖÉÌ ÂÏÌÅÅ ÕÄÏÂÎÕÀ ÄÌÑ ÉÓпÏÌØÚÏвÁÎÉÑ ËÏÍÁÎÄÕ пÅÞÁÔÉ, ÞÅÍ в вÙÛÅпÒÉвÅÄÅÎÎÏÍ пÒÉÍÅÒÅ:


print command = smb2ps %s | lpr -r -h -P %p

ÇÄÅ 'smb2ps' ÑвÌÑÅÔÓÑ ÓËÒÉпÔÏÍ, ËÏÔÏÒÙÊ пÒÅÏÂÒÁÚÕÅÔ ÂÕÆÅÒÎÙÊ ÆÁÊÌ, пÅÒÅÄÁÎÎÙÊ ÉÚ пÏÄ Windows в ÏÂÙÞÎÏ ÉÓпÏÌØÚÕÅÍÙÊ ÆÁÊÌ Postscript. ïÎ ÄÏÌÖÅÎ ÕÄÁÌÑÔØ пÅÒвÙÅ ÔÒÉ É пÏÓÌÅÄÎÉÅ ÄвÅ ÓÔÒÏËÉ, пÏÔÏÍÕ ÞÔÏ ÜÔÉ ÓÔÒÏËÉ ÓÏÄÅÒÖÁÔ ÎÅËÏÔÏÒÙÅ ËÏÄÙ PJL ÉÌÉ PCL.

ôÁËÏÊ пÏÄÈÏÄ ÎÕÖÅÎ ÔÏÌØËÏ ÅÓÌÉ вÁÛÁ ÍÁÛÉÎÁ Ó Windows пÅÞÁÔÁÅÔ PCL, Á ÎÅ ÎÁÓÔÏÑÝÉÊ Postscript. ñ ÏÂÎÁÒÕÖÉÌ, ÞÔÏ Windows 95/98/NT ÎÅ ÉÍÅÀÔ ÏÂÝÅÇÏ ÄÒÁÊвÅÒÁ Postscript, ÎÏ ÄÒÁÊвÅÒ пÒÉÎÔÅÒÁ "Digital turbo Printserver 20" ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ËÁË ÈÏÒÏÛÉÊ ÄÒÁÊвÅÒ Postscript ÄÌÑ ÂÏÌØÛÉÎÓÔвÁ ÓÌÕÞÁÅв. ñ ÔÁËÖÅ ÓÌÙÛÁÌ, ÞÔÏ ÄÌÑ ÜÔÉÈ ÖÅ ÃÅÌÅÊ ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÄÒÁÊвÅÒ "Apple LaserWriter II NTX".

Jeff Stern ( jstern@eclectic.ss.uci.edu) ÎÁпÉÓÁÌ ÓÌÅÄÕÀÝÅÅ, ÞÔÏ ÍÏÖÅÔ пÏÍÏÞØ ÎÅËÏÔÏÒÙÍ ÉÚ вÁÓ:

--------------------------%<----------------------------------

õ ÍÅÎÑ ÂÙÌÁ пÒÏÂÌÅÍÁ, ËÏÔÏÒÁÑ ÚÁËÌÀÞÁÌÁÓØ в ÔÏÍ, ÞÔÏ Ñ ÍÏÇ пÅÞÁÔÁÔØ, ÉÓпÏÌØÚÕÑ lpd/lpr ÎÁ ÍÏÊ пÒÉÎÔÅÒ, пÏÄËÌÀÞÅÎÎÙÊ Ë Linux, Ó ÓÁÍÏÊ ÍÁÛÉÎÙ пÏÄ Linux. îÏ Ñ ÎÅ ÍÏÇ пÅÞÁÔÁÔØ ÎÁ ÜÔÏÔ пÒÉÎÔÅÒ Ó ÕÄÁÌÅÎÎÏÊ ÍÁÛÉÎÙ пÏÄ Win95. ëÏÇÄÁ Ñ пÏпÒÏÂÏвÁÌ ÚÁпÕÓÔÉÔØ

smbclient \\eclectic\belen -P

É ÚÁÔÅÍ пÏпÙÔÁÌÓÑ вÙпÏÌÎÉÔØ

print myfile

Ñ пÏÌÕÞÉÌ ÓÏÏÂÝÅÎÉÅ Ï ÔÏÍ, ÞÔÏ ÄÏÓÔÕп ÚÁпÒÅÝÅÎ. ñ ÕÓÔÁÎÏвÉÌ пÒÁвÁ ÄÏÓÔÕпÁ ÎÁ ÄÉÒÅËÔÏÒÉÀ /var/spool/lpd/lp1 ÒÁвÎÙÍÉ 777. ñ ËÏÎÅÞÎÏ ÉÚвÉÎÑÀÓØ, ÎÏ Ñ ÜÔÏ ÓÄÅÌÁÌ. ñ ÔÁËÖÅ пÒÅÄпÏÌÁÇÁÀ, в ËÁÞÅÓÔвÅ ÁÌØÔÅÒÎÁÔÉвÙ, ÞÔÏ Ñ ÍÏÇ ÂÙ пÏÍÅÓÔÉÔØ вÓÅÈ, ËÔÏ ÚÁÒÅÇÅÓÔÒÉÒÏвÁÎ ÎÁ ÍÁÛÉÎÅ Ó Linux в ÇÒÕппÕ 'lp', ÉÌÉ ÚÁÄÁÔØ вÌÁÄÅÌØÃÅÍ ÄÉÒÅËÔÏÒÉÉ ÇÒÕппÕ 'users', É Ô.п... îÏ ÓÅÊÞÁÓ ÜÔÏ ÒÁÂÏÔÁÅÔ (Ó вÌÁÄÅÌØÃÅÍ root:lp).

В ËÏÎÃÅ, ÄÒÕÇÁÑ вÅÝØ ËÏÔÏÒÕÀ ÄÏÌÖÅÎ ÚÎÁÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒ ÜÔÏ ÉÍÑ пÏÌØÚÏвÁÔÅÌÑ ÎÁ ÍÁÛÉÎÅ Ó Windows (ËÏÔÏÒÙÊ пÙÔÁÅÔÓÑ ÉÓпÏÌØÚÏвÁÔØ пÒÉÎÔÅÒ Linux ÞÅÒÅÚ Samba), ËÏÔÏÒÏÅ ÄÏÌÖÎÏ ÂÙÔØ ÔÁËÖÅ ÎÁÚвÁÎÏ É ÎÁ ÍÁÛÉÎÅ Ó Linux. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÅÓÌÉ пÏÌØÚÏвÁÔÅÌØ 'joe' ÎÁ ÍÁÛÉÎÅ Ó Windows, ÎÁÚвÁÎÎÏÊ 'mywinbox' пÏпÙÔÁÅÔÓÑ ÎÁпÅÞÁÔÁÔØ ÎÁ пÒÉÎÔÅÒ 'belen' ÎÁ ÍÁÛÉÎÅ Ó Linux 'eclectic' (\\eclectic\belen) ÔÏ ÔÁËÖÅ ÄÏÌÖÅÎ ÂÙÔØ пÏÌØÚÏвÁÔÅÌØ 'joe' ÎÁ ÍÁÛÉÎÅ Ó Linux. úÁÔÅÍ, пÁÒÏÌØ 'joe' ÄÏÌÖÅÎ ÂÙÔØ пÁÒÏÌÅÍ ÄÌÑ ÄÏÓÔÕпÁ Ë пÒÉÎÔÅÒÕ 'belen' ÎÁ ÍÁÛÉÎÅ 'eclectic'. üÔÏ пÁÒÏÌØ ÂÕÄÅÔ ÚÁпÒÏÛÅÎ пÒÉ ÕÓÔÁÎÏвËÅ пÒÉÎÔÅÒÁ ÎÁ ÍÁÛÉÎÅ Ó Windows, ÉÓпÏÌØÚÕÑ ÍÁÓÔÅÒ ÄÏÂÁвÌÅÎÉÑ пÒÉÎÔÅÒÁ.

ñ ÄÕÍÁÀ, ÞÔÏ ÜÔÏ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÓÌÕÞÁÊÎÙÍ, пÏÓËÏÌØËÕ Ñ ÕÓÔÁÎÏвÉÌ ÍÏÊ пÒÉÎÔÅÒ ËÁË 'public' в smb.conf. îÏ ÎÅÓÏÍÎÅÎÎÏ ÏÎ вÓÅ ÒÁвÎÏ ÓпÒÛÉвÁÅÔ пÁÒÏÌØ. (íÁÛÉÎÙ пÏÄ Windows Ë ÓÏÖÁÌÅÎÉÀ ÎÅ ÄÁÀÔ вÁÍ вÏÚÍÏÖÎÏÓÔØ ÕËÁÚÁÔØ ÄÒÕÇÏÅ ÉÍÑ ÄÌÑ ÕÄÁÌÅÎÎÏÇÏ пÒÉÎÔÅÒÁ (пÏÄ Linux). Windows пÒÏÓÔÏ ÉÓпÏÌØÚÕÅÔ ÉÍÑ ÌÏËÁÌØÎÏÇÏ пÏÌØÚÏвÁÔÅÌÑ, ËÏÔÏÒÙÅ вÙ ввÅÌÉ, ËÏÇÄÁ ÚÁпÕÓÔÉÌÉ Win95.

--------------------------%<----------------------------------

Dr. Michael Langner ( langner@fiz-chemie.de ÕËÁÚÁÌ, ÞÔÏ пÒÏÂÌÅÍÁ пÒÁв ÄÏÓÔÕпÁ ÎÁ ÚÁпÉÓØ ÎÁ ÄÅÒÅвÏ ÄÉÒÅËÔÏÒÉÊ /var/spool/lpd/ ÍÏÖÅÔ ÂÙÔØ ÉÚÂÅÇÎÕÔÁ, ÉÓпÏÌØÚÏвÁÎÉÅÍ ÞÅÇÏ-ÔÏ пÏÄÏÂÎÏÇÏ "path=/tmp" É "print command = lpr -r -P%p %s".

éÎÏÇÄÁ вÏÚÎÉËÁÅÔ ÏÛÉÂËÁ ÒÁÚÂÏÒÁ Postscript пÒÉ пÅÞÁÔÉ Postscript Ó ÍÁÛÉÎÙ пÏÄ Windows, ÞÔÏ вÙÚÙвÁÅÔ пÅÞÁÔØ ÌÉÛÎÉÈ ÓÔÒÁÎÉà в ËÏÎÃÅ ËÁÖÄÏÇÏ ÚÁÄÁÎÉÑ. ðÏÓÌÅÄÎÑÑ ÓÔÒÁÎÉÃÁ вÓÅÇÄÁ ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÓÏÏÂÝÅÎÉÅ "%%[ Lastpage ]%%" в ÚÁÇÏÌÏвËÅ. üÔÏ ËÁÖÅÔÓÑ ÓÌÕÞÁÅÔÓÑ ÔÏÌØËÏ ÎÁ ÍÁÛÉÎÁÈ Ó Windows 95 É 98 É ÜÔÏ пÒÏÉÓÈÏÄÉÔ ÉÚ-ÚÁ ÔÏÇÏ, ÞÔÏ Postscript ÑвÌÑÅÔÓÑ пÌÏÈÏÓÆÏÒÍÉÒÏвÁÎÎÙÍ.

ïÄÎÉÍ ÉÚ ÓпÏÓÏÂÏв ÏÂÒÁÂÏÔËÉ ÜÔÏÊ ÏÛÉÂËÉ --- ÉÓпÏÌØÚÏвÁÔØ ÓËÒÉпÔ ÄÌÑ ÕÄÁÌÅÎÉÑ ËÕÓËÁ пÌÏÈÏÇÏ Postscript ÉÚ ÚÁÄÁÎÉÑ пÅÞÁÔÉ. äÒÕÇÉÍ ÓпÏÓÏÂÏÍ ÑвÌÑÅÔÓÑ ÎÁÈÏÖÄÅÎÉÅ ÌÕÞÛÅÇÏ ÄÒÁÊвÅÒÁ Postscript ÄÌÑ Windows. ВÅÒÏÑÔÎÏ ÌÕÞÛÉÊ ÓпÏÓÏ ÄÌÑ ÎÁÓ ÜÔÏ ÉÓпÏÌØÚÏвÁÔØ LPRng вÍÅÓÔÏ Postscript ÄÌÑ пÅÞÁÔÉ ÎÁ ÓÅÒвÅÒ Samba.

Erik Ratcliffe ( erik@caldera.com), Caldera, ÓÏÏÂÝÉÌ, ÞÔÏ ÉÓпÏÌØÚÏвÁÎÉÅ LPRng ÏÚÎÁÞÁÅÔ, ÞÔÏ ÌÀÂÏÊ ÄÒÁÊвÅÒ пÒÉÎÔÅÒÁ ÍÏÖÅÔ ÂÙÔØ ÉÓпÏÌØÚÏвÁÎ Ó ÍÁÛÉÎ пÏÄ Windows. îÁ ÓÅÒвÅÒÅ Samba, ÏÎÉ ÉÓпÏÌØÚÕÀÔ ÚÁпÉÓØ в /etc/printcap, ËÏÔÏÒÁÑ вÙÇÌÑÄÉÔ пÒÉÍÅÒÎÏ ÔÁË:


raw:\
        :rw:sh:
        :lp=/dev/lp1
        :sd=/var/spool/lpd/raw
        :fx=flp

LPRng ÎÅ ÔÒÅÂÕÅÔ :\ в ËÏÎÃÅ ËÁÖÄÏÊ ÓÔÒÏËÉ. úÁпÉÓØ Ï пÒÉÎÔÅÒÅ вÓÅ ÒÁвÎÏ ÎÅÏÂÈÏÄÉÍÏ ÓÄÅÌÁÔØ в ÆÁÊÌÅ /etc/smb.conf ÄÌÑ ÆÉÚÉÞÅÓËÏÇÏ пÒÉÎÔÅÒÁ. óÔÒÏËÁ ËÏÍÁÎÄÙ пÅÞÁÔÉ ÎÕÖÎÁ ÄÌÑ ÉÓпÏÌØÚÏвÁÎÉÑ ÚÁпÉÓÉ "raw" ÉÚ ÆÁÊÌÁ /etc/printcap É ÄÁÎÎÙÅ ÄÏÌÖÎÙ пÏÓÙÌÁÔØÓÑ в ÄвÏÉÞÎÏÊ ÆÏÒÍÅ. ðÏпÒÏÂÕÊÔÅ вÏÔ ÔÁËÕÀ ËÏÍÁÎÄÎÕÀ ÓÔÒÏËÕ:


print command = lpr -b -Praw %s

ВÁÍ ÔÁËÖÅ ÍÏÖÅÔ пÏÎÁÄÏÂÉÔØÓÑ ÕÓÔÁÎÏвÉÔØ ÂÕÆÅÒÉÚÁÃÉÀ пÅÞÁÔÉ ÎÁ Windows95 ÄÌÑ пÅÞÁÔÉ пÒÑÍÏ ÎÁ пÒÉÎÔÅÒ, вÍÅÓÔÏ ÉÓпÏÌØÚÏвÁÎÉÑ ÂÕÆÅÒÉÚÁÃÉÉ ÎÁ ÓÅÒвÅÒÅ.

9. äÏÓÔÕп Ë пÒÉÎÔÅÒÕ Windows Ó ÍÁÛÉÎ ÒÁÂÏÔÁÀÝÉÈ пÏÄ Linux

äÌÑ ÄÏÓÔÕпÁ Ë пÒÉÎÔÅÒÕ ÎÁ Windows ÍÁÛÉÎÅ, вÙ ÄÏÌÖÎÙ ÓÄÅÌÁÔØ ÓÌÅÄÕÀÝÅÅ:

  1. Вù ÄÏÌÖÎÙ ÉÍÅÔØ пÒÁвÉÌØÎÙÅ ÚÁпÉÓÉ в ÆÁÊÌÅ /etc/printcap É ÏÎÉ ÄÏÌÖÎÙ ÓÏÏÔвÅÔÓÔвÏвÁÔØ ÌÏËÁÌØÎÏÊ ÓÔÒÕËÔÕÒÅ ÄÉÒÅËÔÏÒÉÊ (ÄÌÑ ÂÕÆÅÒÎÏÊ ÄÉÒÅËÔÏÒÉÉ, É Ô.п.)
  2. õ вÁÓ ÄÏÌÖÅÎ ÂÙÔØ ÓËÒÉпÔ /usr/bin/smbprint. ïÎ пÏÓÔÁвÌÑÅÔÓÑ вÍÅÓÔÅ Ó ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ Samba, ÎÏ ÎÅ ÓÏ вÓÅÍÉ ÄвÏÉÞÎÙÍÉ ÄÉÓÔÒÉÂÕÔÉвÁÍÉ Samba. åÇÏ ÎÅÍÎÏÇÏ ÍÏÄÉÆÉÃÉÒÏвÁÎÎÁÑ ËÏпÉÑ ÏÂÓÕÖÄÁÅÔÓÑ ÎÉÖÅ.
  3. åÓÌÉ вÙ ÈÏÔÉÔÅ пÒÅÏÂÒÁÚÏвÙвÁÔØ ASCII ÆÁÊÌÙ в Postscript, вÙ ÄÏÌÖÎÙ ÉÍÅÔØ пÒÏÇÒÁÍÍÕ nenscript, ÉÌÉ ÅÅ ÜËвÉвÁÌÅÎÔ. nenscript -- ÜÔÏ ËÏÎвÅÒÔÅÒ Postscript, ÏÎ ÏÂÙÞÎÏ ÕÓÔÁÎÁвÌÉвÁÅÔÓÑ в ÄÉÒÅËÔÏÒÉÀ /usr/bin.
  4. ВÙ ÍÏÖÅÔÅ ÚÁÈÏÔÅÔØ ÓÄÅÌÁÔØ пÅÞÁÔØ ÞÅÒÅÚ Samba ÂÏÌÅÅ ÌÅÇËÏÊ, ÉÓпÏÌØÚÕÑ пÒÏÇÒÁÍÍÙ-ÎÁÄÓÔÒÏÊËÉ. ðÒÏÓÔÏÊ ÓËÒÉпÔ ÎÁ perl, ËÏÔÏÒÙÊ ÏÂÒÁÂÁÔÙвÁÅÔ ASCII, Postscript ÉÌÉ пÒÅÏÂÒÁÚÏвÁÎÎÙÊ Postscript пÒÉвÅÄÅÎ ÎÉÖÅ.
  5. ВÙ ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓпÏÌØÚÏвÁÔØ MagicFilter ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ вÙпÏÌÎÉÔØ, ÏпÉÓÁÎÎÏÅ вÙÛÅ. ðÏÄÒÏÂÎÏÓÔÉ Ï ÎÁÓÔÒÏÊËÅ MagicFilter пÒÉвÏÄÑÔÓÑ ÎÉÖÅ. MagicFilter ÉÍÅÅÔ пÒÅÉÍÕÝÅÓÔвÁ, пÏÔÏÍÕ, ÞÔÏ ÏÎ ÚÎÁÅÔ ËÁË ÁвÔÏÍÁÔÉÞÅÓËÉ пÒÅÏÂÒÁÚÏвÙвÁÔØ ÄÏÓÔÁÔÏÞÎÏ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔвÏ ÆÏÒÍÁÔÏв ÆÁÊÌÏв.

úÁпÉÓØ в ÆÁÊÌÅ /etc/printcap, пÒÉвÅÄÅÎÎÏÍ ÎÉÖÅ, ÓÄÅÌÁÎÁ ÄÌÑ пÒÉÎÔÅÒÁ HP 5MP ÎÁ ÓÅÒвÅÒÅ Windows NT. éÓпÏÌØÚÕÀÔÓÑ ÓÌÅÄÕÀÝÉÅ пÏÌÑ ÆÁÊÌÁ /etc/printcap:


        cm - ËÏÍÍÅÎÔÁÒÉÊ
        lp - ÉÍÑ ÕÓÔÒÏÊÓÔвÁ, ÏÔËÒÙвÁÅÍÏÇÏ ÄÌÑ вÙвÏÄÁ
        sd - ÄÉÒÅËÔÏÒÉÑ ÓпÕÌÁ пÒÉÎÔÅÒÁ (ÎÁ ÌÏËÁÌØÎÏÊ ÍÁÛÉÎÅ)
        af - ÆÁÊÌ ÕÞÅÔÁ пÏÌØÚÏвÁÎÉÑ пÒÉÎÔÅÒÏÍ
        mx - ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÆÁÊÌÁ (ÎÏÌØ -- ÂÅÚ ÏÇÒÁÎÉÞÅÎÉÊ)
        if - ÉÍÑ вÈÏÄÎÏÇÏ ÆÉÌØÔÒÁ (ÓËÒÉпÔÁ)

äÌÑ ÂÏÌÅÅ ÄÅÔÁÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ Ï пÅÞÁÔÉ ÓÍÏÔÒÉÔÅ Printing HOWTO ÉÌÉ ÓпÒÁвÏÞÎÙÅ ÓÔÒÁÎÉÃÙ пÏ printcap.


# /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:

õÂÅÄÉÔÅÓØ, ÞÔÏ ÂÕÆÅÒÎÙÅ ÄÉÒÅËÔÏÒÉÉ É ÄÉÒÅËÔÏÒÉÑ, ÉÓпÏÌØÚÕÅÍÁÑ ÄÌÑ ÕÞÅÔÁ пÏÌØÚÏвÁÎÉÑ ÓÕÝÅÓÔвÕÀÔ É ÉÍÅÀÔ пÒÁвÏ ÎÁ ÚÁпÉÓØ. õÂÅÄÉÔÅÓØ, ÞÔÏ ÓÔÒÏËÁ 'if' ÓÏÄÅÒÖÉÔ пÒÁвÉÌØÎÙÊ пÕÔØ Ë ÓËÒÉпÔÕ smbprint (ÄÁÎ ÎÉÖÅ) É ÕÂÅÄÉÔÅÓØ, ÞÔÏ ÚÁпÉÓÉ ÕËÁÚÙвÁÀÔ ÎÁ пÒÁвÉÌØÎÏÅ ÕÓÔÒÏÊÓÔвÏ вÙвÏÄÁ (ÓпÅÃÉÁÌØÎÙÊ ÆÁÊÌ /dev).

äÁÌÅÅ ÉÄÅÔ ÓÁÍ ÓËÒÉпÔ smbprint. ïÎ ÏÂÙÞÎÏ ÎÁÈÏÄÉÔÓÑ в ÄÉÒÅËÔÏÒÉÉ /usr/bin É ÎÁпÉÓÁÎ Andrew Tridgell, ÞÅÌÏвÅËÏÍ, ËÏÔÏÒÙÊ пÁËÅÔ ÓÏÚÄÁÌ Samba, ÎÁÓËÏÌØËÏ Ñ ÚÎÁÀ. üÔÏÔ ÓËÒÉпÔ пÏÓÔÁвÌÑÅÔÓÑ вÍÅÓÔÅ Ó ÄÉÓÔÒÉÂÕÔÉвÏÍ ÉÓÈÏÄÎÏÇÏ ËÏÄÁ Samba, ÎÏ ÏÔÓÕÔÓÔвÕÅÔ в ÎÅËÏÔÏÒÙÈ ÂÉÎÁÒÎÙÈ ÄÉÓÔÒÉÂÕÔÉвÁÈ, ÔÁË ÞÔÏ Ñ вÏÓÓÏÚÄÁÌ ÅÇÏ ÚÄÅÓØ.

ВÙ ÍÏÖÅÔÅ ÚÁÈÏÔÅÔØ вÚÇÌÑÎÕÔØ ÎÁ ÎÅÇÏ ÂÏÌÅÅ вÎÉÍÁÔÅÌØÎÏ. åÓÔØ ÎÅËÏÔÏÒÙÅ ÍÅÌËÉÅ ÉÚÍÅÎÅÎÉÑ, ËÏÔÏÒÙÅ пÏËÁÚÁÌÉ ÓÅÂÑ пÏÌÅÚÎÙÍÉ.


#!/bin/sh -x

# üÔÏÔ ÓËÒÉпÔ ÑвÌÑÅÔÓÑ вÈÏÄÎÙÍ ÆÉÌØÔÒÏÍ ÄÌÑ ÏÓÎÏвÁÎÎÏÊ ÎÁ printcap
# пÅÞÁÔÉ ÎÁ unix-ÍÁÛÉÎÁÈ. ïÎ ÉÓпÏÌØÚÕÅÔ пÒÏÇÒÁÍÍÕ smbclient ÄÌÑ
# пÅÞÁÔÉ ÆÁÊÌÁ ÎÁ ÕËÁÚÁÎÎÙÊ smb-ÓÅÒвÅÒ É ÓÅÒвÉÓ.
# îÁпÒÉÍÅÒ вÙ ÍÏÖÅÔÅ ÉÍÅÔØ ÚÁпÉÓØ в printcap пÏÄÏÂÎÕÀ ÜÔÏÊ
#
# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint
#
# ËÏÔÏÒÁÑ ÓÏÚÄÁÅÔ unix-пÒÉÎÔÅÒ ÎÁÚвÁÎÎÙÊ "smb", ËÏÔÏÒÙÊ ÂÕÄÅÔ
# пÅÞÁÔÁÔØ Ó пÏÍÏÝØÀ ÜÔÏÇÏ ÓËÒÉпÔÁ. ВÁÍ ÎÅÏÂÈÏÄÉÍÏ ÓÏÚÄÁÔØ ÄÉÒÅËÔÏÒÉÀ
# ÓпÕÌÁ /usr/spool/smb Ó ÓÏÏÔвÅÔÓÔвÕÀÝÉÍÉ пÒÁвÁÍÉ É вÌÁÄÅÌØÃÅÍ

# õÓÔÁÎÏвÉÔÅ ÚÄÅÓØ ÓÅÒвÅÒ É ÓÅÒвÉÓ ÎÁ ËÏÔÏÒÙÊ вÙ ÈÏÔÉÔÅ пÅÞÁÔÁÔØ. В
# ÜÔÏÍ пÒÉÍÅÒÅ Ñ ÉÍÅÀ PC Ó WfWg PC, ÎÁÚвÁÎÎÕÀ "lapland", ËÏÔÏÒÁÑ
# ÉÍÅÅÔ ÜËÓпÏÒÔÉÒÕÅÍÙÊ пÒÉÎÔÅÒ, ÎÁÚÙвÁÅÍÙÊ "printer" ÂÅÚ пÁÒÏÌÑ

#
# äÁÌÅÅ ÓËÒÉпÔ ÂÙÌ ÉÚÍÅÎÅÎ hamiltom@ecnz.co.nz (Michael Hamilton)
# ÔÁË ÞÔÏ ÓÅÒвÅÒ, ÓÅÒвÉÓ É пÁÒÏÌØ ÍÏÇÕÔ ÂÙÔØ ÓÞÉÔÁÎÙ ÉÚ ÆÁÊÌÁ
# /usr/var/spool/lpd/PRINTNAME/.config 
#
# äÌÑ ÔÏÇÏ ÞÔÏÂÙ ÜÔÏ ÒÁÂÏÔÁÌÏ ÚÁпÉÓØ в /etc/printcap ÄÏÌÖÎÁ
# вËÌÀÞÁÔØ ÆÁÊÌ ÕÞÅÔÁ ÉÓпÏÌØÚÏвÁÎÉÑ (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:
#
# æÁÊÌ /usr/var/spool/lpd/PRINTNAME/.config ÄÏÌÖÅÎ ÓÏÄÅÒÖÁÔØ
#   server=PC_SERVER
#   service=PR_SHARENAME
#   password="password"
#
# îÁпÒÉÍÅÒ,
#   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 >> $logfile

âÏÌØÛÉÎÓÔвÏ ÄÉÓÔÒÉÂÕÔÉвÏв Linux пÏÓÔÁвÌÑÅÔÓÑ Ó пÒÏÇÒÁÍÍÏÊ nenscript ÄÌÑ пÒÅÏÂÒÁÚÏвÁÎÉÑ ASCII ÄÏËÕÍÅÎÔÏв в Postscript. óÌÅÄÕÀÝÉÊ ÓËÒÉпÔ ÎÁ perl ÄÅÌÁÅÔ ÖÉÚÎØ пÏÌØÚÏвÁÔÅÌÑ ÌÅÇÞÅ, ÏÂÅÓпÅÞÉвÁÑ пÒÏÓÔÏÊ ÉÎÔÅÒÆÅÊÓ ÄÌÑ пÅÞÁÔÉ ÉÓпÏÌØÚÕÑ smbprint.


éÓпÏÌØÚÏвÁÎÉÅ: print [-a|c|p] <filename>
       -a пÅÞÁÔÁÅÔ <filename> ËÁË ASCII
       -c пÅÞÁÔÁÅÔ <filename> ÏÔÆÏÒÍÁÔÉÒÏвÁÎÎÙÊ ËÁË ÉÓÈÏÄÎÙÊ ËÏÄ
       -p пÅÞÁÔÁÅÔ <filename> ËÁË Postscript
        åÓÌÉ ÏпÃÉÉ ÎÅ ÚÁÄÁÎÙ, пÒÏÇÒÁÍÍÁ пÏпÒÏÂÕÅÔ ÏпÒÅÄÅÌÉÔØ
        ÔÉп ÆÁÊÌÁ É пÅÞÁÔÁÔØ ÓÏÏÔвÅÔÓÔвÅÎÎÏ

éÓпÏÌØÚÕÑ smbprint ÄÌÑ пÅÞÁÔÉ ASCII ÆÁÊÌÏв, ÓËÒÉпÔ ÓÌÅÄÉÔ ÚÁ ÄÌÉÎÎÙÍÉ ÓÔÒÏËÁÍÉ. åÓÌÉ вÏÚÍÏÖÎÏ, ÜÔÏÔ ÓËÒÉпÔ ÒÁÚÒÙвÁÅÔ ÄÌÉÎÎÕÀ ÓÔÒÏËÕ ÎÁ пÒÏÂÅÌÅ (вÍÅÓÔÏ ÒÁÚÒÙвÁ в ÓÅÒÅÄÉÎÅ ÓÌÏвÁ).

æÏÒÍÁÔÉÒÏвÁÎÉÅ ÉÓÈÏÄÎÏÇÏ ËÏÄÁ вÙпÏÌÎÑÅÔÓÑ Ó пÏÍÏÝØÀ пÒÏÇÒÁÍÍÙ nenscript. ïÎÁ ÂÅÒÅÔ ASCII-ÆÁÊÌ É ÆÏÒÍÁÔÉÒÕÅÔ ÅÇÏ в 2 ËÏÌÏÎËÉ Ó ÚÁÇÏÌÏвËÏÍ (ÄÁÔÁ, ÉÍÑ ÆÁÊÌÁ É Ô.п.). üÔÁ пÒÏÇÒÁÍÍÁ ÔÁËÖÅ ÎÕÍÅÒÕÅÔ ÓÔÒÏËÉ. éÓпÏÌØÚÕÑ ÜÔÏÔ ÓËÒÉпÔ ËÁË пÒÉÍÅÒ, ÍÏÇÕÔ ÂÙÔØ ÄÏÂÁвÌÅÎÙ ÄÒÕÇÉÅ ÔÉпÙ ÆÏÒÍÁÔÉÒÏвÁÎÉÑ.

Postscript-ÄÏËÕÍÅÎÔÙ ÑвÌÑÀÔÓÑ ÕÖÅ ÏÔÆÏÒÍÁÔÉÒÏвÁÎÙ, ÔÁË ÞÔÏ ÏÎÉ пÅÞÁÔÁÀÔÓÑ ÓÒÁÚÕ.


#!/usr/bin/perl

# óËÒÉпÔ:   print
# áвÔÏÒÙ:   Brad Marshall, David Wood
#           Plugged In Communications
# äÁÔÁ:   960808
#
# éÓпÏÌØÚÕÅÔÓÑ ÄÌÑ пÅÞÁÔÉ ÎÁ ÓÅÒвÉÓ oreilly, ËÏÔÏÒÙÊ ÒÁÓпÏÌÏÖÅÎ ÎÁ
# ÓÅÒвÅÒÅ zimmerman
# îÁÚÎÁÞÅÎÉÅ: âÅÒÅÔ ÆÁÊÌÙ ÒÁÚÎÙÈ ÔÉпÏв ËÁË ÁÒÇÕÍÅÎÔ É ÏÂÒÁÂÁÔÙвÁÅÔ
# ÉÈ ÓÏÏÔвÅÔÓÔвÅÎÎÏ ÄÌÑ пÅÒÅÄÁÞÉ ÎÁ ÓËÒÉпÔ пÅÞÁÔØ Samba.
#
# В ÎÁÓÔÏÑÝÅÅ вÒÅÍÑ пÏÄÄÅÒÖÉвÁÀÔÓÑ ÔÉпÙ ÆÁÊÌÏв:
# 
# ASCII      - åÓÌÉ ÄÌÉÎÁ ÓÔÒÏËÉ ÄÌÉÎÎÅÅ ÞÅÍ $line_length ÓÉÍвÏÌÏв, ÔÏ 
#              пÅÒÅÎÏÓÉÔ ÓÔÒÏËÕ ÎÁ пÒÏÂÅÌÅ
# Postscript - âÅÒÅÔ ÂÅÚ ÏÂÒÁÂÏÔËÉ
# Code        - æÏÒÍÁÔÉÒÕÅÔ в Postscript (ÉÓпÏÌØÚÕÑ nenscript), ÞÔÏÂÙ 
#               ÏÔÏÂÒÁÖÁÔØ пÒÁвÉÌØÎÏ (ÁÌØÂÏÍÎÙÊ ÆÏÒÍÁÔ, ÆÏÎÔ É Ô.п.)
#

# õÓÔÁÎÏвÉÔØ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ ÓÔÒÏËÉ ASCII ÔÅËÓÔÁ
$line_length = 76;

# õÓÔÁÎÏвÉÔØ пÕÔØ Ë ÓËÒÉпÔÕ пÅÞÁÔÉ Samba
$print_prog = "/usr/bin/smbprint";

# õÓÔÁÎÏвÉÔØ пÕÔØ É ÉÍÑ nenscript (ËÏÎвÅÒÔÅÒÁ ASCII-->Postscript)
$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 "
éÓпÏÌØÚÏвÁÎÉÅ: print [-a|c|p] <filename>
       -a пÅÞÁÔÁÅÔ <filename> ËÁË ASCII
       -c пÅÞÁÔÁÅÔ <filename> ÏÔÆÏÒÍÁÔÉÒÏвÁÎÎÙÊ ËÁË ÉÓÈÏÄÎÙÊ ËÏÄ
       -p пÅÞÁÔÁÅÔ <filename> ËÁË Postscript
        åÓÌÉ ÏпÃÉÉ ÎÅ ÚÁÄÁÎÙ, пÒÏÇÒÁÍÍÁ пÏпÒÏÂÕÅÔ ÏпÒÅÄÅÌÉÔØ
        ÔÉп ÆÁÊÌÁ É пÅÞÁÔÁÔØ ÓÏÏÔвÅÔÓÔвÅÎÎÏ\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);
}

ôÅпÅÒØ Ï пÒÉÍÅÎÅÎÉÉ MagicFilter. óпÁÓÉÂÏ Alberto Menegazzi ( flash.egon@iol.it) ÚÁ ÅÇÏ ÉÎÆÏÒÍÁÃÉÀ.

Alberto ÓÏÏÂÝÉÌ: --------------------------%<---------------------------------- 1) õÓÔÁÎÏвÉÔÅ MagicFilter в /usr/bin/local Ó ÆÉÌØÔÒÁÍÉ ÄÌÑ ÎÅÏÂÈÏÄÉÍÙÈ пÒÉÎÔÅÒÏв, ÎÏ îå ÚÁпÏÌÎÑÊÔÅ ÚÁпÉÓÉ в /etc/printcap, ËÁË пÒÅÄпÏÌÁÇÁÅÔÓÑ в ÄÏËÕÍÅÎÔÁÃÉÉ ÎÁ MagicFilter.

2) úÁпÉÛÉÔÅ в /etc/printcap пÒÉÍÅÒÎÏ вÏÔ ÔÁËÕÀ ÚÁпÉÓØ (üÔÏ ÓÄÅÌÁÎÏ ÄÌÑ ÍÏÅÇÏ пÒÉÎÔÅÒÁ LaserJet 4L):

lp|ljet4l:\ :cm=HP LaserJet 4L:\ :lp=/dev/null:\ # or /dev/lp1 :sd=/var/spool/lpd/ljet4l:\ :af=/var/spool/lpd/ljet4l/acct:\ :sh:mx#0:\ :if=/usr/local/bin/main-filter:

ВÙ ÄÏÌÖÎÙ, ÏÂßÑÓÎÉÔØ, ÞÔÏ ÕÓÔÒÏÊÓÔвÏ lp=/dev/... ÏÔËÒÙвÁÅÔÓÑ ÄÌÑ ÂÌÏËÉÒÏвÁÎÉÑ, ÔÁË ÞÔÏ ÄÌÑ ËÁÖÄÏÇÏ ÕÄÁÌÅÎÎÏÇÏ пÒÉÎÔÅÒÁ ÉÓпÏÌØÚÕÅÔÓÑ ÏÄÎÏ "вÉÒÔÕÁÌØÎÏÅ ÕÓÔÒÏÊÓÔвÏ".

ðÒÉÍÅÒ ÓÏÚÄÁÎÉÑ : touch /dev/ljet4l

3) îÁпÉÛÉÔÅ ÆÉÌØÔÒ /usr/local/bin/main-filter, Ó ÔÁËÉÍ ÖÅ ÏÂÒÁÚÏÍ пÒÅÄпÏÌÇÁÑ ÉÓпÏÌØÚÏвÁÎÉÅ ljet4l-filter вÍÅÓÔÏ cat.

ВÏÔ ÔÁË ÄÌÑ ÍÅÎÑ.

#! /bin/sh logfile=/var/log/smb-print.log spool_dir=/var/spool/lpd/ljet4l ( echo "print -" /usr/local/bin/ljet4l-filter ) | /usr/bin/smbclient "\\\\SHIR\\HPLJ4" -N -P >> $logfile

P.S. : üÔÏ ÃÉÔÁÔÁ ÉÚ Print2Win mini-Howto Ï ÂÌÏËÉÒÏвÁÎÉÉ É ÚÁÞÅÍ ÓÏÚÄÁвÁÔØ вÉÒÔÕÁÌØÎÙÅ пÒÉÎÔÅÒÁ

---îÁÞÁÌÏ ÚÄÅÓØ --------- óÏвÅÔ ÏÔ Rick Bressler :

Good tip sheet. I use something very similar. One helpful tip, this is not a particularly good idea:

:lp=/dev/null:\

lpr does an 'exclusive' open on the file you specify as lp=. It does this in order to prevent multiple processes from trying to print to the dame printer at the same time.

The side effect of this is that in your case, eng and colour can't print at the same time, (usually more or less transparent since they probably print quickly and since they queue you probably don't notice) but any other process that tries to write to /dev/null will break!

On a single user system, probably not a big problem. I have a system with over 50 printers. It would be a problem there.

The solution is to create a dummy printer for each. Eg: touch /dev/eng.

I have modified the lp entries in the printcap file above to take into account Rick's suggestion. I did the following:

#touch /dev/eng #touch /dev/colour

---Ends here

--------------------------%<----------------------------------

10. Backing Up Windows Machines to a Linux Host

Adam Neat ( adamneat@ipax.com.au) kindly contributed the following script to back up Windows machines to a Linux host, using the smbclient utility. Adam says that it is used to backup Windows 3.x and NT machines to a Linux based DAT SCSI Drive.

Adam is not proud of the coding style used here, but it works. As I like to say, "If it works and its stupid, then it is not stupid".

In this script, the string 'agnea1' is the username on the Linux machine that does the backups.


#!/bin/bash

clear
echo Initialising ...
checkdate=`date | awk '{print $1}'`

if [ -f "~agnea1/backup-dir/backup-data" ]; then

        echo "ERROR: No config file for today!"
        echo "FATAL!"
        exit 1
fi

if [ -d "~agnea1/backup-dir/temp" ]; then

        echo "ERROR: No tempoary directory found!"
        echo
        echo "Attempting to create"
        cd ~agnea1
        cd backup-dir
        mkdir temp
        echo "Directory Made - temp"
fi

if [ "$1" = "" ]; then

        echo "ERROR: enter in a machine name (ie: cdwriter)"
        exit 1
fi

if [ "$2" = "" ]; then

        echo "ERROR: enter in a SMB (Lan Manager) Resource (ie: work)"
        exit 1
fi

if [ "$3" = "" ]; then

        echo "ERROR: enter in an IP address for $1 (ie:
        130.xxx.xxx.52)" exit 1
fi


#############################################################################
# Main Section
#
#############################################################################

cd ~agnea1/backup-dir/temp
rm -r ~agnea1/backup-dir/temp/*
cd ~agnea1/backup-dir/

case "$checkdate"
in
        Mon)
                echo "Backuping for Monday"
                cat backup-data | /usr/local/samba/bin/smbclient
                \\\\$1\\$2 -I$3 -N echo "Complete"

                        if [ -d "~agnea1/backup-dir/Monday" ]; then
                                echo "Directory Monday Not found ...
                                making" mkdir
                                ~agnea1/backup-dir/Monday
                        fi

                echo "Archiving ..."
                cd ~agnea1/backup-dir/temp
                tar -cf monday.tar *                echo "done ..."
                rm ~agnea1/backup-dir/Monday/monday.tar
                mv monday.tar ~agnea1/backup-dir/Monday
                ;;


        Tue)
                echo "Backuping for Tuesday"
                cat backup-data | /usr/local/samba/bin/smbclient
                \\\\$1\\$2 -I$3 -N echo "Complete"

                        if [ -d "~agnea1/backup-dir/Tuesday" ]; then
                                echo "Directory Tuesday Not found ...
                                making" mkdir
                                ~agnea1/backup-dir/Tuesday
                        fi
                echo "Archiving ..."
                cd ~agnea1/backup-dir/temp
                tar -cf tuesday.tar *
                echo "done ..."
                rm ~agnea1/backup-dir/Tuesday/tuesday.tar
                mv tuesday.tar ~agnea1/backup-dir/Tuesday
                ;;

        Wed)
                echo "Backuping for Wednesday"
                cat backup-data | /usr/local/samba/bin/smbclient
                \\\\$1\\$2 -I$3 -N echo "Complete"

                        if [ -d "~agnea1/backup-dir/Wednesday" ]; then
                                echo "Directory Wednesday Not found
                                ... making" mkdir
                                ~agnea1/backup-dir/Wednesday
                        fi
                echo "Archiving ..."
                cd ~agnea1/backup-dir/temp
                tar -cf wednesday.tar *
                echo "done ..."
             rm ~agnea1/backup-dir/Wednesday/wednesday.tar
                mv wednesday.tar ~agnea1/backup-dir/Wednesday
                ;;

        Thu)
                echo "Backuping for Thrusday"
                cat backup-data | /usr/local/samba/bin/smbclient
                \\\\$1\\$2 -I$3 -N echo "Complete"

                        if [ -d "~agnea1/backup-dir/Thursday" ]; then
                                echo "Directory Thrusday Not found ...
                                making" mkdir
                                ~agnea1/backup-dir/Thursday
                        fi
                echo "Archiving ..."
                cd ~agnea1/backup-dir/temp
                tar -cf thursday.tar *
                echo "done ..."
                rm ~agnea1/backup-dir/Thursday/thursday.tar
                mv thursday.tar ~agnea1/backup-dir/Thursday
                ;;


        Fri)
                echo "Backuping for Friday"
                cat backup-data | /usr/local/samba/bin/smbclient
                \\\\$1\\$2 -I$3 -N echo "Complete"

                        if [ -d "~agnea1/backup-dir/Friday" ]; then
                                echo "Directory Friday Not found ...
                                making" mkdir
                                ~agnea1/backup-dir/Friday
                        fi
                echo "Archiving ..."
                cd ~agnea1/backup-dir/temp
                tar -cf friday.tar *
                echo "done ..."
                rm ~agnea1/backup-dir/Friday/friday.tar
                mv friday.tar ~agnea1/backup-dir/Friday
                ;;

        *)
                echo "FATAL ERROR: Unknown variable passed for day"
                exit 1;;

esac
###########

11. áвÔÏÒÓËÉÅ пÒÁвÁ

áвÔÏÒÓËÉÍÉ пÒÁвÁÍÉ ÎÁ ÜÔÏÔ ÄÏËÕÍÅÎÔ вÌÁÄÅÅÔ David Wood, 1996-9. ïÎ ÍÏÖÅÔ вÏÓпÒÏÉÚвÏÄÉÔÓÑ в ÌÀÂÏÊ ÆÏÒÍÅ É ÓвÏÂÏÄÎÏ ÒÁÓпÒÏÓÔÒÁÎÑÔØÓÑ, пÒÉ ÓÏÈÒÁÎÅÎÉÉ ÆÁÊÌÁ ÎÅÉÚÍÅÎÎÙÍ, вËÌÀÞÁÑ ÜÔÏ ÚÁÑвÌÅÎÉÅ.

12. âÌÁÇÏÄÁÒÎÏÓÔÉ

Brad Marshall ( bmarshall@plugged.net.au) É Jason Parker ( jparker@plugged.net.au) ÎÁÛÅÄÛÉÈ вÒÅÍÑ, пÒÏÑвÉвÛÉÈ ÎÁÓÔÏÊÞÉвÏÓÔØ, ÎÁпÉÓÁвÛÉÈ ÓËÒÉпÔ É пÒÏвÏÄÉвÛÉÈ ÜËÓпÅÒÉÍÅÎÔÙ.

Adam Neat ( adamneat@ipax.com.au) пÒÅÄÏÓÔÁвÉвÛÅÇÏ ÓËÒÉпÔ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ Ó ÍÁÛÉÎÙ пÏÄ Windows ÎÁ ÍÁÛÉÎÕ Ó Linux.

Matthew Flint ( matthew@philtrum.demon.co.uk) ÒÁÓÓËÁÚÁвÛÅÍÕ ÍÎÅ Ï ÉÓпÏÌØÚÏвÁÎÉÉ ÎÁÓÔÒÏÊËÉ 'interfaces' в ÆÁÊÌÅ smb.conf.

Oleg L. Machulskiy ( machulsk@shade.msu.ru), Jeff Stern ( jstern@eclectic.ss.uci.edu), Dr. Michael Langner ( langner@fiz-chemie.de and Erik Ratcliffe ( erik@caldera.com) пÒÅÄÌÏÖÉвÛÉÈ ÉÚÍÅÎÅÎÉÑ в ÒÁÚÄÅÌ Ï ÏÒÇÁÎÉÚÁÃÉÉ ÄÏÓÔÕпÁ Ë пÒÉÎÔÅÒÁÍ Linux ÄÌÑ ÍÁÛÉÎ Ó Windows.

Alberto Menegazzi ( flash.egon@iol.it) пÒÅÄÏÓÔÁвÉвÛÅÍÕ ÍÎÅ ÎÁÓÔÒÏÊËÉ ÄÌÑ MagicFilter, ÞÔÏÂÙ ÏÎ ÍÏÇÕ ÏÂÅÓпÅÞÉвÁÔØ ÄÏÓÔÕп Ë пÒÉÎÔÅÒÁÍ Windows ÄÌÑ ÍÁÛÉÎ Ó Linux.

Andrea Girotto ( icarus@inca.dei.unipd.it) пÏÓÌÁвÛÅÍÕ ÍÎÅ ÎÅËÏÔÏÒÏÅ ËÏÌÉÞÅÓÔвÏ пÏÖÅÌÁÎÉÊ ÏÔÎÏÓÉÔÅÌØÎÏ ÄÁÎÎÏÇÏ ÄÏËÕÍÅÎÔÁ.

ôÁËÖÅ ÂÌÁÇÏÄÁÒÀ вÓÅÈ ÎÁÃÉÏÎÁÌØÎÙÈ пÅÒÅвÏÄÞÉËÏв, ËÏÔÏÒÙÅ пÅÒÅÎÅÓÌÉ ÜÔÏÔ ÄÏËÕÍÅÎÔ в ÍÉÒ ÎÅ ÇÏвÏÒÑÝÉÊ пÏ áÎÇÌÉÊÓËÉ: Takeo Nakano ( nakano@apm.seikei.ac.jp), Klaus-Dieter Schumacher ( Klaus-Dieter.Schumacher@fernuni-hagen.de), Andrea Girotto ( icarus@inca.dei.unipd.it) É ÍÎÏÇÉÈ ÄÒÕÇÉÈ. Ï ËÏÔÏÒÙÈ Ñ ÎÅ ÉÍÅÀ ËÏÎÔÁËÔÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.