Как я могу загрузить файл сценария в общую папку ссылок owncloud?

Если я делюсь доступом к папке с помощью (временной) ссылки, любой, кто знает ссылку и пароль, может загружать файлы в эту папку с помощью веб-интерфейса.

Как я могу написать сценарий для загрузки в папку owncloud, к которой открыт общий доступ по ссылке?

Для обычного пользователя сервера, имеющего доступ к интерфейсу webdav, ответ на вопрос находится в Программная загрузка файлов на сервер owncloud.

Мой фактический вариант использования - загрузить артефакты сборки из задания jenkins. Я не хочу использовать свою учетную запись пользователя из соображений безопасности, и наши ИТ-специалисты не желают создавать псевдо-пользователя.

Спасибо, Оливер.


person Oliver Meyer    schedule 11.11.2016    source источник


Ответы (2)


curl -u token:password -T filename "https://your.owncloud.server/public.php/webdav/filename"

token — это строка в конце общей ссылки (например, abcdefghijk0123 в https://your.owncloud.server/index.php/s/abcdefghijk0123). Если вы не используете пароль для защиты ссылки, вы можете оставить это поле в команде пустым.

person shebang    schedule 01.12.2016
comment
Это не работает для меня. Любая идея, что я делаю неправильно? Я поделился ссылкой как https://www.vpext.dsa-ac.de/dsacloud/index.php/s/rRLXrewsDIq4aRz, но загрузка через curl -u rRLXrewsDIq4aRz:pwd -T DefaultCatalog.xml "https://www.vpext.dsa-ac.de/dsacloud/public.php/webdav/DefaultCatalog.xml" возвращает исключение NotAuthenticated. - person Oliver Meyer; 13.01.2017
comment
Была ли ваша общая ссылка доступна через браузер в это время? Может быть, вы могли бы попробовать без пароля для тестирования. - person shebang; 14.01.2017
comment
У меня это работает для имени каталога, то есть не для токена общего URL-адреса, см. - person jan; 07.07.2017
comment
Поддерживается здесь: github.com/ceremcem/owncloud-tools/blob/master /upload.sh - person ceremcem; 02.09.2019

Вы можете попробовать создать пароль приложения на https://your-owncloud-server/settings/personal#apppasswords, чтобы вам не понадобилась другая учетная запись пользователя.

Изменить: работает только на Nextcloud

person Patrizio Bekerle    schedule 11.11.2016
comment
Я не вижу такой опции на моей странице настроек. Я вижу personal#clientsbox personal#passwordform persona#ssl-root-certificates. - person Oliver Meyer; 14.11.2016