montando o webdav como usuário (sem sudo)

5

Com o FUSE, é possível montar muitas coisas apenas como um usuário não privilegiado. No entanto, parece que para o webdav o davfs2 é o projeto preferido, que parece ser um driver do sistema de arquivos e usa o mount / umount padrão que requer privilégios.

Existe uma maneira de usar isso (ou outra biblioteca) para montar o webdav apenas como um usuário via fusível? (ou seja, cada usuário poderia montar um webavav diferente em um servidor diferente, sem precisar configurar nada no fstab etc).

    
por Michael Neale 23.05.2012 / 08:45

3 respostas

5

Consegui usar o wdfs para que funcionasse como um não priv. usuário:

 wdfs <dav url> <mount point>

Para desmontar

fusermount -u <mount point>

O wdfs é de aqui e usa o fusível. Eu uso Archlinux e este pacote AUR funcionou bem.

Mas o estado atual dos wdfs não é claro, existe um tipo de fork no gihub também.

    
por 24.05.2012 / 06:59
2

Como resposta inicial, sugiro o seguinte.

1) sshfs não requer acesso ao / etc / fstab, então se você pode mapear seus usuários webdav para usuários linux com estrutura de arquivos similar, então é uma alternativa simples.

Em seguida, você pode usar a sintaxe não raiz desse tipo para montar em seu diretório inicial local;

sshfs -o ControlPath=none -o workaround=rename -o idmap=user \
-o nonempty -o reconnect -o transform_symlinks -o follow_symlinks"   \
[email protected]:/ $HOME/mnt/my.ssh.server.com

2) gvfs / gio - Dependendo da sua distro, /usr/libexec/gvfsd-dav pode ser uma opção, que deve permitir uma sintaxe de controle alternativa para montar o sistema de arquivos webdav em ~/.gvfs/

No entanto, a documentação é muito ruim, e eu fiz apenas um teste limitado de sua funcionalidade assim;

Como root;

sudo yum install gvfs-fuse.x86_64

como usuário;

$ gvfs-mount dav://my.dav.server.hostname.com/projects/
Enter password for Authorization Realm
User: my.dav.username
Password: XXXXXX

$ cd ~/.gvfs/WebDAV\ on\ my.dav.server.hostname.com/

$ ls 
proj1
proj2
proj3
...
etc
    
por 23.05.2012 / 10:50
0

Se você tiver sudo de direitos, mas quiser montá-lo como um usuário comum, poderá usar davfs e mount . Apenas adicionando isso para conclusão se alguém procurar por essa resposta como eu fiz.

sudo apt-get install davfs2

mkdir myDir

sudo mount -t davfs -o uid=myUser -o gid=myUser https://example.org/remote.php/webdav/ /home/myUser/myDir/
    
por 20.11.2017 / 09:53