いやー・・・。やられた。罠にはまった。 ProFTPDで、ログインユーザーのルートディレクトリを制限(chroot)するための指示子、DefaultRootですが、ず~~~~~っと勘違いしてました。 たとえば、webmasterとmemberグループに対して~/public_htmlに制限するために、こんな風にしてました。 DefaultRoot ~/public_html webmaster, member ・・・動かないんですよ。これ、よ~~~~っくProFTPDのDefaultRootドキュメントを読めばすぐ解るんです。 http://www.proftpd.org/docs/directives/linked/config_ref_DefaultRoot.html 引用: >The optional group-expression argument can be used to restrict >the DefaultRoot directive to a unix group, groups or subset of groups. >The expression takes the format: [!]group-name1[,[!]group-name2[,...]]. >The expression is parsed in a ''logical boolean AND fashion'' , such that each >member of the expression must evaluate to logically TRUE in order for >the DefaultRoot directive to apply. >The special character '!' is used to negate group membership. ・・・そう。グループ部分は全てAND結合されてチェックされるわけです。ということは、結局これだと「web_masterかつmemberグループ」ということになり、片方だけじゃそもそも無理と言うことです。 では、どちらか一方なら適用させる。というふうにはどうすればいいのか? http://www.proftpd.org/docs/faq/linked/faq-ch5.html ここのDefaultRootで検索した項から引用するが、 >You can use ''multiple'' DefaultRoot directives to create multiple jails >inside the same directive context. とのこと。 結論から言うと、今回の例であればこのように二つに分ければ良いことになる。 DefaultRoot ~/public_html web_master DefaultRoot ~/public_html member