Fuseを使用すると、特権のないユーザーとして純粋に多くのものをマウントすることができます。ただし、webdavの場合、davfs2が優先プロジェクトのようです。これは、ファイルシステムドライバーのように見え、特権を必要とする標準のmount/umountを使用します。
これ(または別のライブラリ)を使用して、Fuse経由でユーザーとしてのみwebdavをマウントする方法はありますか? (つまり、各ユーザーは、fstabなどで何も構成する必要なしに、異なるサーバーに異なるwebdavをマウントできます)。
手始めの答えとして..私は次のことを提案します。
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
Sudo
権限はあるが、これを通常のユーザーとしてマウントしたい場合は、davfs
とmount
を使用できます。私のように誰かがこの答えを検索した場合は、これを追加して完了します。
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/