?

Log in

No account? Create an account
Previous Entry Поделиться
Самба и get
vlkamov wrote in ru_linux
В локальной сети есть два компьютера: с Winodws 7 и Ubuntu 16.04

Хочется скриптом сгружать файл с виндузятины и обрабатывать его на убунтовом. Не пошло. Ну, думаю, может имена папок русскоязычные, или пробелы в них не усваиваются консольной smbget

Решил поэкспериментиировать на штатных для Винды папках, изначально имеющих LAT-имя без пробелов

Файловый менеджер Pcmanfm в папке
smb://buhg-pc/Public/Downloads
видит файл
mseinstall.exe
и сгружает его (скопировать-вставить)
Кстати, он видит и кириллические имена и пробелы ему не помеха.

А вот в консоли несколько другой результат:

vlkamov@TEST-PC:~/tmp$ smbget smb://buhg-pc/Public/Downloads/mseinstall.exe
Username for Public at buhg-pc [guest] buhg
Password for Public at buhg-pc: 
Using workgroup WORKGROUP, user buhg
smb://buhg-pc/Public/Downloads/mseinstall.exe can't be found on the remote server
vlkamov@TEST-PC:~/tmp$ 

Сталкивалось ли уважаемое сообщество с такой особенностью и как ее обойти ?

Upd. Спасибо за рекомендации. Временно, до утра, меня выгнали с работы, так что проверить те что пришли около 17 Екб и позже смогу только завтра.

Upd 2
Решено.
Сапоги надо надевать На свежую голову подумал-посмотрел-пооткрывал Samba-ресурсы еще раз и заметил такую особенность PCManFM'а.
Он в адресной строке показывает
smb://buhg-pc/Public/Downloads
соответсвенно искомый файл как будто бы
smb://buhg-pc/Public/Downloads/mseinstall.exe

НО !

Когда стучишься в Самба-сервер винды без указания "шары" ( (с) poor_sysadm )
smb://buhg-pc
открывается вот такой списочек (как бы корневой/исходный/рабочий директорий)
ADMIN$
C$
print$
Users


Ясно, что искомые файлы где-то в Users, захожу, новый списочек:
Default
Public



В АДРЕСНОЙ ЖЕ СТРОКЕ Users НЕ ОТОБРАЖАЕТСЯ,
так и остается
smb://buhg-pc
И далее по дереву нигде Users не показывается. Ну вот зачем так делать ?!

Консольный же smbget делали люди простые, которым скрывать ничего не надо.
Указав РЕАЛЬНЫЙ путь
smbget smb://buhg-pc/Users/Public/Downloads/mseinstall.exe

получил запросы логина, пароля, ответил и успешно получил затребованный файл.


  • 1
Я бы запустил smbclient и посмотрел бы, как файл-сервер видится в нём.
А вообще по мне так проще поставить cygwin и использовать ssh, scp, rsync...

Т.е. scp без установки cygwin не работает ?
(отвлеченный вопрос, т.к. ставить что-то не хочется)


Если со стороны винды запускать, можно pscp.exe взять из пакета putty

Можно попробовать примаунтить.

пробую

mount -t cifs //192.168.1.82 /mnt/buhg -o iocharset=utf8
mount: wrong fs type, bad option, bad superblock on //192.168.1.82,
missing codepage or helper program, or other error...

к тому же требует прав root'а

Edited at 2019-09-16 09:52 (UTC)

>iocharset=utf8
>missing codepage
Попробуйте без этого и с указанием версии
mount -t cifs //192.168.1.82 /mnt/buhg -o vers=3.0
например


# mount -t cifs //192.168.1.82 /mnt/buhg -o vers=3.0
Password for root@//192.168.1.82:  *******
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)


инвалид...

Не понял, что есть Password for root на виндовой машине, но ввел пароль Администратора.
Чисто из спортивного интереса, т.к. хочется штатными средствами.



Re: поставил

Пароли можно из файла вытянуть

-o credentials=/path/file

В файле:

username=
password=
domain=

Re: поставил

Спасибо, но это уже лишнее -
кто такие path и file, и даже на какой из этих машин, почему сразу пароль root'а, а не хотя бы имя пользователя и его пароль и т.д. и т.п.



Re: поставил

>кто такие path и file
кто угодно
>почему сразу пароль root'а
не рута, а пользователя с доступом к сетевому ресурсу

Re: поставил

mount -t cifs //192.168.1.82/Public/Downloads /mnt/buhg -o user=buhg

А слеши не надо ли развернуть? В винде же слеши обратные.

Решено, см. Upd 2

Оказалось, не в слэшах дело.

  • 1