web-dev-qa-db-ja.com

ユーザーとしてwebdavをマウントする(Sudoなし)

Fuseを使用すると、特権のないユーザーとして純粋に多くのものをマウントすることができます。ただし、webdavの場合、davfs2が優先プロジェクトのようです。これは、ファイルシステムドライバーのように見え、特権を必要とする標準のmount/umountを使用します。

これ(または別のライブラリ)を使用して、Fuse経由でユーザーとしてのみwebdavをマウントする方法はありますか? (つまり、各ユーザーは、fstabなどで何も構成する必要なしに、異なるサーバーに異なるwebdavをマウントできます)。

5
Michael Neale

Wdfsを使用して、非プライベートとして機能させることができました。ユーザー:

 wdfs <dav url> <mount point>

マウントを解除するには

fusermount -u <mount point>

wdfsは here からのもので、Fuseを使用します。 Archlinuxを使用していますが、 this AURパッケージは正常に機能しました。

しかし、wdfsの現在の状態は不明であり、 gihub にも一種のフォークが潜んでいます。

6
Michael Neale

手始めの答えとして..私は次のことを提案します。

1)sshfsは/ etc/fstabにアクセスする必要がないため、webdavユーザーを同様のファイル構造を持つLinuxユーザーにマップできる場合、それは簡単な代替手段です。

次に、このような非ルート構文を使用して、ローカルホームディレクトリ内にマウントできます。

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-ディストリビューションによっては、/usr/libexec/gvfsd-davがオプションとなる場合があります。これにより、代替の制御構文で~/.gvfs/の下にwebdavファイルシステムをマウントできます。

ただし、ドキュメントはかなりごみであり、私はその機能の限定的なテストしか行っていません。

ルートとして;

Sudo yum install gvfs-Fuse.x86_64

その後、ユーザーとして。

$ 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
2
Tom H

Sudo権限はあるが、これを通常のユーザーとしてマウントしたい場合は、davfsmountを使用できます。私のように誰かがこの答えを検索した場合は、これを追加して完了します。

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/
0
select