debianサーバを6.0(squeeze)にアップグレードしてはまったこと
そろそろ5.0がサポート切れるので2年ぶりにアップグレード。
CentOSよりややメンテナンス期間は短いけど、それを補って余りあるバージョンアップの楽さ。サーバ用途にはあと10年はdebianで行きたい。
/etc/apt/sources.list のwheezyの綴りをsqueezeにするだけでOKとは楽すぎる。
もちろん、ミドルウェアのアップデートにはそれなりに事情があるけど、OS全体としてはほぼ問題なし。よく使ってるミドルウェアなら大抵のことは織り込み済みだし。
vsftpdでのハマリ。。pam_userdb.soが無い
vsftpdっていうよりpamの問題化。
vsftpdでバーチャルユーザーを使っているのだけど、ログインできなくなった。
ん〜、って思ってvsftpdのconfigファイル一式や、db_loadを見たけどわからない。。。
/etc/pam.d/vsftpdを見ると
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd.d/vsftpd_vuser_list
account required /lib64/security/pam_userdb.so db=/etc/vsftpd.d/vsftpd_vuser_list
ってあって、念のため/lib64/security/pam_userdb.soを見ると無い・・・・。これか。。。
pam_userdb.soではなく・・・
findでpam_userdb.soを探すと、/lib/x86_64-linux-gnu/security/pam_userdb.so にあった。
#521860 - libpam-modules: libdb upgrade silently breaks pam_userdb.so - Debian Bug report logs
とかでバグレポ上がって、
5.1.4. 新しい libdb による pam_userdb.so の非互換性
っていうのでdb4.8_load使ってってなってるので、/etc/pam.d/vsftpd のパスを変更してdb4.8_loadでユーザーDBを作り直して、WinSCPでつないでみたところ
Connection failed.
OOPS: vsftpd: refusing to run with writable root inside chroot()
ってエラーが出た。んん〜。
ダメジャン・・・・
Debian wheezyでのvsftpd設定メモ | 妄想コバンザメ
によると、
他のプランとしては、chrootユーザのホームディレクトリの書き込み権限を消す。
(略)
根本的な解決方法としては、vsftpd-2.3.5+をインストールし、vsftpd.confにallow_writable_root=YESを追加する。
http://vsftpd.devnet.ru/eng/allow_writable_root=YESが使えない通常のvsftpd2.3.5では、chrootユーザのホームディレクトリの書き込み権限を消さないといけないので、こうするしか方法はない。
こりゃ参ったね。。。まぁ、chrootさせるユーザーにホームディレクトリなんてほとんどいじらせないから問題ないので、そうした。