Налаштовуємо штатний ftpd для FreeBSD 9.0 RELEASE.
Додаємо групу і користувача ftp. Відкриваємо файл / etc / group - додаємо групу ftp.
Файл /etc/master.passwd - додаємо користувача ftp.
Оновлюємо базу користувачів вручну.
Створюємо домашній каталог користувача для анонімного ftp доступу якщо необхідно.
Міняємо власника і права.
Додаємо в /etc/rc.conf наступні рядки для запуску в режимі демона.
перевіряємо що вийшло.
Другий спосіб - через inetd - по факту не використовується. У /etc/rc.conf додаємо
і раскоментіруем рядок в файлі /etc/inetd.conf
Але пам'ятаємо - проблеми з налаштуванням пасивного режиму роботи - актуально якщо необхідно обслуговувати з'єднання через NAT.
Додаткові ключі ftpd.
-4 Коли вказана опція -D, приймати з'єднання через сокет AF_INET.
-6 Коли вказана опція -D, приймати з'єднання через сокет AF_INET6.
-8 Дозволити прозорий режим UTF-8. Клієнти, сумісні зі стандартом RFC 2640 сповіщаються про використання сервером символів в кодуванні UTF-8. Ця опція не включає будь-які перекодування імен файлів сервера; це працює для імен файлів сервера, закодованих в UTF-8. При викачування (upload) файлів на FTP включається для клієнтів, сумісних з RFC 2640, перекодування з локальної кодування клієнта в UTF-8. FTP команди і власні повідомлення ftpd в будь-якому випадку кодуються в ASCII, який є підмножиною UTF-8. Отже, тут не потрібна перекодування на сервері.
-A Дозволяється тільки анонімний доступ до ftp.
-D Коли вказана ця опція, ftpd від'єднується від консолі і стає демоном, які приймають з'єднання через порт FTP і породжує (forking) дочірні процеси для підтримки запитів. Це забезпечує менші витрати ресурсів в порівнянні з запуском ftpd через inetd (8) і корисно для застосування на навантажених серверах для зменшення навантаження.
-d Отладочная інформація буде записуватися в лог з ізпользованія LOG_FTP.
-E Заборонити команду EPSV. Це добре застосовувати для серверів за файерволом.
-h Заборона виведення в повідомленнях сервера інформації, специфічної для хоста, такий як версія ПО сервера або ім'я хоста.
-l Кожна успішна і помилкова ftp (1) сесія записується через syslog LOG_FTP. Якщо ця опція вказана двічі, то запісиватся команди retrieve (get), store (put), append, delete, make directory, remove directory і операції rename разом з іменами файлів і аргументами. За замовчуванням, syslogd (8) записує ці повідомлення в / var / log / xferlog.
-M Запобігає створення анонімними (anonymous) користувачами директорій.
-m Дозволяє анонімним користувачам перезаписувати або модифікувати існуючі файли, якщо це дозволено правами файлової системи. За замовчуванням anonymous не може модифікувати існуючі файли; зокрема, файли для вивантаження на сервер (upload) повинні створюватися з унікальними іменами.
-O Перекладає сервер а режим write-only тільки для anonymous. Команда RETR заборонена для anonymous, що запобігає анонімні завантаження (downloads) з сервера. Не дає ефекту, якщо також вказана опція -o.
-o Перекладає сервер а режим write-only. Команда RETR заборонена для всіх, що запобігає завантаженню інформації з сервера.
-P Коли вказана опція -D, отримує підключення на зазначеному порту, зазначеному як числова величина або ім'я сервісу, замість порту «ftp» за замовчуванням.
-p Коли вказана опція -D, записує файл process ID в зазначений файл замість pid-файлу за замовчуванням /var/run/ftpd.pid.
-R Коли вказана ця опція, ftpd повертається до історичного поведінки по відношення до перевірок безпеки операцій користувачів і обмеженням за запитами PORT. На даний момент ftpd підтримує тільки команди PORT, спрямовані на непривілейованих порти для віддалених користувачів хоста (які порушують специфікацію протоколу FTP, проте закривають деякі дірки в безпеці).
-r Перекладає сервер з режим read-only (тільки для читання). Всі команди, які можуть модифікувати файлову систему, заборонені.
-S Коли вказана ця опція, ftpd пише в лог / var / log / ftpd все завантаження файлів anonymous, якщо цей файл логу існує.
-T Клієнт може також вимагати отлічеющійся період часу очікування; максимально дозволений період часу очікування, який може бути встановлений, задається опцією -T в секундах. Ліміт за умовчанням 2 години.
-t Таймаут неактивності в секундах (за замовчуванням 15 хвилин).
-U Ця опція інструктує ftpd використовувати порти даних в діапазоні IP_PORTRANGE_DEFAULT замість IP_PORTRANGE_HIGH. Ця зміна корисно для деяких специфічних змін Фаєрвол; см. ip (4) для додаткової інформації.
Звертаємо увагу, що ця опція є віртуальною і не працює на FreeBSD 5.0 вище; обидва діапазону портів на них за замовчуванням ідентичні.
-u Маска створення режиму файлу за замовчуванням (file creation mode mask) встановлюється в umask, яка очікується в вісімковій числовий величиною. Див. Umask (2) для деталей. Ця опція може бути переінстальовано (заборонена) через login.conf (5).
-W Забороняється записувати в лог / var / log / wtmp сесії FTP.