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

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


=== Настройка FTP ===
В качестве безопасного, быстрого и надёжного FTP-сервера рекомендуется использовать {{prg|vsftpd}}. Обзор этого FTP-сервера можно почитать [http://docs.altlinux.org/ru-RU/archive/2.4/html-single/master/alt-docs-master/ch06s12.html в документации ALT Linux 2.4 Master].


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


* Установить пакеты:
* Установить пакеты:
Строка 13: Строка 12:
<source lang="ini">
<source lang="ini">
disable  = no      #включает сервис
disable  = no      #включает сервис
only_from = 0.0.0.0 #разрешает доступ со всех адресов
</source>
</source>
* Проверить глобальные настройки {{prg|xinetd}} в файле {{path|/etc/xinetd.conf}}, обратить внимание (возможно закомментировать) на строку
only_from = 127.0.0.1
* Перезапустить сервис
* Перезапустить сервис
<source lang="bash">
<source lang="bash">
Строка 23: Строка 23:
chkconfig xinetd on
chkconfig xinetd on
</source>
</source>
* Проверить, что нужное приложение (в данном случае xinetd) слушает порт:
ss -tlpn|grep "LISTEN.*:21"
* Проверить в браузере:
* Проверить в браузере:
:: [ftp://localhost/ ftp://localhost/]
:: [ftp://localhost/ ftp://localhost/]
Строка 35: Строка 37:


Облегчающий жизнь модуль ядра (разрешает {{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>
=== Известные проблемы ===
==== Проблемы при переходе по символическим ссылкам ====
Проблемы при переходе по '''''Символическим ссылкам''''' с выводом ошибки «550 Failed to change directory.»<br>
1. Суть. Вам нужно временно разместить на FTP большого размера какую-нибудь информацию. Скинуть прямо в папку невозможно, мало места.<br>
1. Суть. Вам нужно временно разместить на FTP большого размера какую-нибудь информацию. Скинуть прямо в папку невозможно, мало места.<br>
2. Решение. Воспользуйтесь командой '''mount''' с параметром '''--bind'''.<br>
2. Решение. Воспользуйтесь командой '''mount''' с параметром '''--bind'''.<br>
Строка 45: Строка 50:
<source lang="bash">
<source lang="bash">
mount --bind /fileserver/iz_torr/Fiziognomika /var/srv/public/Fiziognomika
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>
</source>
4. Примечание. Если на долго нужно - тогда прописываем в "fstab". А демонтировать командой: ''umount /var/srv/public/Fiziognomika''
 
=== Дополнительная настройка ===
==== Запретить пользователю доступ по SSH ====
Требуется разрешить пользователю доступ по ftp, но запретить доступ по ssh
 
Добавить в файл {{path|/etc/shells}}, если отсутствует, строку
<source lang="text">
/sbin/nologin
</source>
 
Изменить в файле {{path|/etc/passwd}} в строке пользователя оболочку для входа на
<pre>/sbin/nologin</pre>


=== Ссылки ===
=== Ссылки ===
* [http://gentoo-wiki.com/HOWTO_vsftpd http://gentoo-wiki.com/HOWTO_vsftpd]
* смотрите документацию в пакете (/usr/share/doc/vsftpd...)
* смотрите документацию в пакете (/usr/share/doc/vsftpd...)
* [http://www.linuxcenter.ru/lib/articles/soft/vsftpd_setup.phtml http://www.linuxcenter.ru/lib/articles/soft/vsftpd_setup.phtml]
* [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}}}}

Текущая версия от 12:22, 8 ноября 2022

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

Ссылки