/etc/proftpd/proftpd.conf の初期設定では、FTP サーバーにログインしたユーザーは、自分のホームディレクトリより上の階層のディレクトリにアクセスすることができます。しかし、一般ユーザーが自分のホームディレクトリ以外のディレクトリへアクセスすることを禁止したい場合もあるでしょう。DefaultRoot ディレクティブを使用すると、ユーザーがログインしたときのルートディレクトリを設定することができます。実際には、以下のように DefaultRoot ディレクティブを指定します。/etc/proftpd/proftpd.conf には、あらかじめ以下の設定がコメントとして記述されていますので行頭の # を削除してください。
DefaultRoot ~ |
~ の指定により、ログインしたユーザーのルートディレクトリが自分のホームディレクトリに chroot されます。もし、ユーザーのホームディレクトリにある public_html ディレクトリに chroot したいのであれば、以下のように指定することもできます。通常、~/public_html は、ユーザーのホームページを公開するためのディレクトリとして使用されています。
DefaultRoot ~/public_html |
また、DefaultRoot ディレクティブでは、chroot するディレクトリの指定に続けて、グループ名を指定することができます。グループ名を指定すると、指定したグループに所属するユーザーがログインした場合のみ chroot されます。グループ名の前に ! を付ければ、指定したグループ以外を chroot することもできます。また、グループ名は , (カンマ)で区切って複数指定することもできます。 例えば、以下のように指定すると、taro グループのユーザーは chroot されませんが、その他のグループのユーザーがログインした場合は、chroot されます。
DefaultRoot ~ !taro |