知らんやった
mount コマンドのオプションに --bind
というオプションがあって、これを使うとディレクトリをマウントすることが出来る。
例
/var/www/html/kappa を /home/kappa/www/html にマウントする
$ cat /etc/system-release CentOS Linux release 7.2.1511 (Core) $ sudo mount --bind /var/www/html/kappa /home/kappa/www/html $ mount -l | grep kappa /dev/xvda3 on /home/kappa/www/html type xfs (rw,relatime,attr2,inode64,noquota) [/]
fstab には
以下のように書く。
/var/www/html/kappa /home/kappa/www/html none bind 0 0
誰得、何得なのか
試行錯誤中だが vsftpd で chroot しているユーザーに対して、複数の Root ディレクトリを提供したいんだけど、提供したディレクトリ以外へのアクセスは抑制したいと考えた末、試行錯誤した結果、以下のように設定してみた。
- 新しいディレクトリを作成
sudo mkdir /opt/kappa/root_dir1 sudo mkdir /opt/kappa/root_dir2
sudo mount --bind /path/to/root_dir1 /opt/kappa/root_dir1 sudo mount --bind /path/tol/root_dir2 /opt/kappa/root_dir2
- 新しいディレクトリを vsftpd の local_root に設定する
local_root = /opt/kappa
上記のように設定することで、/path/to/root_dir1 と /path/to/root_dir2 へのアクセスは許可しつつ、上位ディレクトリや他のディレクトリへのアクセスを制限出来るはず。
但し、これだと mount ポイントや fstab の運用管理が破綻してしまう懸念がある。
以上
メモでした。