FreeBSD QandA 428
Q. wu-ftpd-2.4.2-beta15 を ports を利用してインストールし、anonymous
FTP サービスの設定をおこないました。ところが、anonymous FTP で dir し
てもファイルの UID が数字で出てしまいます。これをちゃんとユーザ名を表
示するようにするにはどうしたらよいでしょうか? ~ftp/etc/{passwd,group}
は用意してあり、GID の方は問題なくグループ名が表示されます。また一般ユ
ーザでの FTP 接続した場合はユーザ名も問題なく表示されます。
A. wu-ftpd に限らず、FTP の LIST コマンドや STAT コマンドで実行される
/bin/ls コマンド (anonymous FTP の場合は ~ftp/bin/ls) は、ファイルのオ
ーナの UID からユーザ名を参照するのに getpwnam(3) を使用します。BSD の
getpwxxx(3) 関数はハッシュ化された DB を参照するので、これを用意する必
要があります。そのためには pwd_mkdb(8) コマンドを使います。
/etc/master.passwd の形式で ~ftp/etc/master.passwd を用意して、
$ /usr/sbin/pwd_mkdb -d ~ftp/etc ~ftp/etc/master.passwd
を実行することで必要な DB ファイルが作成され、ユーザ名が参照されるよう
になります。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。