vsftpdに対して 500 OOPS のエラーが出たので対処しようとして、結果的にルートディレクトリから遡れないように設定した話

公開日:2019-06-26
最終更新:2019-06-26
※この記事は外部サイト(https://labor.ewigleere.net/2019/06/26/vsf...)からのクロス投稿です

WPサイト引っ越し(2018/11/20)|Ewig Leere(Lab)の手順で構築したサーバでの話です。

症状

vsftpdサーバを建てて、FTPでファイルアップロードをしようとしたら以下のエラーメッセージが出て接続できませんでした。

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

原因

# chown apache:apache /var/www/htdocs  
# usermod -aG wheel,apache SITEUSER  

したのに、ディレクトリ権限が755のままでFTPユーザ(SITEUSER)でログインしようとしたため。

対処

# chmod 775 /var/www/htdocs  

でOKでした(上記の通りapacheグループにユーザを追加しているため)。

以下ルートディレクトリより上の階層に遡れないようにするための設定

と、原因さえ分かってしまえば非常に簡単なことだったのですが、対処法をあれこれ試す中で、「あ、ルートディレクトリから上の階層に遡れないようにするための設定をしておこう」となったのでついでにやってしまいました。

以下その設定内容。

# vi /etc/vsftpd/vsftpd.conf  

## 設定ファイルを指定  
userlist_file=/etc/vsftpd/user_list  
## ユーザごとの設定ファイルを指定  
user_config_dir=/etc/vsftpd/user_conf  
## 本来の書き込みに関する対処として追記したもの(結果的には効果なし)  
seccomp_sandbox=NO  
allow_writeable_chroot=YES  

設定ファイルに上の内容を追記。

# mkdir /etc/vsftpd/user_conf  
# vi /etc/vsftpd/user_conf/SITEUSER  

local_root=/var/www/SITE/web/  

ユーザごとの設定ファイルのディレクトリを作成、ユーザの名前でファイルを作成し、ルートディレクトリを指定。

これで上の階層に遡れなくなりました。

備考

# vsftpd -v  
vsftpd: version 3.0.2  

vsftpdのバージョンは3.0.2でした。

参考

記事が少しでもいいなと思ったらクラップを送ってみよう!
5
+1
アルム=バンドのQrunch

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする