.\" Copyright (c) 2003 FreeBSD Project .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %FreeBSD: src/libexec/ftpd/ftpchroot.5,v 1.3 2003/06/01 19:52:36 ru Exp % .\" .\" $FreeBSD$ .Dd January 26, 2003 .Dt FTPCHROOT 5 .Os .Sh 名称 .Nm ftpchroot .Nd "FTP アクセス制限を受けるユーザとグループの一覧" .Sh 解説 ファイル .Nm は、FTP セッション開始時にそのユーザの認証後、 .Xr ftpd 8 によって読み込まれます。 .Nm の各行はユーザまたはグループに対応します。 もし .Nm のある行が現在のユーザ、あるいはそのユーザが所属するグループにマッチした場合、 このセッションではこの行に記された、またはこのユーザのログインディレクトリに、 .Xr chroot 2 によってルートディレクトリが変更されるアクセス制限が適用されます。 .Pp .Nm におけるレコードの順番は重要です。何故なら最初にマッチしたものが 使用されるからです。各行のフィールドはタブか空白で区切られます。 .Pp 最初のフィールドはユーザまたはグループ名です。もし .Dq at 記号、つまり .Ql @ で始まっている場合はグループ名とされ、このグループに属する メンバのユーザにマッチします。 特別なケースとして、このフィールドにおける単一の .Ql @ は、全てのユーザにマッチします。 これら以外ではユーザ名とされます。 .Pp 2 番目のフィールドはオプションで、ユーザまたはグループに属するメンバを、 .Xr chroot 2 を使って閉じ込めるディレクトリを記述します。 省略された場合、そのユーザのログインディレクトリが使われます。 絶対パス名ではない場合、そのユーザのログインディレクトリからの 相対パスとされます。 パス名に .Pa /./ セパレータが含まれる場合、 .Xr ftpd 8 は左側を .Xr chroot 2 先のディレクトリ名、右側を以降のカレントディレクトリとして扱います。 .Sh 関連ファイル .Bl -tag -width ".Pa /etc/ftpchroot" -compact .It Pa /etc/ftpchroot .El .Sh 使用例 .Nm における次の行は、ユーザ .Dq Li webuser と、グループ .Dq Li hostee に属するメンバを、各自のログインディレクトリに閉じ込めます。 .Bd -literal -offset indent webuser @hostee .Ed .Pp 次の行では、ユーザ .Dq Li joe を .Pa /var/spool/ftp に閉じ込め、そしてカレントディレクトリを、このセッションにおける 新しいルートからの相対パスになる .Pa /joe に変更するように、 .Xr ftpd 8 に教えます。 .Pp .Dl "joe /var/spool/ftp/./joe" .Pp 最後に以下の行では、FTP を通じて接続してくるあらゆるユーザを、 各自の .Pa ~/public_html に閉じ込めます。これによって、FTP が本質的にもっている危険性が、 システムに影響を与える可能性が下がります。 .Pp .Dl "@ public_html" .Sh 関連項目 .Xr chroot 2 , .Xr group 5 , .Xr passwd 5 , .Xr ftpd 8