ftpユーザーに、シンボリックリンクを使用してルート外のディレクトリへのアクセスを許可する


8

コンソールを介してrootとして作成したシンボリックリンクを使用して、proftpd仮想ユーザーにホームパス外のディレクトリへのアクセスを許可しようとしました。

/var/ftp/users/test という名前のユーザーのホームですtest
/var/ftp/files/documents ドキュメントを保持するディレクトリであり、/var/ftp/users/test/documents それを指すシンボリックリンクです。

しかし、ユーザーがFTPに接続してシンボリックリンクをたどろうとすると、次のエラーしか表示されません。

documents: No such file or directory

何が悪いのですか?

回答:


21

シンボリックリンクは、ユーザーと同じ方法で刑務所に固定されます。それ以外の場合、ユーザーがで刑務所から抜け出すことが可能ですcd documents。(いいえ、ルートで作成されたシンボリックリンクはcd -P symlink-to-dir; cd ..、間違った場所にいる同じ理由で特別に処理することはできません。期待どおりに機能しているように見えるのは、シェルによって作成された錯覚です。)代わりにバインドマウントを使用してください。 (mount --bind /var/ftp/files/documents /var/ftp/users/test/documents)。


これは、サーバーが再起動するたびに行う必要がありますよね?
セバスティアンGrignoli

1
はい; あなたはそれを入れたいと思うでしょう/etc/fstab
ギーコサウルス

7
:ただのヘルプ誰うちに、たとえば、ここでマウントとfstab quivelantsにあるマウント mount --bind /path/to/original/directory /path/to/mountpoint fstabに /path/to/original/directory /path/to/mountpoint none bind 0 0
ベンジャミン・カイザー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.