vsftpd centos: 500 OOPS: cannot change directory:/home/username

по дефолту включен selinux, который и доставляет проблему, лечится

setsebool -P ftp_home_dir 1
service vsftpd restart

И добавлением одной строки в «vsftpd.conf»:

session_support="YES"

Проблема возникает из-за того, что vsftpd по умолчанию не трогает модули сервиса session в PAM.

Очень подробно описал настройку профессионального фтп-сервера в этой статье.
Гораздо экономнее запускать VSFTPD по требованию от суперсервера XINETD !!!

3 комментария:

  1. Спасибо за наводку, очень помогли с setsebool -P ftp_home_dir 1

    ОтветитьУдалить
  2. Спасибо, работает! Но... Если перенести домашнюю папку ftp-пользователя в другое место, например, /var/ftp/ftpuser, то selinux блокирует запись в папку. Если отключить selinux - все работает. Что надо сказать selinux про эту папку - вы, случайно, не знаете?

    ОтветитьУдалить
  3. используйте команду:

    ls -Z

    а права давать на файлы и папки, командой:

    chcon -t ftp_t filename (к примеру)

    ОтветитьУдалить