更新後にvsFTPdが機能しなくなった


17

Ubuntu Server 11.10(Oneiric Ocelot)からUbuntu 12.04 LTS(Precise Pangolin)にアップデートしました。

vsFTPdのインストールが更新され、何かが変わったようです:/ PAM認証を使用しています。これを引き起こすために何が変わったのでしょうか?

FTPサーバーに接続しようとすると、次のエラーが表示されます。

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

私はそれをグーグルで試しallow_writable_root=YESましたが、構成ファイルに追加すると言われました-しかし、これを試してvsftpdを再起動しようとすると、再起動できません。どうして?

以下に実際に修正した方法を示します。

wget http://http.us.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-3_amd64.deb -O vsftpd.deb
dpkg -i vsftpd.deb
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
service vsftpd reload

そして出来上がり:)


wgetパラメーターに指定したリンクは無効です。おそらく、バージョン3.0.2-3が公開されたためです。この問題に直面している人は、このサイトにアクセスして正しいリンクを取得する必要があります。上記のリンクは64ビットプラットフォーム用です。たとえば32ビットなど、他のプラットフォーム用のこのパッケージのリンクを見つけるには、このページに従ってDownload vsftpdセクションまでスクロールします。
trejder

回答:


11

私もこの問題を抱えており、それはセキュリティを強化するための新しいvsFTPd更新によるものだと思うので、その間はこのソリューションを使用します。

  1. ターミナルでこれを使用して、最初にログインするときにFTPユーザーがアクセスするフォルダー(ルートフォルダー)をchmodします。 sudo chmod a-w /home/user

    /home/userFTPユーザーのルートフォルダーに変更できます。

  2. GUIを使用するか、ターミナルのみがある場合は、フォルダー内にサブフォルダーを作成します。 sudo mkdir /home/user/newfolder

これで、「newfolder」内でログインして読み書きできるようになります。chmod awを使用してFTPクライアントからルートフォルダー自体に書き込むことはできないため、これがサブフォルダーの理由です。

それほど長くないうちに修正が行われると思いますが、その間に役立つと思います。


私が見つけることができる唯一の修正は、vsftpd-extをインストールし、allow_writable_rootの使用を許可するvsftpdを置き換えることですが、それは.tar.gzファイルとしてのみ提供されますビルド:私はちょうど私が実行するために使用vsftpdのの古いバージョンにダウングレードを強制終了で/
キング氏

私のために働いた。homedirの所有者は、ルートではなくフォルダーを作成する必要があります。
OrangeTux

Linux jediマスターによって「禁止」されたchmod awを実行していないのですか?あなたは666の許可を与えるのですか?

9

誰かallow_writeable_chroot=YESがバージョン3.0.0から2.3.5 に追加する機能をバックポートしました(このブログエントリを参照)。

Ubuntu 12.04(Precise Pangolin)にインストールするには、ルートとして次のコマンドを実行します。

add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpd
echo allow_writeable_chroot=YES >> /etc/vsftpd.conf

というオプションがあるように思わ allow_writable_chroot=YESノートmssingの- vsftpdが-EXTでE!(または、これはブログ投稿のタイプミスですか?)


1
+1-これは確かに最良の選択肢のようです。このPPAを提供してくれたThe Frontier Groupに感謝します。しかし、ユーザーは、これが「ゲレンデ外」になることに注意する必要があります。その機能の性質により、vsftpdはセキュリティ面で少し公開されており、将来vsftpdに脆弱性が見つかった場合、ユーザーはPPA所有者に依存して更新するか、ユーザーは別のソリューションを見つける必要があります当時。このルートをたどる場合は、ubuntu-security-announceメーリングリストに登録し、vsftpdセキュリティアナウンスを監視するのが賢明です。
ロビーバサック

DEVOPSチームがそのパッケージを作成しました-解決に役立つ個々の問題があれば、ブログ記事にコメントを残してください。
mlambie 14

「書き込み可能」は完全に素晴らしい言葉です。「書き込み可能」はあまり受け入れられず、「書き込み可能の代替スペル」としてリストされています)。
ピーターモーテンセン

6

vsFTPd 3.0.0は設定オプションを追加し、

allow_writeable_chroot=YES

以前の動作を再び有効にするには(ソース:500 OOPSの修正:vsFTPd:chroot()内の書き込み可能なルートでの実行を拒否、Brian K. Whiteからのコメント)。

残念ながら、3.0.0はUbuntuによってまだパッケージ化されていません。そのため、当面は古いバージョンにダウングレードしてください。たとえば、Ubuntu 12.04(Precise Pangolin)でこれを使用しています:http : //packages.ubuntu.com/oneiric-updates/vsftpd


リンクしたOneiricパッケージをインストールする手順を追加できますか?パッケージを手動でダウンロードする必要がありますか?リポジトリにoneiric-updatesを追加すると、かなり混乱してしまうと思います。
-umbric

0

ユーザーKristianとしてのもう1つの方法です。私が使用するユーザー名は「john」です。必要なユーザー名に置き換えます。

sudo chmod a-w /home/john -すべてのユーザーがファイルを削除または変更する権限を削除します。

sudo mkdir /home/john/ftp -ユーザー「john」のホームディレクトリに「ftp」という名前のフォルダーを作成します

sudo chown -Rv john.john /home/john/ftp -dirの所有権をグループ「john」およびユーザー「john」に変更します。


0

どうして?

バグ1065714での私自身の回答から引用して適合させました

安定したリリースを安定させるために、リリース後の更新は特定の状況でのみ考慮されます。プロセスと必要な基準の詳細は、https//wiki.ubuntu.com/StableReleaseUpdates#Whenに記載されています

アップストリームvsftpdプロジェクトは、12.04のリリース時にこの機能なしでリリースすることを決定したため、これにより、LTSリリースのユーザーが書き込み可能なchrootを持つことが難しくなります。12.04がリリースされ、修正が上記の基準を満たしていないので、12.04でこれが変わるとは思わない。ただし、安定リリース更新チームがこれについて最終決定を下し、更新が提案されていないことに注意してください。

「allow_writeable_chroot」オプションを使用したいユーザーが新しいバージョンのvsftpdを一般に利用できるようにしたい場合は、バックポートリポジトリがこれに適した場所です。バックポートを使用すると、機能が必要なユーザーは、バックポートリポジトリを追加して、そこからvsftpdをインストールするだけで済みます。バックポートの詳細とリクエスト方法については、https//wiki.ubuntu.com/UbuntuBackportsをご覧ください。

一方、フロンティアグループは、umbricの回答に記載されているように、PPAを親切に提供してくれました。または、ここで他の回答のいずれかを使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.