web-dev-qa-db-ja.com

chroot環境外のファイルシステムへのポインターを追加する方法-OpenSSH経由でchrootSFTPを使用

ですから、これは本当だと確信していますが、私の質問に直接答える具体的に詳細な独立した参考文献は見つかりませんでした。質問は:

Chroot環境の外部にあるリソースへのアクセスを追加するにはどうすればよいですか?

OpenSSHの新しいChrootDirectoryディレクティブを使用してchrootSFTPを設定しました。

残念ながら、私の環境では、chrootを特定のユーザーリソースが存在するメインディレクトリに直接制限することはできません。そこで、別のchrootエリアを作成し、必要なリソースにリンクしています。

これを行うためにシンボリックリンクを使用してみました。例えば.

ln -s /path/to/resource /chroot/dir/resource

しかし、「ディレクトリが見つかりませんでした」というエラーが発生しました

したがって、私の解決策は、バインドマウントを使用することでした。

mount --bind /path/to/resource /chroot/dir/resource

それはうまくいった。

本当に、シンボリックリンクが機能しないという一般的な確認が必要でした。これを説明する良いリファレンスへのリンクもニースで​​しょう。

8
JDS

シンボリックリンクを使用することはできません、それは本当です。シンボリックリンクはルートディレクトリ(/)、そしてchrootでは、ファイルシステムのルートではなく、chrootのルートです。

これが proftpdドキュメントページ 同じことを説明しています。

7
Olli