普段はsftpを使っているのだが、どうしてもftpを使わなければならなくなったため、vsftpdをインストールしてみた。
インストールは普通にSynapticで。
とりあえずはftpdを手動で立ちあげてから、
su
/etc/init.d/vsftpd start
/etc/init.d/vsftpd start
ftpで接続しようとしたら、次のようなエラーに。
Connected to localhost (192.168.xx.xx).
220 (vsFTPd 2.0.7)
Name (localhost:xxxx):
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
220 (vsFTPd 2.0.7)
Name (localhost:xxxx):
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
エラーのログが見つからず対応に苦労したが、犯人はpamだった。
pam.dのvsftpd(Synapticが自動で作ってくれる)の中に
auth required pam_shells.so
があるのだが、普段使っているLogin Shell(/bin/tcsh)が/etc/shellsにないのが原因だった。
解決策は、/etc/shellsに
/bin/tcsh
を追加すればOK。
解決に2時間弱かかったよ (>_<)