Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Цилюрик О.И. Linux-инструменты для Windows-программистов
Назад Инструменты удалённой работы Вперед

Сети Windows

Всё, что касается поддержки сетевых средств Windows (разделение файлов и использование принтеров) развивается из проекта Samba, поддержки протокола SMB (с 1996г. протокол переименован в CIFS).

Для проверки и демонстрации работы нам необходимо определить IP хоста Windows, например:

$ cat /etc/hosts
...
192.168.1.3    rtp rtp.localdomain

$ ping rtp
PING rtp (192.168.1.3) 56(84) bytes of data.
64 bytes from rtp (192.168.1.3): icmp_seq=1 ttl=128 time=1.03 ms
64 bytes from rtp (192.168.1.3): icmp_seq=2 ttl=128 time=0.459 ms
...

Есть несколько альтернативных способов сетевого доступа к разделяемым ресурсам систем Windows.

Пакет Samba

FTP подобный программа-клиент:

$ smbclient -L rtp -U Olej -N
        Sharename       Type      Comment
        ---------       ----      -------
        CDROM           Disk
        D               Disk
        C               Disk
        ADMIN$          Disk
        MY DOCUMENTS    Disk
...

$ smbclient //rtp/D -U olej -N
smb: \> dir
  Program Files                       D        0  Fri Nov 19 20:20:56 2004
  RECYCLED                          DHS        0  Sat Nov 20 12:54:58 2004
...
  FR6.install.hist                    A      218  Fri Oct 29 01:59:52 2010
...
                47975 blocks of size 65536. 5953 blocks available

smb: \> get FR6.install.hist
getting file \FR6.install.hist of size 218 as FR6.install.hist (71,0 KiloBytes/sec) (average 71,0 KiloBytes/sec)

smb: \> quit

$ ls FR6.*

FR6.install.hist

Печать с Samba

Если в Linux установлена подсистема печати (BSD) lpr/lpd, то печать на хостах Windows обеспечивается утилитой (скриптом) в составе Samba — smbprint:

$ which smbprint 

/usr/bin/smbprint 

Примерно с 2000-2001 годов на смену стала приходить подсистема печати CUPS (Common Unix Printing System) на основе демона управления буфером печати cupsd:

$ ps -A | grep cupsd 
 1389 ?       00:00:00 cupsd 

Теперь инструменты Samba могут отправлять задания по каналу прямо демону управления буфером печати cupsd. Для этого нужно конфигурировать разделяемые принтера Windows в Linux непосредственно с помощью инструментальных средств самой системы CUPS. Для тех случаев, когда это, в силу каких-либо условий, не подходит, существует средство консольного указания выполнения задания печати:

$ which smbspool 

/usr/bin/smbspool

Эта утилита позволяет самые разнообразные комбинации наборов параметров в командной строке:

$ smbspool --help 

Usage: smbspool [DEVICE_URI] job-id user title copies options [file] 
       The DEVICE_URI environment variable can also contain the 
       destination printer: 
         smb://[username:password@][workgroup/]server[:port]/printer

Серверная часть Samba

Хост Linux может быть использован в качестве серверного хоста для клиентов Windows. Для этого запускаются два демона nmbd (демон разрешения имён NetBIOS) и smbd (собственно сервер):

$ ps -A | grep mbd 
22803 ?       00:00:00 smbd 
22812 ?       00:00:00 smbd 
22827 ?       00:00:49 nmbd 

Настройки сервера Samba записаны в файле smb.conf, после того, как настройки отредактированы, корректность их проверяется утилитой:

$ which testparm 

/usr/bin/testparm 

$ testparm
Load smb config files from /etc/samba/smb.conf 
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384) 
Processing section "[homes]" 
Processing section "[printers]" 
...

И далее анализируются все секции конфигурационного файла (кстати, testparm позволяет и определить местоположение smb.conf в вашем дистрибутиве, как показано на примере выше). Полную информацию по настройкам, требуемым в smb.conf, достаточную для настройки любого, самого замысловатого сервера, получаем:

$ man 5 smb.conf

SMB.CONF(5)             File Formats and Conventions              SMB.CONF(5) 
NAME 
       smb.conf - The configuration file for the Samba suite 
...

Запуск серверной подсистемы Samba может производиться не только непосредственно (например, из скрипта /etc/rc.local), но и суперсервером inetd/xinetd, что может быть важно в малых конфигурациях.


Предыдущий раздел: Оглавление Следующий раздел:
Удалённый X11   Файловые системы smbfs и cifsfs