Войти

Показать полную графическую версию : Скопировать файл в сетевую папку Windows без паролей


Страниц : [1] 2

Akella2007
18-12-2017, 12:15
При копировании с Win на Win всё просто:
copy d:\file1.txt \\server1\share\print1.txt
Копируем локальный файл в расшаренную папку. На целевом ПК включен беспарольный доступ.


Как такое сделать при копировании из Ubuntu 16.04 в расшаренную папку Windows с помощью sh-скрипта. Чтобы не вводить логины/пароли (ни виндовые, ни линуксовые)?
Что-то вроде
cp $HOME/print/file1.txt //server1/share/print1.txt

На Ubuntu сложнее, но почти получилось.
#!/bin/bash
mkdir -p $HOME/print
mount.cifs -o user=,password=,dir_mode=0777,file_mode=0777 //server1/share $HOME/print
umount $HOME/printПроблема в том, что для mount.cifs нужно вводить пароль root. А нужно без паролей.

Пытаюсь изучать gvfs-mount, но вижу, что в параметрах нет папки назначения, т.е. понятно, что монтировать, но непонятно, куда монтировать.

Akella2007
18-12-2017, 14:55
Вот так получилось

#!/bin/bash
gvfs-mount smb://printserver/share -u;
gvfs-mount smb://printserver/share -a;
cp $HOME/Загрузки/txt.txt /run/user/1000/gvfs/smb-share:server=printserver,share=share/print.txt;
gvfs-mount smb://printserver/share -u;

Jula0071
18-12-2017, 18:07
Запись в /etc/fstab

//server1/share /mnt/backup cifs credentials=/root/.smbcredentials,iocharset=utf8,sec=ntlm 0 0

cat /root/.smbcredentials

username=login
password=password

Всё.

Akella2007
19-12-2017, 10:42
Ещё раз: мне нужно без username/password.

Используя /etc/fstab я так понимаю, что это будет подключаться автоматически при старте ОС?
Так я же не просил при старте ОС. Главный ПК может быть выключен на этапе загрузки клиентского.
Мне нужно только на момент копирования файла.

Вот так получилось »

На самом деле НЕ получилось. После перезагрузки клиентского ПК при монтировании
gvfs-mount smb://printserver/share -a

получаю ошибку:
Ошибка получения адреса: анонимный доступ запрещен.

Jula0071
19-12-2017, 11:14
Ещё раз: мне нужно без username/password. »
Ошибка получения адреса: анонимный доступ запрещен. »
Лол

Akella2007
19-12-2017, 11:32
Да, лол, получается в том, что Linux не позволяет так же просто и легко скопировать файл по сети без логинов/паролей, как это сделано в Windows.

Jula0071
19-12-2017, 11:46
Дело не в линуксе

Akella2007
19-12-2017, 12:04
Т.е .Windows вчера не требовала пароль, а сегодня требует?

При входе в сетевую папку с винды - получается войти без пароля.
При входе в сетевую папку с линукса - НЕ получается войти без пароля.

Jula0071
19-12-2017, 12:14
получается войти без пароля »
Вы когда в винду входите, пароль вводите?

Akella2007
19-12-2017, 12:25
Нет. Пользователь без пароля.

Akella2007
19-12-2017, 12:26
Ещё раз поясню.
У Windows есть беспарольный вход

https://image.prntscr.com/image/OYt3HSFpTT65blxkq3_88w.png

Чтобы войти в общую папку, не нужно знать, ни пароля, ни логина.

Jula0071
19-12-2017, 12:28
Ещё раз
Ошибка получения адреса: анонимный доступ запрещен. »

Akella2007
19-12-2017, 12:42
Я попробовал зайти в сетевую папку с нескольких виндовых ПК: проблем нет. Проблема только с линуксом.

И по тексту ошибки не совсем понятно: сама линукс запрещает использовать анонимный доступ к удалённой папке или это винда отфутболивает?

Jula0071
19-12-2017, 12:48
винда отфутболивает »

Попробуйте так:


mount -t cifs //server1/share /mnt/share


Или так


mount -t cifs //server1/share /mnt/share -o username=guest

Akella2007
19-12-2017, 12:55
Я уже пробовал. Если mount использовать с параметрами "-t ..." то требуется запускать с паролем root

Jula0071
19-12-2017, 12:57
то требуется запускать с паролем root »
ну другой mountpoint выберете, где не рут владелец. Тоже проблема. :)

Akella2007
19-12-2017, 12:59
Я установил на андроид-смартфон программу ES-Проводник и зашёл на виндовый ПК в общую папку вообще без ввода каких-либо логинов/паролей.
Т.е. винда тут не при чем. Винда разрешает анонимный вход.

Цитата Jula0071:
где не рут владелец »
я монтирую в папку "$HOME/print", где владельцем является текущий пользователь.

ну другой mountpoint выберете, где не рут владелец. »

Ещё раз: mount выдает буквально вот такой текст ошибки, цитирую: использовать опцию "--types "может только root
при чем здесь точка монтирования?

Jula0071
19-12-2017, 13:15
Ещё раз: mount выдает буквально вот такой текст ошибки, цитирую: использовать опцию "--types "может только root
при чем здесь точка монтирования? »
Ок, понял. Но рутом то монтирует? Если монтирует, то можно потом будет разрешить юзеру sudo на эту команду.
sudoers:

username ALL=(ALL) NOPASSWD: /bin/mount bla bla...

Akella2007
19-12-2017, 13:30
Ок, понял. Но рутом то монтирует? »

да

username ALL=(ALL) NOPASSWD: /bin/mount bla bla... »

не понял, как тогда должна выглядеть полная строка?
mount -t cifs //server1/share /mnt/share -o username ALL=(ALL) NOPASSWD:

Jula0071
19-12-2017, 13:41
Нет, username ALL=(ALL) NOPASSWD: /bin/mount bla bla. »
нужно прописать в файл /etc/sudoers, а сама команда будет такая sudo mount blabla ...
то есть команда монтирования предварятся sudo, что позволяет указанному юзеру выполнить её (и только её при указанных настройках) от рута без запроса пароля.




© OSzone.net 2001-2012