Настройка FTP: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
(не показано 9 промежуточных версий 5 участников)
Строка 1: Строка 1:
{{Stub}}
{{Stub}}
 
== Настройка FTP ==
=== Настройка FTP ===


В качестве безопасного, быстрого и надёжного FTP-сервера рекомендуется использовать {{prg|vsftpd}}. Обзор этого FTP-сервера можно почитать в ALTM24Doc:ch06s12.html.
В качестве безопасного, быстрого и надёжного FTP-сервера рекомендуется использовать {{prg|vsftpd}}. Обзор этого FTP-сервера можно почитать в ALTM24Doc:ch06s12.html.


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


* Установить пакеты:  
* Установить пакеты:
** {{pkg|vsftpd}}
** {{pkg|vsftpd}}
** {{pkg|anonftp}}
** {{pkg|anonftp}}
Строка 24: Строка 23:
</source>
</source>
* Проверить в браузере:
* Проверить в браузере:
::[ftp://localhost/ ftp://localhost/]
:: [ftp://localhost/ ftp://localhost/]


Неидеальный совет: Чтобы локального пользователя с {{path|/dev/null}} в качестве shell пускало по ftp, нужно добавить {{term|/dev/null}} в {{path|/etc/shells}}.
Неидеальный совет: Чтобы локального пользователя с {{path|/dev/null}} в качестве shell пускало по ftp, нужно добавить {{term|/dev/null}} в {{path|/etc/shells}}.


Настройка межсетевого экрана для FTP, правила {{prg|iptables}}:
Настройка межсетевого экрана для FTP, правила {{prg|iptables}}:
Строка 35: Строка 34:


Облегчающий жизнь модуль ядра (разрешает {{term|RELATED}}):
Облегчающий жизнь модуль ядра (разрешает {{term|RELATED}}):
Прописывается в /etc/net/ifaces/default/fw/iptables/''modules''
<source lang="bash">
<source lang="bash">
modprobe ip_conntrack_ftp
modprobe ip_conntrack_ftp
</source>
</source>
=== Известные проблемы ===
==== Проблемы при переходе по символическим ссылкам ====
Проблемы при переходе по '''''Символическим ссылкам''''' с выводом ошибки «550 Failed to change directory.»<br>
1. Суть. Вам нужно временно разместить на FTP большого размера какую-нибудь информацию. Скинуть прямо в папку невозможно, мало места.<br>
2. Решение. Воспользуйтесь командой '''mount''' с параметром '''--bind'''.<br>
3. Пример.
<source lang="bash">
mount --bind /fileserver/iz_torr/Fiziognomika /var/srv/public/Fiziognomika
размонтировать:
umount /var/srv/public/Fiziognomika
</source>
4. Примечание. Если на долго нужно - тогда прописываем в "fstab".
<source lang="bash">
/var/lib/mysql/db/ /var/ftp/db/ none defaults,bind 0 0
</source>
==== Не пускает внутрь каталогов ====
а также ошибка "500 OOPS: prctl PR_SET_SECCOMP failed"
Варианты причин:
# неправильно установлены права в каталогах.- Дайте права на выполнение каталогам внутри расшаренных ресурсов ftp
# Установленное ядро не поддерживает [https://ru.wikipedia.org/wiki/Seccomp Seccomp] -
Пропишите в /etc/vsftpd
<source lang="text">
seccomp_sandbox=NO
</source>
=== Дополнительная настройка ===
==== Запретить пользователю доступ по SSH ====
Требуется разрешить пользователю доступ по ftp, но запретить доступ по ssh
Добавить в файл {{path|/etc/shells}}, если отсутствует, строку
<source lang="text">
/sbin/nologin
</source>
Изменить в файле {{path|/etc/passwd}} в строке пользователя оболочку для входа на
<pre>/sbin/nologin</pre>


=== Ссылки ===
=== Ссылки ===
Строка 45: Строка 84:
* [http://www.opennet.ru/base/net/vsftpd_setup.txt.html http://www.opennet.ru/base/net/vsftpd_setup.txt.html]
* [http://www.opennet.ru/base/net/vsftpd_setup.txt.html http://www.opennet.ru/base/net/vsftpd_setup.txt.html]
* [http://www.linuxfocus.org/Russian/July2004/article341.shtml http://www.linuxfocus.org/Russian/July2004/article341.shtml]
* [http://www.linuxfocus.org/Russian/July2004/article341.shtml http://www.linuxfocus.org/Russian/July2004/article341.shtml]
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}}

Версия от 08:23, 24 июля 2018

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

Настройка FTP

В качестве безопасного, быстрого и надёжного FTP-сервера рекомендуется использовать vsftpd. Обзор этого FTP-сервера можно почитать в ALTM24Doc:ch06s12.html.

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

  • Установить пакеты:
    • vsftpd
    • anonftp
  • Сделать изменения в файле /etc/xinetd.d/vsftpd
disable   = no      #включает сервис
only_from = 0.0.0.0 #разрешает доступ со всех адресов
  • Перезапустить сервис
service xinetd restart
  • Установить запуск сервиса xinetd при загрузке системы
chkconfig xinetd on
  • Проверить в браузере:
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

Ссылки