Настройка FTP
Настройка FTP
В качестве безопасного, быстрого и надёжного FTP-сервера рекомендуется использовать vsftpd. Обзор этого FTP-сервера можно почитать в документации ALT Linux 2.4 Master.
Инструкция для быстрого старта
- Установить пакеты:
- vsftpd
- anonftp
- Сделать изменения в файле /etc/xinetd.d/vsftpd
disable = no #включает сервис
- Перезапустить сервис
service xinetd restart
- Установить запуск сервиса xinetd при загрузке системы
chkconfig xinetd on
- Проверить, что нужное приложение (в данном случае xinetd) слушает порт:
ss -tlpn|grep "LISTEN.*:21"
- Проверить в браузере:
Неидеальный совет: Чтобы локального пользователя с /dev/null в качестве shell пускало по ftp, нужно добавить /dev/null в /etc/shells.
Настройка межсетевого экрана для FTP, правила iptables:
$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT
$IPTABLES -A INPUT --match state --state RELATED,ESTABLISHED -j ACCEPT
Облегчающий жизнь модуль ядра (разрешает RELATED): Прописывается в /etc/net/ifaces/default/fw/iptables/modules
modprobe ip_conntrack_ftp
Известные проблемы
Проблемы при переходе по символическим ссылкам
Проблемы при переходе по Символическим ссылкам с выводом ошибки «550 Failed to change directory.»
1. Суть. Вам нужно временно разместить на FTP большого размера какую-нибудь информацию. Скинуть прямо в папку невозможно, мало места.
2. Решение. Воспользуйтесь командой mount с параметром --bind.
3. Пример.
mount --bind /fileserver/iz_torr/Fiziognomika /var/srv/public/Fiziognomika
размонтировать:
umount /var/srv/public/Fiziognomika
4. Примечание. Если на долго нужно - тогда прописываем в "fstab".
/var/lib/mysql/db/ /var/ftp/db/ none defaults,bind 0 0
Не пускает внутрь каталогов
а также ошибка "500 OOPS: prctl PR_SET_SECCOMP failed"
Варианты причин:
- неправильно установлены права в каталогах.- Дайте права на выполнение каталогам внутри расшаренных ресурсов ftp
- Установленное ядро не поддерживает Seccomp -
Пропишите в /etc/vsftpd
seccomp_sandbox=NO
Дополнительная настройка
Запретить пользователю доступ по SSH
Требуется разрешить пользователю доступ по ftp, но запретить доступ по ssh
Добавить в файл /etc/shells, если отсутствует, строку
/sbin/nologin
Изменить в файле /etc/passwd в строке пользователя оболочку для входа на
/sbin/nologin
Ссылки
- смотрите документацию в пакете (/usr/share/doc/vsftpd...)
- http://www.opennet.ru/base/net/vsftpd_setup.txt.html
- http://www.linuxfocus.org/Russian/July2004/article341.shtml