davfs2
davfs2 は WebDAV サーバーをディスクドライブとしてマウントできるようにする Linux ファイルシステムドライバーです。WebDAV は HTTP/1.1 を拡張してウェブリソースをリモートで共同で作成するプロトコルで、RFC 4918 で定義されています。
目次
インストール
WebDAV のマウント
設定とマウントオプション
システム全体の設定ファイルは /etc/davfs2/davfs2.conf
に、ユーザー個別の設定ファイルは ~/.davfs2/davfs2.conf
になります。後者は通常のユーザーで実行されたときにシステム全体の設定よりも優先して読み込まれます。WebDAV やキャッシュ、デバッグ関連のオプションが存在します。利用可能なオプションと構文は davfs2.conf(5) を参照してください。
必要であればマウントオプションを使って設定ファイルのパスを定義したりファイルアクセスに関するオプションを設定できます。以下のコマンドでオプションのリストを確認できます:
$ mount.davfs -h
mount.davfs(8) にも説明とオプションが載っています。
コマンドラインを使う
WebDAV をマウントするときは直接 mount.davfs
を使わずに mount
を使用します:
# mount -t davfs http(s)://addres:<port>/path /mount/point
systemd を使う
systemd でマウントするには:
/etc/systemd/system/mnt-webdav-service.mount
[Unit] Description=Mount WebDAV Service After=network-online.target Wants=network-online.target [Mount] What=http(s)://address:<port>/path Where=/mnt/webdav/service Options=uid=1000,file_mode=0664,dir_mode=2775,grpid Type=davfs TimeoutSec=15 [Install] WantedBy=multi-user.target
systemd の automount ユニットを作成することでタイムアウトを設定できます:
/etc/systemd/system/mnt-webdav-service.automount
[Unit] Description=Mount WebDAV Service After=network-online.target Wants=network-online.target [Automount] Where=/mnt/dav TimeoutIdleSec=300 [Install] WantedBy=remote-fs.target
systemd のマウントユニットを使用する方法について詳しくは Fstab#systemd による自動マウントを参照してください。
fstab を使う
webdav をファイルシステムにマウントする方法を定義するには、以下の形式で fstab のエントリを追加します:
/etc/fstab
https://webdav.example/path /mnt/webdav davfs rw,user,uid=username,noauto 0 0
username はマウントするファイルシステムの所有者に置き換えてください。数字の ID かユーザー ID で指定できますが、マウントユーザーと別の uid をマウントできるのは root だけです。
ヒントとテクニック
接続情報の保存
secrets ファイルを作成することで WebDAV サービスの接続情報を保存できます (通常ユーザーの場合は ~/.davfs2/secrets
、root の場合は /etc/davfs2/secrets
を使用):
/etc/davfs2/secrets
https://webdav.example/path davusername davpassword
secrets ファイルのパーミッションは適切に設定してください。例えば root でマウントする場合:
# chmod 600 /etc/davfs2/secrets # chown root:root /etc/davfs2/secrets
通常ユーザーでマウントする場合:
$ chmod 600 ~/.davfs2/secrets
トラブルシューティング
ファイルの作成やコピーができない
ファイルを作成したりコピーできない場合やフリーズが発生するようなときは、設定ファイルを編集して use_locks 0
オプションを使ってください。パラメータのデフォルトは 1
で、書き込みを行うときにサーバー上のファイルをロックします。