Решение ошибки ProFTPd «unable to open passwd file»

Заметил однажды в файле /var/log/proftpd/proftpd.log следующую ошибку:

error: unable to open passwd file ‘/etc/proftpd/ftpd.passwd’: Отказано в доступе

Как оказалось, права на файл были 440 и владельцем и группой указано — root
Посмотрим в файле /etc/proftpd/proftpd.conf, от какого пользователя работает ProFTPd, по умолчанию от пользователя proftpd:

User proftpd
Group nogroup

На всякий случай укажем верные права на файлы (если они другие, то ProFTPd может не запустится):

sudo chmod 440 /etc/proftpd/ftpd.passwd
sudo chmod 440 /etc/proftpd/ftpd.group

И укажем на файлы владельца под которым работает ProFTPd (допустим по умолчанию от proftpd, группу оставим root):

sudo chown proftpd.root /etc/proftpd/ftpd.group
sudo chown proftpd.root /etc/proftpd/ftpd.passwd

При необходимости перезапустим ProFTPd:

sudo service proftpd restart

После этого можно подключится к ProFTPd, ошибки не должно быть.

Смотрите также мою статью:
Настройка ProFTPd с виртуальными пользователями в файле

Настройка записи видео на FTP сервер с IP-камер и DVR Dahua

Настроил недавно очередную IP-камеру Dahua DH-IPC-HFW1320SP-W и решил использовать для записи FTP сервер.
Так как меню в основном одинаково на камерах и видеорегистраторах Dahua, то настраивается запись на FTP аналогично.

Откроем интерфейс устройства, например набрав в браузере IP-адрес.
Откроем вкладку «Setting», потом «Storage» — «Destination», во вкладке «Path», где «Motion Detection» и «Alarm», я отметил галочками FTP, кстати выбрать можно было только что-то одно, либо «Local (запись на карту памяти или HDD)», «FTP» либо «NAS». После выбора жмем «Save» чтобы сохранить изменения.

Теперь осталось перейти во вкладку «FTP», поставить галочку на «Enable» и указать параметры подключения в «Server Address», «Username», «Password» и нажать «Save» для сохранения изменений.

После этого устройство начало писать видео на FTP сервер в mp4 формате, однако просмотреть записи в истории через мобильное приложение и интерфейс камеры было нельзя.
Файлы на FTP сортируются в папки по дате и времени, как вариант видео можно просмотреть через любой FTP клиент с компьютера или телефона, если камера пишет на движение, то соответственно если нет движения, то не будет папок и записей.

Обязательно! В меню «Storage» — «Record Control» нужно выбрать «Stop» в «Disk Full», если будет выбрано «Overwrite», то после перезапуска камеры, в моем случае, удалялись все записи с FTP сервера.

Если FTP сервер запущен на Linux, то можно например добавить в Cron команду которая будет удалять директории старее 30 дней, чтобы не переполнился диск:

find /srv/ftp/ipcam/SNCAM/ -type d -mtime +30 -exec rm -rfv {} \; >> /srv/ftp/ipcam/remove.log

Смотрите также мои статьи:
Использование и настройка CRON
Программы для просмотра видео с DVR видеорегистраторов
Установка и настройка ProFTPd в Ubuntu
Установка и настройка Pure-FTPd в Ubuntu
Настройка FTP-сервера в Windows Server 2008 R2
Настройка FTP сервера на MikroTik Router OS

Настройка FTP-сервера в Windows Server 2008 R2

На тесте выполню настройку FTP-сервера в Windows Server 2008 R2.

Откроем «Диспетчер сервера», его можно найти в меню «Пуск» — «Администрирование».

Если установлена роль «Веб-сервер (IIS)», то выберем её и ниже нажмем «Добавить службы ролей» (не Добавить роли) отметим галочкой «FTP-Сервер» нажмем «Далее» и «Установить».

Если роль «Веб-сервер (IIS)» не установлена, то в «Роли» нажмем «Добавить роли», выберем «Веб-сервер (IIS)», снимем галочки с ненужных компонентов и отметим «FTP-Сервер», потом нажмем «Далее» и «Установить».

Откроем «Диспетчер служб IIS», нажмем «Добавить FTP сайт…», укажем любое имя и путь к директории где будут храниться данные, в следующем окне укажем каким пользователям разрешено подключаться.

Слева выберем созданный FTP сайт, откроем «Проверка подлинности FTP» и активируем «Обычная проверка подлинности».

На этом основная настройка FTP-сервера закончена и к нему можно подключаться.

Смотрите другие мои статьи на тему Windows Server.

Настройка ProFTPd с использованием MySQL базы данных пользователей

Допустим есть установленный ProFTPd сервер, например как я описывал в этой статье — Установка и настройка ProFTPd в Ubuntu
А также установлен MySQL сервер, например как я описывал в этой статье — Установка и настройка MySQL сервера на Ubuntu

Приведу пример настройки ProFTPd с использованием MySQL базы данных пользователей.

Читать далее Настройка ProFTPd с использованием MySQL базы данных пользователей

Настройка ProFTPd с виртуальными пользователями в файле

Допустим есть установленный ProFTPd сервер, например как я описывал в этой статье — Установка и настройка ProFTPd в Ubuntu

Далее опишу процесс настройки ProFTPd с виртуальными пользователями в файле.

Читать далее Настройка ProFTPd с виртуальными пользователями в файле

Активный и пассивный режим работы FTP

FTP может работать как в активном режиме так и в пассивном.

В активном режиме клиент выполняет управляющее соединение с сервером, а сервер выполняет соединение с клиентом для передачи данных.
В пассивном управляющее соединение и соединение для передачи данных выполняет сам клиент.

