next up previous contents index
Next: Доступ к принтеру Linux Up: Samba Previous: Организация доступа к дискам   Contents   Index

Доступ к SMB-ресурсам из Linux

Машины с Linux (UNIX) могут также просматривать и монтировать SMB- ресурсы. Заметим, что это может быть сделано в двух случаях: когда сервером является машина с Windows либо машина с сервером Samba.

Программа клиента SMB для UNIX-машин включена в дистрибутив Samba. Она обеспечивает ftp-подобный интерфейс командной строки. Можете использовать эту утилиту для переноса файлов между сервером под управлением Windows и клиентом под Linux. Большинство дистрибутивов Linux также включают поддержку smbfs, которая позволяет монтировать и размонтировать SMB-ресурсы.

Для того, чтобы увидеть какие ресурсы доступны на сервере, выполните команду:

/usr/bin/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/bin/smbclient service <password>

где service - имя машины с именем ресурса. Например, если вы пытаетесь обратиться к директорию, который доступен под именем public на машине, названной zimmerman, то имя сервиса должно указываться как \\zimmerman\public. Однако в следствие ограничений оболочки, необходимо экранировать обратный слэш, так что в итоге командная строка выглядеть следующим образом:

/usr/bin/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.

Для практической работы с Samba, Вам скорее всего понадобится пакет smbfs. smbfs поставляется с двумя простыми утилитами, smbmount и smbumount. Они работают подобно mount и umount применительно к SMB-ресурсам.

Важное замечание: чтобы использовать эти утилиты, ядро должно быть скомпилировано с поддержкой smbfs.

Следующий пример показывает типичное использование smbmount для монтирования SMB-ресурса, названного customers на машины с именем samba1:

[root@postel]# smbmount "\\\\samba1\\customers" -U rtg2t -c 'mount /customers -u 500 -g 100' Added interface ip=192.168.35.84 bcast=192.168.255.255 nmask=255.255.0.0 Got a positive name query response from 192.168.168.158 (192.168.168.158 ) Server time is Tue Oct 5 10:27:36 1999 Timezone is UTC-4.0 Password: Domain=[IPM] OS=[Unix] Server=[Samba 2.0.3] security=user

Результат работы команды mount покажет вам, что ресурс смонтирован точно также, как и в случае с NFS:

[root@postel]# mount /dev/hda2 on / type ext2 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,mode=622) //SAMBA1/CUSTOMERS on /customers type smbfs (0)

Прочитайте справочные страницы smbmount и smbumount для получения дополнительной информации об описанных выше операциях.



Alex Otwagin 2002-12-16