[Armadillo:06716] Re: ftpについて

mizo email@hidden
2011年 2月 3日 (木) 10:36:44 JST


溝渕です。

koyo dng wrote:
> ただ、ftpchrootにuser1を書いてみたんですが、user1では
> User user1 access denied になってしまいログインできまません。
> 一般ユーザーでログインでログインするにはどうすればよいのでしょうか?

ユーザ"user1"は作成済みですか?ftpchrootにユーザ名を書くだけでは期待通り
の動作はしないと思います。

何をしたら上記のような状態になったかを書いてくれるとアドバイスしやすいです。

> また、バナーについても、/etc/ftpwelcome  /etc/motd  .message いずれの
> ファイルも見当たりません。

[atde]$ man ftpd
より、
「/etc/ftpwelcome が存在する場合、 ftpd は “ready” メッセージを表示する
前に、そのファイルの内容を表示する。」
とあります。/etc/ftpwelcomeは存在が必須ではないようです。

ソースコードを調べてみると、

[atde]$ cd atmark-dist/user/ftpd/
[atde]$ grep -r ftpwelcome .
./Makefile:CFLAGS += -DPATH_FTPWELCOME=\"/etc/ftpwelcome\"
	:
[atde]$ grep -r PATH_FTPWELCOME .
	:
./ftpd.c:  (void) display_file (PATH_FTPWELCOME, 220);

となっているので、/etc/ftpwelcomeは使用できそうです。

> 331 Guest login ok, type your name as password.
> のバナーも表示されるので、これも消したいのですが、

/etc/ftpwelcomeが存在していないので、上記メッセージは他の要因で出力され
ていることがわかります。再度ソースコードを調べてみました。

[atde]$ grep -r "login ok," .
	:
./auth.c:      "Guest login ok, type your name as password.");

多分上記コードによって出力されていると思います。
# 私はちゃんとコードを読んでいないので、調べてみてください。

メッセージの出力元を調べたいときはソースか設定ファイル等をgrepするとだい
たいひっかかりますよ。

ただ、上記のようにgrepすると、例えば、
printf("login ok.");
はヒットしますが、
printf("login %s.", state ? "ok" : "ng");
みたいになっているときはヒットしないので、検索条件を色々試してみると良い
と思います。

以上です。




armadillo メーリングリストの案内