FreeBSD QandA 428

FreeBSD QandA

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 まで お知らせください。