カテゴリー
FreeBSD

vsftpd 2.3.5 : refusing to run with writable root inside chroot()

先日のmakeworldついでにたまっていたportsのアップデートをシコシコと済ませたら今朝になってvsftpdが変だということに気が付きました。

ftpクライアントでログインを試みると

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
500 OOPS: priv_sock_get_cmd

と言われてアクセスを拒否られてしまいます。portsのアップデートは vsftpd-ssl-2.3.4 から vsftpd-ssl-2.3.5 でした。きっと私の他にも不幸な目にあっている人がいるに違いないと上記のエラーメッセージでぐぐってみるとやはり先人がいらっしゃいました。情報感謝。

~かなりオタクで(21)なPC馬鹿の雑記~(vsftpd 2.3.5)
3. Download sources of vsftpd-ext, compile and overwrite exist vsftpd binaries or take it from repositories and add to configuration file option allow_writable_root=yes.

vsftp の代わりに vsftp-ext を使って allow_writeble_root=yes を指定すればよさげです。

portsの中を探してみると /usr/ports/ftp/vsftpd の隣に /usr/ports/ftp/vsftpd-ext がありました。

# pkg_info | grep vsftpd
vsftpd-ssl-2.3.5    A FTP daemon that aims to be "very secure"
# pkg_delete vsftpd-ssl-2.3.5
# portinstall ftp/vsftpd-ext
# pkg_info | grep vsftpd
vsftpd-ext-ssl-2.3.5.1_1 A FTP daemon that aims to be "very secure". Extended build

でportsを削除&インストールして、/usr/local/etc/vsftpd.conf の末尾に

allow_writable_root=YES

を追加して完了。

これで元通りにftpアクセスができるようになりました。

参考サイト:~かなりオタクで(21)なPC馬鹿の雑記~(vsftpd 2.3.5)(http://blogs.yahoo.co.jp/def777a/39414278.html)リンク切れ