ftp接続でrefusing to run with writable root inside chrootが出た時の対処法
2017/02/26
CentOS7にvsftpサーバをインストールし、FTPクライアントからファイルを転送したら下記のエラーが発生したため、その時の対処法になります。
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
どうやらchroot先のディレクトリに書き込み権限があるとエラーになるようです。ディレクトリの権限からwrite権限を削除したらエラーは発生しなくなりました。どうやらvsftpd2.3.5からセキュリティ強化として導入された機能のようです。
chmod a-w /chroot/directory
しかし、書き込み権限を削除したら当然FTPでファイル転送できなくなります。もう少し調べたら下記の設定をvsftpd.confに書けばディレクトリに書き込み権限があってもエラーが出なくなるようです。これで解決しました。
$ vi /etc/vsftpd/vsftpd.conf
...
allow_writeable_chroot=YES
...