23.18. Подключение клиентов Linux к рабочим группам Samba из командной строки

Проблема

Графические обозреватели локальной сети, описанные в разделе 23.17, удобны, однако иногда требуется использовать командную строку для просмотра общих каталогов Samba и передачи файлов. Это может понадобиться, если сеансы X недоступны, или если вы предпочитаете работу в консоли.

Решение

Для подключения к общим ресурсам Samba из командной строки используйте команду smbclient, которая позволяет просматривать каталоги и передавать файлы. В отличие от монтирования общих папок, smbclient работает по аналогии с FTP (File Transfer Protocol), что упрощает процесс обмена файлами.

Вы также можете воспользоваться командами smbtree и smbmount/smbumount. Программа smbtree позволяет просматривать доступные хосты и каталоги в текстовом режиме. После этого можно использовать smbmount и smbumount для монтирования и демонтирования общих папок.

Комментарий

Чтобы получить список общих ресурсов на сервере Samba, используйте smbclient с указанием имени сервера:

$ smbclient -N -L windbag

Пример вывода команды smbclient:

Sharename       Type        Comment
share1          Disk        testfiles
share2          Disk        more testfiles
share3          Disk        testfiles galore

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

$ smbclient -N //windbag/share1
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.5-Debian]
smb: \>

Для отображения содержимого каталога используйте команду ls:

smb: \> ls
    .                            D        0  Sat Aug 14 16:47:24 2003
    ..                           D        0  Sat Aug 14 16:46:14 2003
    chatscripts                  D        0  Sat Aug 14 16:47:24 2003
    calendar                     D        0  Sat Aug 14 16:47:05 2003
47838 blocks of size 65536. 17571 blocks available

Для передачи файлов в каталоге используются стандартные FTP-команды. Пример загрузки файла:

smb: \> cd chatscripts
smb: \chatscripts\> get provider provider-copy

Загруженный файл provider будет сохранён в локальном каталоге под именем provider-copy. Чтобы отправить файл provider-copy обратно на сервер, используйте команду:

smb: \chatscripts\> put provider-copy

Для отображения всех доступных команд в smbclient введите ?:

smb: \> ?

Завершить сеанс можно командой quit:

smb: \> quit

Пример вывода команды smbtree:

$ smbtree -N
WORKGROUP
    \\WINDBAG                 anonymous file server
        \\WINDBAG\ADMIN$      IPC Service (anonymous file server)
        \\WINDBAG\IPC$        IPC Service (anonymous file server)
        \\WINDBAG\share1      testfiles
        \\WINDBAG\share2      more testfiles

После нахождения нужного ресурса его можно смонтировать командой smbmount:

$ mkdir samba
$ smbmount //windbag/share1 samba -o guest

Для отключения ресурса используйте smbumount:

$ smbumount samba

Параметр -o guest предотвращает запрос пароля и применяется для подключения к анонимным ресурсам. Если требуется аутентификация, укажите имя пользователя:

$ smbmount //windbag/andrew samba -o username=andrew
Password:

См. также

smbmount(8), smbumount(8), smbtree(1).