Под управляющим соединением имеется ввиду аутентификация и передача команд.
Управляющее соединение выполняется клиентом в обеих случаях одинаково, со стороны клиента с динамического TCP порта 1024-65535 на порт сервера 21.

В активном режиме после управляющего соединения от клиента, FTP-сервер подключается к динамическому порту клиента 1024-65535 со своего TCP порта 20 для передачи данных.
В пассивном режиме после управляющего соединения от клиента, FTP-сервер сообщает клиенту номер динамического TCP порта 1024-65535 к которому можно подключится клиенту для передачи данных.

Установка и настройка Pure-FTPd в Ubuntu

На момент написания статьи буду делать тестовую установку на Ubuntu Server 14.04.3 LTS.

Первым делом выполним установку pure-ftpd набрав команду:

sudo apt-get install pure-ftpd

Создадим пользователя и группу от которого будет работать наш FTP-сервер:

sudo groupadd ftpgroup
sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Создаем директорию для хранения файлов виртуальных пользователей:

sudo mkdir /home/ftpuser/
sudo chown -R ftpuser:ftpgroup /home/ftpuser

Активируем использование виртуальных пользователей:

sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure

Приведу пример создания первого виртуального пользователя, например с именем test:

sudo mkdir /home/ftpuser/test
sudo chown -R ftpuser:ftpgroup /home/ftpuser/test
sudo pure-pw useradd test -u ftpuser -d /home/ftpuser/test

Чтобы пользователь мог переходить за пределы указанного каталога используем параметр -D /home/ftpuser/test.

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

man pure-pw

Просмотр информации о пользователе:

sudo pure-pw show ИМЯ

Пример смены пароля:

sudo pure-pw passwd ИМЯ -m

Обновление параметров пользователя:

sudo pure-pw usermod ИМЯ ОПЦИИ -m

Удаление пользователя:

sudo pure-pw userdel ИМЯ -m

Просмотр списка существующих пользователей:

sudo pure-pw list

Просмотр активности пользователей:

sudo pure-ftpwho

Применим сделанные изменения командой ниже либо перезапустим pure-ftpd:

sudo pure-pw mkdb
sudo service pure-ftpd restart

Отключить всех от сервера можно командой:

sudo killall pure-ftpd

Остановить/запустить сервер можно так:

sudo service pure-ftpd stop
sudo service pure-ftpd start

Файлы конфигурации будут находится в директории /etc/pure-ftpd/conf/, причем каждый параметр в отдельном файле, их можно редактировать любым текстовым редактором.

Чтобы изменить порт например, нужно создать файл Bind в директории /etc/pure-ftpd/conf/ и указать в нем номер порта или IP:ПОРТ на котором должен работать Pure-FTPd.
Чтобы предотвратить переполнение диска, можно создать файл MaxDiskUsage и указать в нем например 70, чтобы блокировать передачу данных если диск заполнен более 70%.

Смотри также мои статьи:
IPTables правила для FTP сервера
Активный и пассивный режим работы FTP
Установка и настройка ProFTPd в Ubuntu

Настройка FTP сервера на MikroTik Router OS

Обычно FTP сервер на MikroTik Router OS включен и использует для связи 20 и 21 порты.
Тип подключения без шифрования, логин и пароль такой же как на доступ к mikrotik.

Подключится можно набрав а адресной строке браузера ip-адрес маршрутизатора:
ftp://192.168.88.1

Через графический интерфейс FTP сервис выключается и включается в «IP» — «Service»

Через командную строку:

ip service disable номер_сервиса
ip service enable номер_сервиса

Просмотр списка сервисов:

ip service print

Посмотреть информацию о файлах можно выполнив команду:

file print detail
disk print detail

Установка и настройка ProFTPd в Ubuntu

ProFTPd — FTP-сервер для Linux и UNIX-подобных операционных систем.

Команда установки в Ubuntu:

sudo apt-get install proftpd

Во время установки нужно будет выбрать режим запуска:
(standalone — самостоятельно, то есть автоматически будет грузится при запуске системы или inetd — вручную)

После этого к FTP серверу уже можно подключатся используя логины и пароли системных пользователей.
По умолчанию пользователи могут подниматься выше уровня своей домашней директории, то есть получить доступ к файлам системы.

Для более детальной настройки откроем файл конфигурации ProFTPd в любом текстовом редакторе:

sudo nano /etc/proftpd/proftpd.conf

Укажем имя сервера:

ServerName "Debian"

Запретим пользователям ходить выше своего домашнего каталога (если указать конкретную директорию и разместить в ней директории других пользователей, то они смогут видеть файлы других пользователей):

DefaultRoot ~

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

Port 21

Запретим подключаться к серверу пользователю root:

RootLogin off

Разрешаем продолжать закачку файлов:

AllowStoreRestart on

После редактирования файла конфигурации, проверим его на корректность:

sudo proftpd -t

Перезагрузим ProFTPd чтобы применить новые настройки:

sudo /etc/init.d/proftpd restart

Посмотреть версию ProFTPd можно так:

proftpd -v

Логи сохраняются в директорию /var/log/proftpd/.
При установке автоматически создается директория /srv/ftp/, которую можно использовать для расположения директорий пользователей.

Если что-то не получается, то можно остановить и запустить ProFTPd в режиме отладки, после чего вся подробная информация о работе будет выводится на экране (выйти из этого режима можно клавишами CTRL+C):

sudo /etc/init.d/proftpd stop
sudo proftpd -nd6

Смотри также мои статьи:
IPTables правила для FTP сервера
Настройка ProFTPd с виртуальными пользователями в файле
Настройка ProFTPd с использованием MySQL базы данных пользователей
Активный и пассивный режим работы FTP
Установка и настройка Pure-FTPd в Ubuntu