いやもう大ハマリというか、
グチを聞いてくださいな。
ftp localhost Connected to localhost. 220 (vsFTPd 3.0.3) Name (localhost:s-sugi): s-sugi 331 Please specify the password. Password: 530 Login incorrect. Login failed.
なぜだと思って /var/log/vsftpd.log を見ると
Sat Nov 26 15:44:04 2016 [pid 18104] CONNECT: Client "127.0.0.1" Sat Nov 26 15:44:13 2016 [pid 18102] [s-sugi] FAIL LOGIN: Client "127.0.0.1"
パスワード、合ってる筈なのに入れない、、、という事で、苦闘の末に「もう私は腕が落ちた」と落ち込んで断念。
次に Pure-FTPd を試す。Linux Mint の「ソフトウェアの管理」からインストールすると、vsftpd 関連のパッケージの削除もやってくれる。簡単でいいですね、、、パッケージの管理は。
ftp localhost Connected to localhost. 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- 220-You are user number 1 of 50 allowed. 220-Local time is now 19:16. Server port: 21. 220-This is a private system - No anonymous login 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. Name (localhost:s-sugi): s-sugi 331 User s-sugi OK. Password required Password: 530 Login authentication failed Login failed.
なぜだと思って /var/log/pure-ftpd/transfer.log を見ると、何と何も転送されていないので、ログのサイズもゼロ。そして、エラーログ等は無いのであった。
パスワード、合ってる筈なのに入れない、、、という事で、「もう私は腕が相当に落ちた」と落ち込んで断念。
最後に ProFDPd を試す。「ソフトウェアの管理」からインストールすると、pure-ftpd 関連のパッケージの削除もやってくれる。(以下同文)
ftp 192.168.10.27 Connected to 192.168.10.27. 220 ProFTPD 1.3.5a Server (Debian) [::ffff:192.168.10.27] Name (192.168.10.27:s-sugi): s-sugi 331 s-sugi のパスワードを入力しください Password: 530 間違ったログインです Login failed. Remote system type is UNIX. Using binary mode to transfer files.
なぜだ、なぜなんだと思って /var/log/proftpd/proftpd.log を見ると
2016-11-26 19:38:37,948 DellMint proftpd[22572] DellMint (192.168.10.27[192.168.10.27]): USER s-sugi (Login failed): Invalid shell: '/bin/csh'
「これかぁ!」と思い # vi /etc/shells して、 /bin/csh を追加。そして
ftp 192.168.10.27 Connected to 192.168.10.27. 220 ProFTPD 1.3.5a Server (Debian) [::ffff:192.168.10.27] Name (192.168.10.27:s-sugi): s-sugi 331 s-sugi のパスワードを入力しください Password: 230 s-sugi がログインしました
やっと入れた…でも、ガックリだな。Linux Mint の csh は、実態は tcsh で、 /etc/shells には /bin/tcsh はちゃんと書かれている。それでも、明示的に /bin/csh と1行追加しないと、ftp でログインできない。今、見てみたら、 /bin/csh は symbolic link to /etc/alternatives/csh で、これがさらに /bin/tcsh にシンボリックリンクだと・・・よって「同じものだ」と認識できないんですね。FreeBSD の感覚だと、Linux Mint はアホかと思いますね、、、 FreeBSD の場合、/bin/csh と /bin/tcsh は、ハードリンクされていて完全に同一。ていうか、そもそも FreeBSD だったら、ftpd は「インストールしないと動かないサーバー」ではなく、元から NetBSD 由来の lukemftpd が入っていて、設定さえすれば動くのが当たり前という感覚だったから、インストールしないといけない、というかインストールしても動かなくて悪戦苦闘って、楽しくないですね。しかも、デバッグに役立つメッセージもロクに出さないサーバープログラムって理解に苦しみます。これじゃまるで Windows のプログラムみたい。ProFTPD は、ログが vsftpd に比べて詳しいので助かった。Pure-FTPd は…エラーログを残さないって凄い。ProFTPD は、名前の通り以前は商用版、あるいは、商用のバージョンもあったかと思いましたが、今では GPL のようです。メッセージが日本語なのが気持ち悪いですが。
やれやれ、やっとこれで「Linux Mint で ftp サーバーも設定できない」情けない状態から脱出できたが…FreeBSD では「動いて当たり前」だったから…文化が違いますね。/etc/passwd に、FreeBSD 時代のように /bin/csh ではなく、明示的に /bin/tcsh とでも書いておけば回避できたのかな。