Montar webdav no Linux com autenticação de cookie

1

Estou tentando acessar meu armazenamento 'Onedrive for Business' no console do Linux, especificamente em um servidor sem cabeçalho Ubuntu 16.04. O único método suportado oficialmente é o aplicativo de sincronização do Windows.

Eu quero usar o Onedrive como um sistema de arquivos remoto para estender meu armazenamento local, em vez de duplicar todos os arquivos localmente com um cliente de sincronização.

'Onedrive for business' é realmente uma variante do Sharepoint que não aceita um nome de usuário e senha sobre webdavs - já deve existir um cookie de autenticação para o cliente webdavs.

Eu montei com êxito o armazenamento remoto como uma pasta webdavs no Windows 10 adaptando estas instruções: link mas só funciona depois de fazer login no nosso site Onedrive com o Internet Explorer para criar um cookie que é usado pelo Windows Explorer.

No Linux, posso replicar esse comportamento fazendo login no site do Onedrive no navegador da Web do Konqueror e usando esse cookie para conectar-se aos webdavs no navegador de arquivos do Konqueror. Isso é melhor que nada, mas eu realmente preciso de acesso ao console. Infelizmente o KioFuse parece ter sido abandonado há muito tempo.

Diferente do Konqueror, existe alguma maneira de fazer isso que torne o sistema de arquivos remoto acessível ao console do Linux? Eu olhei para davfs2, gvfs e cadaver, mas não consigo encontrar nenhuma documentação para usar um cookie existente para autenticação.

    
por Clint 14.01.2017 / 11:39

1 resposta

1

Você pode usar o davfs2 com a opção de configuração add_header para enviar um cabeçalho HTTP Cookie . Adicione estas duas linhas a /etc/davfs2/davfs2.conf :

[/mount/path]
add_header Cookie rtFa=<...>;FedAuth=<...>

onde /mount/path é seu caminho de montagem e rtFa e FedAuth são cookies que você pode encontrar em solicitações HTTP enviadas pelo navegador quando você se conecta ao OneDrive.

Verifique se não há espaços no segundo argumento de add_header .

Você pode montar a unidade pela linha de comando:

/sbin/mount.davfs https://<name>.sharepoint.com/<...> /mount/path
    
por 30.11.2017 / 12:14