1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lengchuan-Linux-Tutorial

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
FTP.md 12 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 23:55 959b30e

FTP (File Transfer Protocol) Введение

Установка FTP

  • Проверка установки:

    • CentOS: rpm -qa | grep vsftpd
    • Ubuntu: dpkg -l | grep vsftpd
  • Установка:

    • CentOS 6: sudo yum install -y vsftpd
    • Ubuntu: sudo apt-get install -y vsftpd

Перед использованием FTP необходимо выполнить следующие шаги:

  1. Отключить компонент SELinux на CentOS (в системе Ubuntu такого компонента нет).
  2. Проверить статус включения SELinux: sudo getenforce.
    Существует три состояния, по умолчанию — Enforcing:
    • Enforcing (включено);
    • Permissive (включено, но действует только как предупреждение, это более лёгкое включение);
    • Disabled (отключено).
  3. Временное отключение: команда sudo setenforce 0.
  4. Временное включение: команда sudo setenforce 1.
  5. Постоянное отключение:
    команда sudo vim /etc/selinux/config,
    изменить SELINUX=enforcing на SELINUX=disbaled, после настройки необходимо перезагрузить систему.

Общие параметры конфигурации сервера FTP

Vsftpd по умолчанию поддерживает использование учётных записей Linux для входа (после входа можно увидеть содержимое своего домашнего каталога), права доступа такие же, как у учётной записи Linux. Однако рекомендуется использовать функцию управления виртуальными учётными записями, предоставляемую программным обеспечением, и входить в систему с помощью виртуальной учётной записи.

Конфигурационный файл (не забудьте сделать резервную копию): sudo vim /etc/vsftpd/vsftpd.conf, для старых версий системы: vim /etc/vsftpd.conf.
Основные параметры конфигурации:

  • anonymous_enable=NO — запретить анонимный доступ, изменить на YES, чтобы разрешить анонимный вход;
  • anon_upload_enable=YES — разрешить ли анонимным пользователям загружать файлы;
  • anon_mkdir_write_enable=YES — разрешено ли анонимным пользователям создавать каталоги;
  • local_enable=YES — разрешён ли локальный пользователь, то есть существующий аккаунт Linux, если вам нужен виртуальный аккаунт FTP, вы можете изменить его на NO;
  • write_enable=YES — разрешено ли локальному пользователю иметь разрешение на запись;
  • local_umask=022 — маска локального пользователя;
  • chroot_list_enable=YES — не ограничивать пользователей их домашними каталогами, по умолчанию это комментарий, рекомендуется включить этот параметр, например, для локального пользователя judasn мы можем видеть только /home/judasn, но не можем видеть каталог /home;
  • chroot_list_file=/etc/vsftpd/chroot_list — этот параметр используется вместе с предыдущим параметром. Пользователи, добавленные в этот файл, будут включены в chroot. После настройки пользователи, которые входят в систему, по умолчанию видят свой домашний каталог в качестве корневого каталога.
  • listen=YES — автономный режим;
  • userlist_enable=YES — управление пользователями, если это YES, то включена функция виртуальных учётных записей vsftp, конфигурационный файл виртуальных учётных записей — /etc/vsftpd/user_list;
  • userlist_deny=NO — этого атрибута нет в конфигурационном файле, когда userlist_enable = YES, значение равно YES, пользователи в файле user_list не могут войти в FTP, другие пользователи могут войти, также может действовать как чёрный список. Когда userlist_enable = YES, значение равно NO, пользователи в файле user_list могут войти в систему FTP, а другие пользователи не могут войти, он также может работать как белый список. Если один и тот же пользователь находится как в белом списке, так и в чёрном списке ftpusers, то всё равно будет использоваться чёрный список, соответствующий аккаунт не сможет войти в систему.
  • tcp_wrappers=YES — включить ли управление TCPWrappers.
    Файл конфигурации чёрного списка пользователей FTP: sudo vim /etc/vsftpd/ftpusers, root-пользователь также находится в чёрном списке по умолчанию.
    Контрольный файл конфигурации пользователей FTP: sudo vim /etc/vsftpd/user_list.
    Запуск службы: service vsftpd restart.

