UbuntuでWebDAVを一般ユーザーで特定ディレクトリにマウントする手順・環境構築 †
本記事では、rootを使用せず、一般ユーザーでWebDAVを特定のマウントポイントにマウントする手順を記します。
尚、マウントするWebDAVはWebDAVを提供しているレンタルサーバの「クリエイターがたくさん使ってる、ロリポップ!」さんを例に記します。
DebianやRaspberryPiでも同様の操作で設定できると思います。
動作確認 †
動作確認ディストリビューション
- Ubuntu 20.04
- Xubuntu20.04
- Debian 11 (bullseye)
- Raspbian 11 (bullseye)
使用したUbutnu †
$ lsb_release -drc
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
必要なパッケージをインストール †
WebDAVをマウントするために必要なパッケージをインストールします。
- 端末(ターミナル)を起動し、以下のコマンドを入力、Enterキーを押し、davfs2パッケージをインストールしてください。
sudo apt-get -y install davfs2
- パスワードが聞かれた場合は、パスワードを入力しEnterキーを押します。
- 以下の画面が表示されるので、左カーソルキーを押し、「はい」を選択します。
- 「はい」が選択されていることを確認し、Enterキーを押します。
- davfs2グループへのユーザー追加
以下のコマンドでは、端末(ターミナル)を起動し作業を行っているユーザーアカウントを追加する例になります。
sudo usermod -aG davfs2 `whoami`
追加されたかどうかは、以下のコマンドで確認できます。
sakuraが追加されているのが確認できます。
$ cat /etc/group | grep davfs2
davfs2:x:128:sakura
- 本設定を有効にするため、再起動してください。
- 再起動後再度ログインし、端末(ターミナル)を起動してください。
- 以下のコマンドでdavfs2グループに所属しているかどうか確認できます。
groups `whoami`
以下、実行例です。davfs2に所属しているのが確認できます。
$ groups `whoami`
sakura : sakura adm cdrom sudo dip plugdev lpadmin sambashare davfs2
davfs2をインストール済みで、root以外のユーザーが使用不可の場合や操作ミスをした場合 †
上記で「はい」を選択しインストールしている場合は、以下のようにSUIDビットが立っています。
$ ls -l /sbin/mount.davfs
lrwxrwxrwx 1 root root 21 11月 18 21:18 /sbin/mount.davfs -> /usr/sbin/mount.davfs
$ ls -l /usr/sbin/mount.davfs
-rwsr-xr-x 1 root root 129304 4月 27 2016 /usr/sbin/mount.davfs
SUIDビットが立っていない場合は、以下のコマンドを実行してください。
sudo dpkg-reconfigure davfs2
そうすると、上記の画面が表示され、「はい」「いいえ」を選択することができます。
マウントを実行する一般ユーザー側の作業 †
マウントを実行する一般ユーザーが行う作業を以下に記します。
- 設定を格納するディレクトリを作成します。
mkdir $HOME/.davfs2
- マウントポイントを作成します。
以下の例では、just4fun-davというマウントポイントを作成しています。
みなさんの環境にあったマウントポイント名に読み替えてください。
mkdir $HOME/just4fun-dav
- WebDAVに必要なsecretsファイルを作成します。
以下の WebDAV_URL WebDAV_Account Password はみなさんの環境に読み替えてください。
echo 'WebDAV_URL WebDAV_Account Password' >> $HOME/.davfs2/secrets
例) WebDAV_URL = https://just4fun.biz/dav/ , WebDAV_Account = just4fun , Password = P@ssW0rd の場合
echo 'https://just4fun.biz/dav/ just4fun P@ssW0rd' >> $HOME/.davfs2/secrets
間に半角スペースを入れてください。
もし、間違えてしまった場合は、以下のようにnanoなどのテキストエディタで修正してください。
nano $HOME/.davfs2/secrets
- secretsのパーミッションを変更します。
chmod 600 $HOME/.davfs2/secrets
ロリポップ!さんの場合 †
レンタルサーバの「クリエイターがたくさん使ってる、ロリポップ!」さんの場合は、以下の画面になります。
「ユーザー設定」→「アカウント情報」
一般ユーザーでマウントできるように/etc/fstabに追記 †
/etc/fstabファイルに今回の設定を記述します。
追記内容は、以下の通りです。
WebDAV_URL マウントポイント davfs user,noauto 0 0
一般ユーザーでは修正できませんので、sudoコマンドを使って追記します。
以下のコマンドで追記ができます。WebDAV_URLは上記で設定したものと同一です。
WebDAV_URL マウントポイント に関しては皆さんの環境に読み替えてください。
マウントポイントは、上記で作成した $HOME/just4fun-dav として記述します。
みなさんが作成したマウントポイントに読み替えてください。
- fstabファイルのバックアップを取ります。
もし、以降のコマンド操作ミスによりfstabを壊してしまった場合、もとに戻せないので、以下のコマンドでバックアップを取ります。
sudo cp -p /etc/fstab /etc/fstab.org
- バックアップが取れているかどうか確認します。
$ ls -l /etc/fstab*
-rw-r--r-- 1 root root 665 6月 13 19:52 /etc/fstab
-rw-r--r-- 1 root root 665 6月 13 19:52 /etc/fstab.org
- もし壊してしまった場合は、以下のコマンドで復旧してください。
sudo cp /etc/fstab.org /etc/fstab
- 以下のコマンドで、WebDAVマウント設定を追記します。
echo "WebDAV_URL $HOME/just4fun-dav davfs user,noauto 0 0" | sudo tee -a /etc/fstab
以下実行例です。
catコマンドで追記されていることを確認しています。
$ echo "https://just4fun.biz/dav/ $HOME/just4fun-dav davfs user,noauto 0 0" | sudo tee -a /etc/fstab
https://just4fun.biz/dav /home/sakura/just4fun-dav davfs user,noauto 0 0
$ cat /etc/fstab
# /etc/fstab: static file system information.
<省略>
https://just4fun.biz/dav /home/sakura/just4fun-dav davfs user,noauto 0 0
この状態でマウントが可能となります。
以下のコマンドでマウントが可能であるか動作確認をしてください。
- マウント前にマウントポイントが空っぽかどうか確認します。
以下の例では、上記で作成した $HOME/just4fun-dav を例に記します。
$ ls -l $HOME/just4fun-dav
合計 0
- mountコマンドを使ってマウントします。
コマンドは以下の構文になります。
mount マウントポイント
以下の例では、上記で作成した $HOME/just4fun-dav を例に記します。
$ mount $HOME/just4fun-dav
- 何も表示されなければ正常にマウントされています。
- マウントされて、WebDAV側にあるファイルがあるかどうかlsコマンドで確認しています。
$ ls -l $HOME/just4fun-dav
合計 135716
<省略>
drwxr-xr-x 2 sakura sakura 0 4月 7 2017 images
-rw-r--r-- 1 sakura sakura 2312 8月 28 22:59 index.html
<省略>
マウントされてファイルがあるのが確認できます。
また、デスクトップにもマウントされたので、アイコンが表示されています。
ファイルブラウザでも確認することができます。
マウント・アンマウント手順 †
上記ですでにmountしていますが、以下にマウント手順、アンマウント手順を記します。
マウント手順 †
マウントの構文は以下の通りです。
mount マウントポイント
マウントポイントは/etc/fstabに設定したマウントポイントになります。
以下の例では、上記で作成した $HOME/just4fun-dav を例に記します。
$ mount $HOME/just4fun-dav
アンマウント手順 †
アンマウントの構文は以下のようになります。
umount マウントポイント
マウントポイントは/etc/fstabに設定したマウントポイントになります。
以下の例では、上記で作成した $HOME/just4fun-dav を例に記します。
$ umount $HOME/just4fun-dav
/sbin/umount.davfs: waiting while mount.davfs (pid 2285) synchronizes the cache .. OK
メッセージが表示され、デスクトップからアイコンも消えます。
デスクトップ上にアイコンがある場合は、右クリックにてアンマウントすることもできます。
以上、WebDAVをマウントする手順を紹介しました。