たかつです。

記事 <20091016.112236.260310811.t...@back-street.net> で
        Takahiro Kambeさんは書きました

> ftpd では、ログインシェルの状態をチェックしていた記憶があります

ftpd が確認しているのは、ログインシェルが /etc/shells に載っているかどうか
までです。

実際、試しに segmentation fault を起こすプログラムを作って、それを
ログインシェルにしてみましたけど、問題なくftpで接続できました。

---ここから---
# cat segv.c
main() { puts(0); }
# cc segv.c -o segv
# ./segv
セグメントエラー(coreを出力しました)
# echo `pwd`/segv >> /etc/shells
# adduser -s -q `pwd`/segv
# echo segv::ftp::::segv:`pwd`:`pwd`/segv:password | adduser -f
adduser: INFO: Successfully added (segv) to the user database.
# telnet -l segv localhost
(略)
FreeBSD/amd64 (ns.doga.co.jp) (ttyp9)

Last login: Fri Oct 16 18:20:44 from localhost
Connection closed by foreign host.
# ftp s...@localhost
Trying 127.0.0.1...
Connected to localhost.
220 ns.doga.co.jp FTP server (Version 6.00LS) ready.
331 Password required for segv.
Password:
230 User segv logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls segv
229 Entering Extended Passive Mode (|||58900|)
150 Opening ASCII mode data connection for '/bin/ls'.
-rwxrwxr-x  1 root  wheel  6736 Oct 16 18:11 segv
226 Transfer complete.
ftp> quit
221 Goodbye.
#
---ここまで---
ですから、

・/bin/csh は /etc/shells に載っている
・だが、/bin/csh の起動に失敗するため、ログインできない

という状況なら、ftp での接続が出来る可能性はあるかと思います。



PROJECT TEAM DoGA 高津正道                            ta...@doga.jp
                     PROJECT TEAM DoGAのホームページ → http://doga.jp/
10月16日(金) 今日のマーフィーの法則   [賢いヘボ修理屋の規則]
部品はすべてとっておけ。

メールによる返信