たかつです。 記事 <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日(金) 今日のマーフィーの法則 [賢いヘボ修理屋の規則] 部品はすべてとっておけ。