Два режима передачи данных vsftpd

Разделены на активный режим (PORT) и пассивный режим (PASV). Эти два режима связаны с некоторыми проблемами портов и, следовательно, с проблемами брандмауэров, поэтому на них следует обратить особое внимание. Активный режим относительно прост, просто откройте порты 21 и 20 на брандмауэре. Пассивный режим требует открытия одного порта в зависимости от ситуации.

Два рабочих режима vsftpd

Разделяются на режим xinetd и автономный режим.
Режим xinetd: xinetd используется в качестве сторожевого процесса FTP, отвечает за мониторинг порта 21, как только внешний запрос инициирует соединение с портом 21, он вызывает основную программу обработки FTP, после завершения соединения основная программа закрывается и освобождает ресурсы памяти. Преимущество заключается в том, что ресурсы используются меньше, подходит для случаев с небольшим количеством подключений к FTP.
Автономный режим: напрямую используйте основную программу FTP в качестве сторожевой программы FTP, отвечающей за мониторинг порта 21. Поскольку нет необходимости проходить через прокси-сервер переднего плана xinetd, скорость отклика выше, подходит для сценариев с большим количеством соединений, но поскольку основная программа FTP остаётся в памяти в течение длительного времени, она потребляет больше ресурсов. Автономный запуск один раз, остаётся в памяти во время работы, преимущество заключается в быстрой реакции на сигналы подключения, недостаток заключается в потреблении определённых системных ресурсов, поэтому он часто применяется в профессиональных FTP-серверах с высокими требованиями к реальному времени.
В отличие от этого, xinetd активирует процесс FTP только тогда, когда поступает внешний запрос на соединение, поэтому он не подходит для систем с большим количеством одновременных подключений. Кроме того, режим xinetd не использует системные ресурсы. Помимо влияния на скорость отклика и использование ресурсов, vsftpd также предоставляет некоторые дополнительные расширенные функции, такие как поддержка ограничения per_IP (для одного IP) в режиме xinetd, в то время как автономный режим более способствует применению функций проверки PAM.
Настройка режима xinetd:

  • отредактируйте файл конфигурации: sudo vim /etc/xinetd.d/vsftpd;
  • измените атрибут на следующую информацию:
    • disable = no;
    • socket_type = stream;
    • wait = no (это означает, что устройство активно и использует стандартные TCP Sockets).
  • Отредактируйте файл конфигурации: sudo vim /etc/vsftpd/vsftpd.conf;
  • Если в этом конфигурационном параметре есть listen=YES, то прокомментируйте его.
    Перезапустите службу xinetd: sudo /etc/rc.d/init.d/xinetd restart.
    Настройте автономный режим:
  • отредактируйте файл конфигурации: sudo vim /etc/xinetd.d/vsftpd;
  • атрибут изменяется на следующую информацию:
    • disable = yes.
  • Отредактируйте файл конфигурации: sudo vim /etc/vsftpd/vsftpd.conf;
  • Атрибут изменяется на следующую информацию:
    • Listen=YES (если он закомментирован, раскомментируйте его).
      Перезагрузите службу: sudo service vsftpd restart.

Ресурсы FTP

http://www.jikexueyuan.com/course/994.html,
http://www.while0.com/36.html,
http://www.cnblogs.com/CSGrandeur/p/3754126.html,
http://www.centoscn.com/image-text/config/2015/0613/5651.html,
http://wiki.ubuntu.org.cn/Vsftpd.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lengchuan-Linux-Tutorial.git
git@api.gitlife.ru:oschina-mirror/lengchuan-Linux-Tutorial.git
oschina-mirror
lengchuan-Linux-Tutorial
lengchuan-Linux-Tutorial
master