Я только что обновился до Ubuntu 12.04 LTS (Precise Pangolin) с Ubuntu Server 11.10 (Oneiric Ocelot).
Он обновил мою установку vsFTPd, и, похоже, что-то изменилось: / Я использую аутентификацию PAM. Что могло измениться, чтобы вызвать это?
При попытке подключиться к FTP-серверу я получаю эту ошибку:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Я попытался найти его в Google, и он сказал добавить 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
раздела.Ответы:
У меня также есть эта проблема, и я думаю, что это связано с новым обновлением vsFTPd для повышения безопасности, поэтому я пока использую это решение.
Я изменяю папку, в которую входит мой FTP-пользователь, когда он / она впервые входит в систему (корневая папка), используя это в терминале:
sudo chmod a-w /home/user
Вы можете выбрать
/home/user
любую корневую папку вашего пользователя FTP.Создайте подпапку внутри папки, используя графический интерфейс или, если у вас есть только терминал, это:
sudo mkdir /home/user/newfolder
Теперь вы должны быть в состоянии войти и читать записи в «новой папке». Вы НЕ сможете писать в корневую папку с FTP-клиента с помощью chmod aw, так что это причина для подпапки, и там вы можете.
Я думаю, что через некоторое время будет исправление, но я надеюсь, что это поможет.
источник
Кто-то поддержал функцию добавления
allow_writeable_chroot=YES
версии 3.0.0 до 2.3.5 (см. Эту запись в блоге ).Чтобы установить в Ubuntu 12.04 (Precise Pangolin), выполните от имени пользователя root следующие команды:
Обратите внимание, что в vsftpd-ext есть опция
allow_writable_chroot=YES
- обратите внимание на mssing e ! (или это опечатка в блоге?)источник
vsFTPd 3.0.0 добавляет опцию конфигурации,
чтобы снова включить предыдущее поведение (источник: исправление 500 OOPS: vsFTPd: отказ от запуска с доступным для записи корнем внутри chroot () , комментарий Брайана К. Уайта).
К сожалению, 3.0.0 еще не упакован Ubuntu. Так что пока что вернитесь к какой-то более старой версии. Например, я использую этот на Ubuntu 12.04 (Precise Pangolin): http://packages.ubuntu.com/oneiric-updates/vsftpd
источник
Еще один способ сделать это как пользователь Kristian: это работает для меня. Я использую имя пользователя «Джон». Замените его на желаемое имя пользователя.
sudo chmod a-w /home/john
- Удаляет разрешение для всех пользователей на удаление или изменение файла.sudo mkdir /home/john/ftp
- Создает папку с именем «ftp» в домашнем каталоге пользователя «Джон»sudo chown -Rv john.john /home/john/ftp
- Смена владельца каталога на группу «Джон» и пользователя «Джон».источник
Почему?
Взято и адаптировано из моего собственного ответа в баге 1065714 .
Для обеспечения стабильности стабильных выпусков обновления после выпуска рассматриваются только при определенных обстоятельствах. Детали процесса и требуемых критериев перечислены здесь: https://wiki.ubuntu.com/StableReleaseUpdates#When
Из-за этого пользователям релиза LTS сложно иметь доступные для записи chroot, поскольку вышестоящий проект vsftpd решил выпустить без этой функции во время выпуска 12.04. Теперь, когда выпущено 12.04, а исправление не соответствует вышеуказанным критериям, я не думаю, что это изменится для 12.04. Но обратите внимание, что команда стабильных обновлений принимает окончательное решение, и обновление им не предложено.
Если вы хотите, чтобы более новая версия vsftpd была общедоступной для пользователей, которые хотят использовать опцию allow_writeable_chroot, тогда репозиторий backports является подходящим местом для этого. С помощью backport пользователи, которым нужна эта функция, могут просто добавить репозиторий backports и установить оттуда vsftpd. Вы можете узнать больше о бэкпортах и о том, как их заказать, здесь: https://wiki.ubuntu.com/UbuntuBackports
Тем временем, Frontier Group любезно предоставила PPA, как описано в ответе Ламбрика. Или вы можете использовать один из других ответов здесь, который работает для вас.
источник