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).