[Armadillo:03810] Re: Armadillo-500のFTPサーバの認証について

Takenoshita Koyo email@hidden
2008年 12月 12日 (金) 22:30:00 JST


> > 以下の本MLでのやりとりは役にたちますか?
> > > http://lists.atmark-techno.com/pipermail/armadillo/2008-November/003668.html
> 
> すみません、見落としておりました。
> HowToは検索かけたんですが...以後気をつけます。
http://armadillo.atmark-techno.com/mailinglists
のページでgoogle検索できます。是非ご利用下さい。

> この設定でuserでFTPサーバにログインすると、/(ルート)まで行くことができてしまいます。
> もともとのftpやanonymousでは上位ディレクトリに上がることができなかったので、新規に追加した
> userアカウントでも同じようにしたいのです。
> 何か回避策はあるのでしょうか。
chrootを使います。

http://www.linux.or.jp/JM/html/netkit/man8/ftpd.8.html
4. ユーザー名がファイル /etc/ftpchroot にある場合、 ``anonymous'' アカウントや
``ftp'' アカウントの場合 (次の項目を参照) と同様に、セッションの
ルートディレクトリは chroot(2) によってユーザーのログインディレクトリに
変更される。しかし、この場合でもユーザーはパスワードを与える必要がある。
この特徴は、完全に匿名なアカウントと完全な特権のあるアカウントの妥協的な利用を
意図している。このアカウントは匿名アカウントとして設定されていなければならない。

とあるように、/etc/ftpchrootに「user」という行を追加してあげれば良いです。
userのホームディレクトリには、/home/ftp/以下と同じように、
bin、etc、lib、pubのディレクトリを作って上げてください。
その際、パーミッションとオーナ(rootにする)に気をつけて下さい。

。。。なんですが、atmark-distに含まれているftpdのMakefileにバグがありましたので、
下記のパッチをatmark-distに当てて、ftpdをリビルドしてください。

diff --git a/user/ftpd/Makefile b/user/ftpd/Makefile
index 5cba3a5..401fda6 100644
--- a/user/ftpd/Makefile
+++ b/user/ftpd/Makefile
@@ -7,7 +7,7 @@ CFLAGS += -DPATH_FTPWELCOME=\"/etc/ftpwelcome\"
 CFLAGS += -DPATH_FTPLOGINMESG=\"/etc/motd\"
 CFLAGS += -DPATH_FTPUSERS=\"/etc/ftpusers\"
 CFLAGS += -DPATH_BSHELL=\"/bin/sh\"
-CFLAGS += -DPATH_FTPCHROOT=\"/usr/sbin/chroot\"
+CFLAGS += -DPATH_FTPCHROOT=\"/etc/ftpchroot\"
 CFLAGS += -DPATH_FTPDPID=\"/var/run/ftpd.pid\"
 CFLAGS += -DPATH_DEVNULL=\"/dev/null\"
 
-- 
Koyo Takenoshita



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