Шаблоны Joomla 2.5 здесь: http://joomla25.ru/shablony/

Ошибка VSFTPD 500 oops: vsftpd: refusing to run with writable root inside chroot - как бороться

оригинал статьи:  http://agapoff.name/vsftpd-oops.html

Предыстория такова, что разработчики vsftpd (точнее её единственный разработчик под названием Крис Эванс) здраво рассудили, что ради безопасности надо бы запретить пользователям запись в корень своего chroot’а. То есть если пользователь по ftp chroot’ится в свою домашнюю директорию, то не пускать его в том случае, если у него есть права на запись в неё (можно писать только в поддиректории). Сказано-сделано. Выкатили версию 2.3.5 с этим изменением, а майнтайнеры репозиториев Ubuntu взяли, да и собрали эту версию в репы для 12.04 LTS. Оказалось, что после обновления у многих людей (у тех 99,9999% людей, которые не читают changelog’и) вдруг сломался доступ по ftp. И это при том, что не у всех ситуация позволяет просто так взять и отобрать права на запись в домашние директории. В общем всё это привело к тому, что на бедного Криса со всех уголков интернета полились ушаты говна, отчего он запилил версию vsftpd 3.0, куда добавил опцию конфига allow_writeable_chroot, возвращающую старое-доброе небезопасное поведение. Запилить-то запилил, но майнтайнеры Убунты заявлили, что собирать эту версию для своей 12.04 уже не будут и просто умыли руки.

В общем, решайте проблемы как хотите.

А решать проблемы можно несколькими простыми способами.

1. Первый способ – это скачать исходники vsvtpd-3.0 вот отсюда – https://security.appspot.com/vsftpd.html и скомпилировать их самостоятельно. После установки в конфиг можно будет добавить опцию:

1.allow_writeable_chroot=YES

Можно скомпилировать и старые версии до 2.3.5. Решение прямое и простое, но не ubuntu-way.

2. Секьюрный способ для ненастоящих джедаев – это сдаться и просто отобрать права на запись в домашние директории тем пользователям, которые ходят по ftp:

1.chmod a-w /home/user

3. Третий способ – это воспользоваться расширенной сборкой vsftpd-ext, которую поддерживает наш соотечественник по имени Дмитрий. Ей в конфиге тоже можно указать опцию, возвращающую старое поведение. Только выглядит эта опция чуть по-другому:

1.allow_writable_root=YES

4. Четвёртый хороший способ – это воспользоваться трудами доброго человека, который создал PPA на launchpad’e, куда положил собственную сборку vsftpd 2.3.5, в которую бэкпортнул опцию allow_writeable_chroot. Поставить отсюда сборку можно так:

1.sudo add-apt-repository ppa:thefrontiergroup/vsftpd
2.sudo apt-get update
3.sudo apt-get install vsftpd

Два других способа я не проверял, но встречал их на просторах сети. Впрочем, они всё равно мне не сильно нравятся.

5. Пятый способ – это добавить опцию local_root=/home в конфиге. Тогда chroot будет в директорию /home, а пользователь, перейдя в свой хомяк, сможет туда складывать файлы.

6. Шестой способ выглядит совсем неправдоподобным. Он говорит о том, что доманий каталог пользователя в /etc/passwd надо поменять на “/home/./user”, и вроде бы это обманет vsftpd.

В общем, есть из чего выбрать.