Решил обновить vsftpd до версии 2.3.5 (
http://security.appspot.com/vsftpd.html). Иииии... Ба-бам!!!
Сервер перестал работать с замечательной опцией - chroot_local_user=YES, которая позволяла локального пользователя запереть в его домашней папке. При попытке подцепиться к серверу клиентом вывалилась ошибка:
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
Ааааа!!! Все сломалось, все пропало! Пользователи рвут на волосы на голове и в панических метаниях стукаются лбами, высекая снопы искр из глаз. Эти сполохи и мерцания видны из открытой в коридор двери. Они раздражают. Они мешаю думать. Ладно, что-то я отвлекся, надо спасать мир.
Чего мне только не рассказал про эту проблему Гугель. Раз - можно поправить исходники. Два - поправить описание домашней директории в /etc/passwd file с /home/user на /home/./user. Три - указать опцию local_root=home, что запрет всех пользователей в директории /home.
Нам все это не подходит и мы сделаем иначе. А именно, берем исходники vsftpd-ext, пересобираем (кто не любит может сразу взять готовый пакет или собрать из src.rpm
http://centos.alt.ru/repository/centos/5/SRPMS/) и в итоге получаем чудесную опцию allow_writable_root, которой говорим ДА (allow_writable_root=YES).
Все. Пользователи спасены. А я пошел пить кофе.
(С.)