Настройка FTP

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Настройка FTP

В качестве безопасного, быстрого и надёжного FTP-сервера рекомендуется использовать vsftpd. Обзор этого FTP-сервера можно почитать в документации ALT Linux 2.4 Master.

Инструкция для быстрого старта

  • Установить пакеты:
    • vsftpd
    • anonftp
  • Сделать изменения в файле /etc/xinetd.d/vsftpd
disable   = no      #включает сервис
  • Проверить глобальные настройки xinetd в /etc/xinetd.conf, обратить внимание (возможно закомментировать) строку
only_from = 127.0.0.1
  • Перезапустить сервис
service xinetd restart
  • Установить запуск сервиса xinetd при загрузке системы
chkconfig xinetd on
  • Проверить, что нужное приложение (в данном случае xinetd) слушает порт:
ss -tlpn|grep "LISTEN.*:21"
  • Проверить в браузере:
ftp://localhost/

Неидеальный совет: Чтобы локального пользователя с /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"

Варианты причин:

  1. неправильно установлены права в каталогах.- Дайте права на выполнение каталогам внутри расшаренных ресурсов ftp
  2. Установленное ядро не поддерживает Seccomp -
Пропишите в /etc/vsftpd
seccomp_sandbox=NO

Дополнительная настройка

Запретить пользователю доступ по SSH

Требуется разрешить пользователю доступ по ftp, но запретить доступ по ssh

Добавить в файл /etc/shells, если отсутствует, строку

/sbin/nologin

Изменить в файле /etc/passwd в строке пользователя оболочку для входа на

/sbin/nologin

Ссылки