Установил я тут на днях себе Ubuntu 11.04, (хотя в принципе от использования Ubuntu хотел отказаться из за этой дурацкой Unity, которую, впрочем, как оказалось, можно просто не использовать, выбрав на экране входа в систему «Классическую Ubuntu») наконец решив свои проблемы с падающим Chrome на Debian 6. А так как для легкого обмена файлами я и на своем компьютере ставлю FTP-сервер, то решил быстренько поднять его по инструкции, которую несколько ранее писал по Debian'у. И вот, когда уже все шаги установки были завершены и оставалось только войти на сервер и убедиться, что он работает, произошла неожиданная ошибка. Сервер отказал в авторизации, не смотря на то, что я использовал правильные данные.
Происходит эта ошибка из за того, что файла pam_userdb.so нет по тому адресу, который мы прописываем в /etc/pam.d/vsftpd. Итак, попытаемся найти, где же он у нас спрятался:
find / -name "pam_userdb.so"
У меня, на 64-х разрядной версии Ubuntu 11.04, этот файл нашелся по адресу /lib/x86_64-linux-gnu/security/pam_userdb.so. Теперь исправляем лживые данные в /etc/pam.d/vsftpd. Вместо:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
Прописываем:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Перезагружаем vsftpd:
sudo /etc/init.d/vsftpd restart
Или в стиле Ubuntu:
sudo service vsftpd restart
P.S. Также немного обновил старую статью.