По-умолчанию, на сервере доступен только суперпользователь root. Подключение с данными root по протоколу FTP невозможно в целях безопасности (используется незашифрованный пароль). Если есть такая необходимость быстрой ручной настройки нового ftp пользователя при отсутствии на сервере панели управления ISPmanager, для этого нужно:

Установка proftpd (если он установлен, пропускаете):

Debian/Ubuntu

apt-get install proftpd  

CentOS

yum install proftpd  

Если сервер не запустился автоматически, для его запуска используйте:

service proftpd start  

Ограничение ftp пользователей пределами домашнего каталога

Данная статья подразумевает работу конфигурацией ProFTPd "по-умолчанию", а в этом случае пользователь может выходить за пределы своего домашнего каталога и, хотя прав на работу с другими папками у него, скорее всего, нет, но при недостаточно строгой конфигурации сервера это может представлять угрозу безопасности. Решить эту проблему можно добавив одну строку в файл proftpd.conf:

DefaultRoot ~  

Добавить ее можно в конец файла. После сохранения, перезапустите ftp сервер:

service proftpd restart  

Создание нового ftp пользователя

Обычным ftp пользователям нет необходимости иметь доступ к командной оболочке. Перед созданием новых пользователей, выполните команду:

echo '/bin/false' >> /etc/shells  

Создайте пользователя:

useradd имя_пользователя -d /home/имя_папки -m -s /bin/false  
passwd имя_пользователя  
  • имя_пользователя нужно заменить на не занятое имя и соответствующую группу, назначили и создали ключ -m можно опустить, если каталог уже существует домашний каталог /home/имя_папки и выбрали /bin/false** в качестве командной оболочки пользователя, тем самым ее отключив в целях безопасности.

  • passwd мы создали пользователю необходимый пароль.

Доступ к командной оболочке (shell)

Если Вы хотите предоставлять пользователю доступ к командной оболочке, то указывайте путь до любой действующей вместо /bin/false, например:

/bin/sh

или

/bin/bash

Пользователям обычного протокола ftp не нужен доступ к shell, поэтому, безопаснее его не предоставлять.

Расположение proftpd.conf

Файл настроек proftpd.conf может располагаться в разных местах, в зависимости от вашей версии ОС:

  • Debian: /etc/proftpd/proftpd.conf

  • CentOS: /etc/proftpd.conf

  • Ubuntu: /etc/proftpd.conf

Ограничение прав ftp пользователя

Если требуется вы можете закрыть права на запись для пользователя, например, в домашнюю директорию и оставить их только для какой-нибудь внутренней папки, например upload:

От имени root измените права:


chmod 555 /home/имя_папки
mkdir /home/имя_папки/upload
chown имя_пользователя:имя_пользователя /home/имя_папки/upload


второе имя_пользователя является именем группы, которое по умолчанию совпадает с созданным вами именем пользователя.

Обновлено 11 февраля 2019 г.