「ftpusers-temp」グループに属する「ftp3」という名前のユーザーがいます。
そのユーザーの家はhome/FTP-shared/tempです
Proftpd.confには、次の2つのディレクティブがあります。
DefaultRoot /home/FTP-shared
DefaultRoot ~ ftpusers-temp
ユーザーftp3は「temp」ディレクトリしか表示できないと思っていました。しかし、何が起こるかというと、ログイン時に「temp」ディレクトリがデフォルトで選択されますが、ユーザーは戻ってFTPサーバーのルートにアクセスできます。
ユーザー「ftp3」が「/ home/FTP-shared/temp」に投獄され、「/ home/FTP-shared」にアクセスできないのではないですか?
DefaultRoot
行は、構成ファイルの最後にある必要があります。
問題は、複数のDefaultRoot(s)が指定されていることであると考えられます。 ProFTPdドキュメントとして 説明 :
2つのDefaultRootディレクティブが同じユーザーに適用される場合、ProFTPDは任意に1つを選択します(構成ファイルの解析方法に基づいて)
最初のDefaultRootディレクティブをコメントアウトして、問題の解決に役立つかどうかを確認できます。
私はあなたの場合の最良の選択肢は彼らのディレクトリの刑務所のユーザーになると思います。あまり知られていない%u
変数。 ドキュメント 海:
FTPセッションの処理中に、ログインしたユーザーの名前に置き換えられます。
編集
これは、ユーザーを自分のホームディレクトリに投獄する方法です。
(上記の行を簡単に説明しましょう。DefaultRootは、jftp機能を有効にするためにproftpdによって使用されるパラメーターです。someuserは、chrootされるすべてのユーザーのプライマリグループです(デフォルトでは、これはユーザー名と同じです)。/ home/someuserは、ユーザーが投獄されるディレクトリです。)