vps:administration:proftp

4.4.16. Установка ProFTPd

Чтобы иметь возможность работать с сервером по FTP, нужно установить и настроить на сервере специальное ПО — FTP-сервер. Одним из наиболее популярных и удобных FTP-серверов является ProFTPd.

Для установки FTP-сервера необходимо подключиться к серверу по SSH или VNC, произвести установку программы и отредактировать конфигурационные файлы. В различных дистрибутивах эти операции выполняются по-разному:

* OpenSUSE

  1. Установите Epel-репозиторий:
    yum install epel-release

  2. Установите ProFTPd:

    yum install proftpd

  3. Откройте порты для работы FTP:

    firewall-cmd --permanent --add-port=20-21/tcp
    firewall-cmd --permanent --add-port=40900-40999/tcp 
    firewall-cmd --reload

  4. Установите запуск ProFTPd при старте системы и запустите его:

    systemctl enable proftpd
    systemctl start proftpd

  5. Измените конфигурационный файл ProFTPd.
  6. Добавить пользователя можно командой:

    useradd example -d /var/www -s /sbin/nologin
    passwd example

    Укажите нужные данные:

    • Вместо example укажите имя пользователя FTP-пользователя.
    • Вместо /var/www укажите домашний каталог FTP-пользователя.
    • После выполнения passwd example потребуется дважды ввести пароль FTP-пользователя.

Для установки и настройки ProFTPd нужно выполнить следующие действия:

  1. Произведите установку программы при помощи команды:
    apt-get install proftpd

  2. Измените конфигурационный файл ProFTPd.
  3. Выполните команду:

    echo "/bin/false" >> /etc/shells

  4. Добавьте пользователя для доступа по FTP с помощью команды:

    adduser --home /home/example --shell /bin/false example

    Вместо каталога /home/example в качестве домашнего каталога можно указать каталог /var/www.

    1. После добавления пользователя нужно назначить для него права на редактирование файлов, размещенных в определенных каталогах. Лучше всего ограничить доступ только к файлам сайтов путём выполнения команды:

      chown example -R /var/www

      • example — укажите созданного пользователя ранее.
      • /var/www — укажите каталог, для которого изменяются права доступа (стоит указывать каталог, где размещены файлы сайтов, для возможности их редактирования, по умолчанию это /var/www).

Для установки и настройки ProFTPd нужно выполнить такие шаги:

  1. Выполните команду:
    emerge --ask net-ftp/proftpd

  2. Скопируйте конфигурационный файл, если его не существует, при помощи команды:

    cp /etc/proftpd/proftpd.conf.distrib /etc/proftpd/proftpd.conf

  3. Измените конфигурационный файл ProFTPd.
  4. Установите запуск ProFTPd при старте системы и запустите его:
    1. Для OpenRC нужно выполнить:

      rc-update add proftpd default 
      rc-service proftpd start

    2. Для systemd:

      systemctl enable proftpd
      systemctl start proftpd

  5. Добавьте пользователя для доступа по FTP с помощью команды:

    adduser --home /home/example --shell /bin/false example 

    Вместо каталога /home/example в качестве домашнего каталога можно указать каталог /var/www.

    1. После добавления пользователя нужно назначить для него права на редактирование файлов, размещённых в определенных каталогах. Лучше всего ограничить доступ только к файлам сайтов путём выполнения команды:

      chown example -R /var/www

      • example — укажите созданного ранее пользователя.
      • /var/www — укажите каталог, для которого изменяются права доступа (стоит указывать каталог, где размещены файлы сайтов, для возможности их редактирования, по умолчанию это /var/www).

===== OpenSUSE =====

Для установки и настройки ProFTPd нужно выполнить такие шаги:

  1. Произведите установку сервера путем выполнения команды:
    dnf -y install proftpd 

  2. Измените конфигурационный файл ProFTPd (в отличии от других ОС он находится в /etc/proftpd.conf). В конце файла добавьте строку:

    PassivePorts 21000 21020

  3. Установите запуск ProFTPd при старте системы и запустите его:

    systemctl enable proftpd
    systemctl start proftpd

  4. Произведите настройку SElinux (если присутствует) и файрвола, выполнив команды:

    setsebool -P ftp_home_dir=1
    setsebool -P allow_ftpd_full_access=1
    #Настройки Firewall
    firewall-cmd --permanent --add-port=21/tcp
    firewall-cmd --add-port=21000-21020/tcp --permanent
    firewall-cmd --reload

  5. Создайте пользователя при помощи:

    useradd example -d /var/www -s /sbin/nologin
    passwd example

    Укажите нужные данные:

    • Вместо example укажите имя пользователя.
    • Вместо /var/www укажите домашний каталог.
    • После выполнения passwd example потребуется дважды ввести пароль для пользователя.

  1. Отредактируйте файл конфигурации FTP-сервера:
    nano /etc/proftpd/proftpd.conf

    Измените строки:

    • ServerName — укажите имя сервера.
    • ServerType — укажите режим запуска:
      • standalone — автоматический запуск при старте системы (по умолчанию).
      • inetd — исключительно ручной запуск.
    • # DefaultRoot — уберите символ # в начале строки. Данный параметр указывает доступ к каталогу по умолчанию. Для определения доступа по умолчанию к каталогу пользователя, нужно указать значение ~.
    • Добавьте строку UseReverseDNS off перед строкой # Use this to jail all users in their homes (по умолчанию 34 строка).
    • Проверьте файл конфигурации на корректность после сохранения, выполнив:

      proftpd -t

  2. Перезапустите сервер ProFTPd:

    /etc/init.d/proftpd restart
  • vps/administration/proftp.txt
  • Последние изменения: 2019/09/13 13:12
  • — karlov